Szimulációs algoritmusok atomi DEVS-hez - Simulation algorithms for atomic DEVS

Atomi DEVS modellt figyelembe véve a szimulációs algoritmusok olyan módszerek a modell jogi viselkedésének létrehozására, amelyek olyan pályák, amelyeket nem szabad elérni az illegális államok felé. (lásd DEVS viselkedése ). [Zeigler84] eredetileg be az algoritmusok, amelyek kezelik időben összefüggő változók élettartama és az eltelt idő bevezetésével két másik alkalommal változó, utolsó esemény ideje , és a következő esemény időpontja a következő összefüggések:

és

ahol az aktuális időt jelöli . És a hátralévő idő ,

ekvivalens módon kiszámítva

, látszólag .

Mivel egy adott atomi DEVS-modell viselkedését a teljes állapot és a külső átmeneti függvény függvényében két különböző nézetben lehet meghatározni (lásd a DEVS viselkedését ), a szimulációs algoritmusokat két különböző nézetben is bemutatjuk, az alábbiak szerint.

Közös részek

A teljes állapotok két különböző nézetétől függetlenül az inicializálás algoritmusait és a belső átmeneti eseteket általában az alábbiakban definiáljuk.

DEVS-simulator
  variables:
    parent // parent coordinator
         // time of last event
         // time of next event
    // the associated Atomic DEVS model 
  when receive init-message(Time )
     
     
  when receive star-message(Time )
     if  then
        error: bad synchronization;
     
     send y-message() to parent;
     
     
     

1. nézet: összes állapot = állapot * eltelt idők

Amint azt az Atom viselkedése című DEVS- ben megfogalmaztuk , amikor a DEVS bemeneti eseményt fogad, a helyes hívást , az utolsó esemény idejét az aktuális idő állítja be , így az eltelt idő nulla lesz, mert .

  when receive x-message(, Time )
     if  and  == false then
        error: bad synchronization;
     
     
     

2. nézet: összes állapot = állapot * élettartam * eltelt idők

Figyelje meg, hogy amint azt a Behavior of Atomic DEVS című cikkben említettük , a visszatérés értékétől függően, az utolsó esemény időpontja , és a következő esemény ideje , következésképpen az eltelt idő és az élettartam frissül (ha ) vagy megőrződik (ha ).

  when receive x-message(, Time )
     if  and  == false then
        error: bad synchronization;
     
     if  then 
        
        

Lásd még

Hivatkozások

  • [Zeigler84] Bernard Zeigler (1984). Többcélú modellezés és diszkrét eseményszimuláció . Academic Press, London; Orlando. ISBN   978-0-12-778450-2 .
  • [ZKP00] Bernard Zeigler; Tag Gon Kim; Herbert Praehofer (2000). Modellezés és szimuláció elmélete (második kiadás). Academic Press, New York. ISBN   978-0-12-778455-7 .