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 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,
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
: // 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
- 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....