Simulation algorithms for coupled DEVS

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.

Algorithms

DEVS-coordinator
  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

References

  • [Zeigler84] Bernard Zeigler (1984). Multifacetted Modeling and Discrete Event Simulation. Academic Press, London; Orlando. ISBN 978-0-12-778450-2.
  • [ZKP00] Bernard Zeigler; Tag Gon Kim; Herbert Praehofer (2000). Theory of Modeling and Simulation (second ed.). Academic Press, New York. ISBN 978-0-12-778455-7.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.