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 PortValue
that is a pair of
(
,
) where
can be an instance of either
InputPort
class or OutputPort
class, while
is an instance of any derived class of the basic class
object
of C#. SRTEngine
is a scalable real-time
engine which runs a DEVS instance inside.
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 PortValue
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 classes in Section 2.4.