Go back to Home


IBMF

Basic concepts

This framework utilizes the Gillespie method, and is thus based on events. The two basic concepts of this framework are:

  • Agents: these are entities that define the states, in addition they own and respond to events that can change their states. They are defined by the SimAgent class and their subclasses.
  • Events: these are entities that can signal an agent and change their states. They are defined by the SimSchedule class and its subclasses.

Event logging

All the state changes are logged by their corresponding events. These events are passed to an event logger, defined by the SimLogger class and its subclasses, when handles the recording and filtering of the events.

The actual logging of an event is handled by SimEventLogger and its subclasses. These classes register themselves to the SimLogger class, and tells it which types of events they can handle and log.

The simulation process

All agents are kept and registered by a simulation process, defined by the SimProcess class. This class is responsible for logging and actual dispatching of the events.

Utilities

We define some random distribution classes, defined by SimDistribution and its subclasses. There are a couple files supporting these classes, that defines some special random number generators.