Information Technology Reference
In-Depth Information
«interface»
SimulatorEvent
+getTimePoint() : TimePoint
EventEvent
ActionStartEvent
ActionEndEvent
Figure 9.9: Class diagram of simulator events used by event-driven simu-
lation engines.
ations as well as a multi-threaded implementation of a simulation
engine are shown in Figure 9.8. Even if a simulation engine is realized
as a distributed system it appears to the user as a single system
providing the rather simple interface Simulator .
9.3.1 Single-threaded event-driven simulation engine
A single-threaded event-driven simulation engine possesses two main
characteristics:
The simulation engine is single-threaded , i. e., it makes no use of
eventually possible execution of multiple threads at the same time.
The simulation engine is event-driven , i.e., the simulation is always
advanced to the point in time when the next event happens without
considering the time in between.
Given these two main characteristics, this simulation engine is con-
sidered the easiest possible implementation of a simulation engine
adhering to the definitions of the GRAMS reference model.
As already mentioned in Section 6.5, it is important to distinguish
precisely between two different types of events: In the first case,
events are part of a model (see Section 6.5). The second type of
events, simulator events , is used by a simulation engine for controlling
the execution of a simulation. Figure 9.9 shows the simulator events
used by this event-driven simulation engine. The following mapping
is used from events and actions of a model to simulator events:
Search WWH ::




Custom Search