next up previous contents index
Next: 1.4 Research Focus Up: 1.3 The DEVS Formalism Previous: 1.3.1 Atomic DEVS   Contents   Index

1.3.2 Coupled DEVS


Table 1.2: Coupled DEVS $<X_{self},Y_{self},D,\{M_{i}\},\{I_{i}\},\{Z_{i,j}\},select>$
$X_{self}$ a set of admissible external inputs
$Y_{self}$ a set of possible outputs
$D$ a set of unique component references
$\{M_{i}\vert i\in D\}$ a set of components
$I_{i},i\in D$ a set of influencees of component $i$
$\{Z_{i,j}\}$ a set of output-to-input translation functions
$select:2^{D}\to D$ the select function


As the coupling of one or more Atomic DEVS', a Coupled DEVS is a tuple

\begin{displaymath}
<X_{self},Y_{self},D,\{M_{i}\},\{I_{i}\},\{Z_{i,j}\},select>
\end{displaymath}

as described in Table 1.2.

$M_i$ (where $i\in D$) is an Atomic DEVS as one of the Coupled DEVS' components. Its output is connected to the input of its influencees $I_i$ (a set). Every output signal of component $i$ is translated by the $Z_{i,j}$ function before it reaches an input of component $j$.

It is possible that internal transitions in different components occur at exactly the same time. The virtual time is not advanced until all these events at the same time are handled. The order in which the events are handled is important, because the change of state caused by a transition may affect the behavior of subsequent transitions, though they are triggered at the same virtual time. The $select$ function decides which transition must be triggered first when a conflict occurs.

DEVS is closed under coupling by construction. A Coupled DEVS can be rewritten as an equivalent Atomic DEVS, and thus be reused as a component in a larger DEVS. The outside world need not know whether a DEVS component is atomic or coupled, because both kinds expose the same interface.


next up previous contents index
Next: 1.4 Research Focus Up: 1.3 The DEVS Formalism Previous: 1.3.1 Atomic DEVS   Contents   Index
Thomas Huining Feng 2004-04-28