
Simulation Algorithms for Coupled DEVS
Encyclopedia
Given a coupled DEVS model, simulation algorithms are methods to generate the model's legal behaviors, which are a set of trajectories not to reach illegal states. (see behavior of a Coupled DEVS
model.) [Zeigler84] originally introduced the algorithms that handle time variables related to lifespan
and elapsed time
by introducing two other time variables, last event time,
, and next event time
with the following relations: 
and

where
denotes the current time. And the remaining time,

is equivalently computed as

, apparently
.
Based on these relationships, the algorithms to simulate the behavior of a given Coupled DEVS are written as follows.
Variables:
parent // parent coordinator
: // time of last event
: // time of next event
// the associated Coupled DEVS model
when receive init-message(Time t)
for each
do
send init-message(t) to child
;
;
when receive star-message(Time t)
if
then
error: bad synchronization;

send star-message(t)to
;
;
when receive x-message(
, Time t)
if
and
false then
error: bad synchronization;
for each
do
send x-message(
,t) to child 
;
;
when receive y-message(
, Time t)
for each
do
send x-message(
,t) to child 
if
then
send y-message(
, t) to parent;
;
;
See also
Behavior of Coupled DEVS
DEVS is closed under coupling [Zeigper84] [ZPK00]. In other words, given a coupled DEVS model N , its behavior is described as an atomic DEVS model M...
model.) [Zeigler84] originally introduced the algorithms that handle time variables related to lifespan





and

where




Based on these relationships, the algorithms to simulate the behavior of a given Coupled DEVS are written as follows.
Algorithms
DEVS-coordinatorVariables:
parent // parent coordinator



when receive init-message(Time t)
for each

send init-message(t) to child



when receive star-message(Time t)
if

error: bad synchronization;

send star-message(t)to



when receive x-message(

if


error: bad synchronization;
for each

send x-message(




when receive y-message(

for each

send x-message(


if

send y-message(



See also
- Coupled DEVS
- Behavior of Coupled DEVSBehavior of Coupled DEVSDEVS is closed under coupling [Zeigper84] [ZPK00]. In other words, given a coupled DEVS model N , its behavior is described as an atomic DEVS model M...
- Simulation Algorithms for Atomic DEVSSimulation Algorithms for Atomic DEVSGiven an atomic DEVS model, simulation algorithms are methods to generate the model's legal behaviors which are trajectories not to reach to illegal states....