|
Compiling High-level Access Interfaces for Multi-site Software (CHAIMS)
|
|
Implementation of the Transportation example in CORBA (orbix)
The CORBA implementation of the Transportation example can be found
in:
As the C++ version it consists of 5 Megamodules:
- io: handles input and output
- routeinfo: it has two functions
- it looks up all possible routes from a file called routes. A list of
routes does not contain any information about the transportation type (air
or ground). The result is of the following type:
san-fransisco,san-jose,new-york
- it splits a given list of routes into a list of unique city pairs.
For the example above it would be:
san-fransisco,san-jose
san-jose,new-york
- air: looks up the air ost for city pairs
- it takes a list of city pairs and looks up the cost for each connection
in a file called airRoutes. The output is a list of city pairs where the
cost to take a plane for this connection is attached after the pair.
- ground: looks up the ground cost for city pairs (see air)
- bestroute: finds out which the best route is regarding the costs
from air and ground
- it takes the route information from routeinfo and the cost information
from air and ground to compute the best route.
Every module is implemented as a different server. The servers are registered
under the following names to the orbix demon:
- ioMegamodule for io
- RouteinfoMM for routeinfo
- AirMM for air
- GroundMM for ground
- BestrouteMM for bestroute
There exists a small client for every module, in order to make testing
simpler. In order to solve the transportation problem you have to run all
servers. A client called allClient does this. It does the same job than
the megaprogram in the C++ implementation.
In order to run it you have to be on whale and you have to set some
environment variables:
- setenv LD_LIBRARY_PATH/local/orbix/lib
- setenv MANPATH/local/orbix/man
- setenv PATH/local/orbix/bin:$PATH
Then you can run it by just typing: allClient
The two cities between the route is computed is hard coded for now.
3/27/97 Meikel Poess