Next: Distributed
Implementation Up: Software Architecture Previous: Software Architecture
The implementation of SIMLAB can be divided into the following
software elements.
- Utilities
is a collection of functions and classes convenient to all programs in
the simulation laboratory (e.g. random number generators,
simulation clock, etc.).
- Motif Wrapper
includes the base classes for building the graphical user interface.
Some of these classes are developed using the Silicon Graphics IRIS
ViewKit library.
- GDS Wrapper consists of several classes that load and
draw GDS
objects.
- Interprocess Communication (IPC) Wrapper is the interface
for communication between modules. The current system is implemented
using PVM [Geist et al.(1994)].
- General Road Network contains the implementation of
various network objects, including the base classes for network,
nodes, links, segments, lanes, sensors, signals and signs, toll
booths, etc. Some of these classes also have a derived drawable
equivalent to provide geometric information necessary for drawing the
objects.
- Drawable Road Network consists of classes derived from
the base network objects. It provides additional information and
methods for drawing network objects. It also contains base classes
for graphical objects (e.g., windows, drawing area, mouse and key
interactors, etc.) common to all SIMLAB simulators.
- Information Network contains the classes that implement
information and models used for vehicle routing. Examples are link
travel time table, graph representation of the network and shortest
path calculation, static and dynamic routes, etc.
- Surveillance System and Traffic Controllers are classes
that implement surveillance modules and signal controllers common to
most traffic management systems.<
LI>OD Trip Table consists of classes that implement the time
dependent OD flows and methods for generating vehicles.
- Vehicle Trip Table is a class that reads input data on
trip information for individual vehicles scheduled at
particular departure times.
FLEX, a lexical analyzer generator [Levine et al.(1992)], and BISON++, a parser
generator, are used in developing the parsers for reading various data
files (e.g., network database, OD tables, signal plans, parameters
files, etc. See Appendix F). Based on the
grammar that specify the format of a particular input data file, the
C++ code required to read the data is generated by FLEX and BISON++.
Next: Distributed
Implementation Up: Software Architecture Previous: Software Architecture
Qi Yang
Wed Feb 26 19:17:06 EST 1997