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.