As we reviewed in Chapter 1, two DEVS
models called atomic DEVS and coupled DEVS have common features
such as input and output event interfaces as well as time features
such as current time, elapsed time, schedule time and so on. In
DEVS++, these common features have been captured by a base class,
called Devs from which the class Atomic (for atomic
DEVS) and the class Coupled (for coupled DEVS) are derived.
In DEVS++, an event is a pair of (
,
) where
can be an instance of either InputPort class or
OutputPort class, while
is an instance of a derived
class of Value class such as bValue and
tmValue. SRTEngine is a scalable real-time engine
which runs a DEVS instance inside. rv is a class for a
random variable.
In Figure 2.1, a
box indicates a concrete
class which can be created as an instance, while a
box is
an abstract class which can not be created as an instance.
We will first go through the PortValue class and its
related classes
in Section 2.1. Next, Devs class and
its derived two classes: Atomic and Coupled will be
investigated in Section 2.2, Section
2.3 will introduce a simulation engine class,
called SRTEngine. And finally, We will see the random
number generator rv in Section 2.4.