next up previous contents
Next: Distributed Implementation Up: Software Architecture Previous: Software Architecture

Software Elements

The implementation of SIMLAB can be divided into the following software elements.

  1. Utilities is a collection of functions and classes convenient to all programs in the simulation laboratory (e.g. random number generators, simulation clock, etc.).
  2. 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.
  3. GDS Wrapper consists of several classes that load and draw GDSgif objects.
  4. Interprocess Communication (IPC) Wrapper is the interface for communication between modules. The current system is implemented using PVM [Geist et al.(1994)].
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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 up previous contents
Next: Distributed Implementation Up: Software Architecture Previous: Software Architecture

Qi Yang
Wed Feb 26 19:17:06 EST 1997