Part II. Event-Based Simulation

Event-Based Simulation (ES) is the most fundamental form of Discrete Event Simulation (Pegden 2010). The ES paradigm has been pioneered by SIMSCRIPT (Markowitz, Hausner & Karr 1962) and later formalized by Event Graphs (Schruben 1983).

ES uses state variables for modeling a system’s state and event scheduling with a Future Events List for modeling its dynamics. An implementation-agnostic definition of ES is provided by Event Graphs, which define graphically how an event triggers

  1. (possibly conditional) state changes (in the form of variable value assignments) and
  2. (possibly conditional) follow-up events.

According to Pegden (2010), in ES, the system under investigation is viewed as a series of instantaneous events that change its state over time. The modeler “defines the events in the system and models the state changes that take place when those events occur”. More precisely, the modeler defines the types of events that cause state changes and/or follow-up events.

Pegden also explains that in ES,

  1. a simulation creates events that are supposed to occur in the future (called future events),
  2. future events are scheduled (using an event scheduling mechanism),
  3. time advances to the time of the next event (next-event time progression),
  4. the series of events corresponds to a sequence of state transitions of a transition system where the “transition logic” of each event type is specified in the form of a procedure definition (often called event routine).

Event routines can be expressed in a programming-language-independent way using pseudo code as in (Pegden 2010), or in a (simulation) programming language. In an object-oriented programming approach, it is natural to define an event routine as a method of the class defining the event type.

Pegden does not make any attempt to clarify the philosophical nature of (types of) events and their “transition logic”. Philosophically, (1) all events have participants, which are the objects that participate in them; (2) the combination of an event type and its event routine results in an event rule of the form

ON event PERFORM state changes SCHEDULE follow-up events

representing a causal regularity.

Basic Object Event Simulation (OES) extends ES, or Event Graphs, by adding the modeling concepts of objects and event rules.