Szimuláció Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement and Information Systems 1
Mérés: Magyarország széltérképe Magyarország széltérképe hajnalban és reggel 2
Mérés: Magyarország széltérképe Magyarország széltérképe hajnalban és reggel Megfigyelés: dinamikus rendszer pillanatképek sorozata 3
Modellalkotás Az ECMWF readingi központjában naponta kétszer, a 00 és a 12 UTC-s kezdeti meteorológiai mezőkből kiindulva 10 napos determinisztikus modell előrejelzéseket futtatnak. A modell számos fizikai kölcsönhatást vesz figyelembe, így például az óceán - légkör, a talajnedvesség és a légkör, valamint a hótakaró és a légkör közöttit. A globális modell a felszín és a 0.1 hpa nyomási szint között 136 réteget tartalmaz. A modell horizontális térbeli felbontása 16 km. 4
Modellalkotás Az ECMWF readingi központjában naponta kétszer, a 00 és a 12 UTC-s kezdeti meteorológiai mezőkből kiindulva 10 napos determinisztikus modell előrejelzéseket futtatnak. A modell számos fizikai kölcsönhatást vesz figyelembe, így például az óceán - légkör, a talajnedvesség és a légkör, valamint a hótakaró és a légkör közöttit. A globális modell a felszín és a 0.1 hpa nyomási szint között 136 réteget tartalmaz. A modell horizontális térbeli felbontása 16 km. 5
Modellalkotás Az ECMWF readingi központjában naponta kétszer, a 00 és a 12 UTC-s kezdeti meteorológiai mezőkből kiindulva 10 napos determinisztikus modell előrejelzéseket futtatnak. A modell számos fizikai kölcsönhatást vesz figyelembe, így például az óceán - légkör, a talajnedvesség és a légkör, valamint a hótakaró és a légkör közöttit. A globális modell a felszín és a 0.1 hpa nyomási szint között 136 réteget tartalmaz. A modell horizontális térbeli felbontása 16 km. Modell pontossága függ az absztrakciós szinttől és a valósághűségtől 6
Szimuláció Délután tudunk-e menni vitorlázni? ECMWF AROME 7
Szimuláció Délután tudunk-e menni vitorlázni? Többféle modell!!! ECMWF AROME 8
9
10
Földrengések előrejelzése 11
Mérés Gyenge rengés a katasztrófa előtt Adatrögzítés: szeizmográf Lesz-e erős földrengés? Mi már tudjuk a választ 12
Előrejelzés? Katasztrófa 3 nagyságrenddel nagyobb földmozgás o Pár nappal a korábbi mérések után Milyen jó lenne pontosabban előrejelezni Mérés/ megfigyelés Modell 13 Szimuláció
Szimuláció és modellezés A modellezés során absztrakt matematikai reprezentációt építünk Szimuláció során a matematikai modellt végrehajtjuk o Virtuális kísérlet Viselkedésmodellekre 14
Tartalom Ismétlés, motiváció Háttér Szimulációs alapok Diszkrét rendszerek szimulációja Kitekintés 15
Rendszermodellek felbontása Modellezés célja o Érthetőség, áttekinthetőség Nem cél a minimális modell o A teljes rendszer dinamikája Komponensek modellje egyszerű Bonyolult kölcsönhatások Csoportosítás o Folytonos o Diszkrét Értékben / időben 16
Típusok Folytonos Diszkrét Folytonos és diszkrét 17
Rendszerállapot (Celsius) Diszkrét idő/állapot 18 idő
Rendszerállapot (Celsius) Diszkrét idő/folytonos állapot 19 idő
Rendszerállapot (Celsius) Folytonos idő-diszkrét állapot 20 idő
Rendszerállapot (Celsius) Folytonos idő-folytonos állapot 21 idő
Diszkrét rendszermodellezés célja Célkitűzés: minőségi vagy/és mennyiségi analízis o kvalitatív: logikai helyességbizonyítás o kvantitatív: teljesítményelemzés és szolgáltatásbiztonság Informatikai rendszerek: jól tagoltak o rendszerépítés a komponensek integrációjával o elemi komponensek kapcsolata explicit logikai kapcsolat: sorrendiség, ok-okozati függőség implicit függőség: pl. osztott erőforrás használata 22
Szimuláció és modellezés Valós rendszer Modellezés Modell Kísérlet/mérés Virtuális kísérlet Általánosítás Paraméter Mérési eredmények Ellenőrzés 23 Szimulációs eredmények
Esemény Diszkrét eseménysor o pillanatszerű változás (a rendszerben vagy ki/bemeneten) Eseményfolyam o Pl. input/output adatforrás Eseménytér {megengedett események} o Beolvasható input értékek, kibocsátható output értékek Pillanatszerű események sora, egyszerre 1 Eseményfolyam: toronyóra ütései Eseménytér: {éjfél, dél} 0:00 12:00 24:00 36:00 48:00 60:00 t 24
Folyamatorientált modellezés Elemi tevékenységeink vannak Jellemzői: o Erőforrást igényel o Mennyi ideig tart Folyamat: tevékenységek logikailag rendezett sora 25
DEMÓ Üzleti folyamatok teljesítményszimulációja 26
Példa: Reggeli (angol)teakészítés Konyhába belépés Vízforralás Tejet melegít Filtert betesz Ízesítés Kész a tea üzenet küldése 27
Logikailag rákövetkező művelet indítása Állapotátmeneti szabály o r =(Konyhába belépés, Vízforralás) Vízforralás Konyhába belépés Tejet melegít Filtert betesz Ízesítés 28 Kész a tea üzenet küldése
Üzenetváltás Párhuzamosan futó folyamatok között Konyhába belépés Feleség folyamat Vízforralás Tejet melegít Kész a tea üzenet fogadása Filtert betesz Ízesítés Konyhába belépés Kész a tea üzenet küldése Tea elfogyasztás 29
Üzenetváltás Párhuzamosan futó folyamatok között Konyhába belépés Feleség folyamat Kész a tea üzenet fogadása Vízforralás Filtert betesz Tejet melegít Ízesítés Üzenet megérkezett Üzenetre vár Kész a tea üzenet küldése 30 Konyhába belépés
Üzenetváltás Párhuzamosan futó folyamatok között Konyhába belépés Feleség folyamat Kész a tea üzenet fogadása Vízforralás Filtert betesz Tejet melegít Ízesítés Üzenet megérkezett Üzenetre vár Kész a tea üzenet küldése Join művelet 31 Konyhába belépés
Erőforrás Erőforrás foglalás és elengedés o Vízforralás tevékenység Forralóra vár Forralót használja Forralót visszateszi Kizárólagos birtoklás! 32
Erőforrás Konyhába belépés Vízforralás Foglal Forraló Foglal Tejet melegít Elenged Elenged Filtert betesz Ízesítés Kész a tea üzenet küldése 33
Erőforrás: Vízforraló Versengés erőforrásért Vízforralás Foglal Elenged Forraló Foglal Elenged Tejet melegít Nem közös erőforrás Tejet melegít t Van közösen használt erőforrás Tejet melegít Vízforralás t vár Vízforralás 34
Erőforrás: Vízforraló Versengés erőforrásért Vízforralás Foglal Elenged Nem közös erőforrás Forraló Foglal Elenged Tejet melegít Van közösen használt erőforrás Tejet melegít Tejet melegít Utálom a teát bőrös tejjel Vízforralás t t vár Vízforralás 35
Erőforrás: Vízforraló Versengés erőforrásért Vízforralás Foglal Forraló Foglal Tejet melegít Elenged Elenged Nem közös erőforrás Tejet melegít Van közösen használt erőforrás Tejet melegít Vízforralás Mikor lesz kész a tea? t t vár Vízforralás 36
Yakindu 37
Yakindu 38
Yakindu Szimulációs beállítások 39
Erőforrások modellezése Folyamat Erőforrást elenged /Erőforrás felszabadít Foglalt Erőforrás /Erőforrás lefoglal Fut Erőforrást kér Erőforrás lefoglal Szabad Erőforrás felszabadít 40
Erőforrások modellezése Folyamat Erőforrást elenged Erőforrás felszabadít Foglalt Erőforrás Fut Erőforrás lefoglal Szabad Erőforrást kér 41
Erőforrások modellezése Folyamat Erőforrást elenged Erőforrás felszabadít Foglalt Erőforrás Fut Erőforrás lefoglal Szabad Erőforrást kér 42
Hierarchikus modellfinomítás Konyhába belépés Elemi eseményeket több részeseményre bontunk fel Az új események összideje = a régi esemény ideje Vízforralás Tejet melegít Filtert betesz Ízesítés Kész a tea üzenet küldése 43
Hierarchikus modellfinomítás Konyhába belépés Elemi eseményeket több részeseményre bontunk fel Az új események összideje = a régi esemény ideje Vízforralás Tejet melegít Filtert betesz Ízesítés Kész a tea üzenet küldése 44 Citromoz Cukroz
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Kérés érkezett Erőforrást kér Erőforrás lefoglal Fut Erőforrás felszabadít Erőforrást elenged Lehetséges futások: Ízesítés Filtert betesz t Filtert betesz Ízesítés t 45
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged 46
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Citromoz Cukroz 47
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Citromoz Cukroz Kérés érkezett Erőforrást kér Erőforrás lefoglal Fut Erőforrás felszabadít Erőforrást elenged 48
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Citromoz Cukroz Kérés érkezett Erőforrást kér Erőforrás lefoglal Fut Erőforrás felszabadít Erőforrást elenged 49
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Citromoz Cukroz Lehetséges futások: Citromoz Cukroz Filtert betesz Filtert betesz Citromoz Cukroz Citromoz Filtert betesz Cukroz 50
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Kérés érkezett Erőforrás lefoglal Erőforrást kér Fut Citromoz Erőforrás felszabadít Erőforrást elenged Cukroz 51
Modellfinomítás és erőforrás használat Filtert betesz Foglal kanál Foglal Ízesítés Elenged Elenged Lehetséges futások: Citromoz Cukroz Filtert betesz Filtert betesz Citromoz Cukroz Citromoz Filtert betesz Cukroz 52
Nemprocedurális végrehajtás MASTER Jelen állapot Következő állapot függvény SLAVE Következő állapot Óra 53
Delta késleltetés szimulációban Amennyiben egy esemény olvas és ír is változókat o Végrehajtjuk az olvasást o Majd δ idővel később az írás műveleteket o δ valójában logikailag tekeri előre csak az időt 54
Szinkron kompozíció, parallel végrehajtás Mi lesz a szimuláció eredménye? x :=3 y :=2 x := y y := x 55
Szinkron kompozíció, parallel végrehajtás Mi lesz a viselkedés? x :=3 y :=2 x := y y := x x := 3 és y := 2 egyszerre hajtódik végre x := y és y := x egyszerre hajtódik végre o Megcserélődnek az értékek 56
Szinkron kompozíció, parallel végrehajtás Hogyan szimuláljuk? x :=3 y :=2 x := y y := x Megoldás: Delta delay, azaz az értékadások érvényre jutásának adunk egy terjedési késleltetést 57
Problémák Szinkron kompozíció, parallel végrehajtás Hogyan szimuláljuk? x :=3 y :=2 x := y y := x x :=3 x(t) := 3 x(t+δ) := y(t) y :=2 y(t) := 2 y(t+δ) := x(t) 58 t t
Problémák Szinkron kompozíció, parallel végrehajtás Hogyan szimuláljuk? x :=3 y :=2 x := y y := x x :=3 x(t) := 3 x(t+δ) := y(t) y :=2 y(t) := 2 y(t+δ) := x(t) 59 t t
Problémák Szinkron kompozíció, parallel végrehajtás Mi lesz a viselkedés? x :=3 y :=2 x := y y := x x :=3 x(t) := 3 x(t+ε) := y(t) Késleltetett értékadás t Hardver y :=2 leíró y(t) := nyelvek 2 y(t+ε) := x(t) szimulációja t 60
Szinkron kompozíció Adott egy invertáló és egy értéket tartó logika (állapotgép) Invertál input output Értéket tart input/ output = not(input) output input input/ output = input input/output bináris változók 61
Szinkron kompozíció Mi lesz a viselkedés? Probléma Invertál input output Értéket tart input/ output = not(input) output input input/ output = input 62
Szinkron kompozíció Mi lesz a viselkedés? Probléma Invertál input output Értéket tart input/ output = not(input) output input Állapotátmenetek: output = not(input), output = input input = not(input) 63 input/ output = input
Szinkron kompozíció Mi lesz a viselkedés? Probléma Invertál input output Értéket tart input/ output = not(input) output input Állapotátmenetek: output = not(input), output = input input Ellentmondás = not(input) 64 input/ output = input
Szinkron kompozíció Mi lesz a viselkedés? Probléma Invertál input output Értéket tart input/ output = not(input) output X Y input input/ output = input X Y δ δ δ δ δ δ 65
Szinkron kompozíció Mi lesz a viselkedés? Probléma Invertál input output Értéket tart input/ output = not(input) output X Y input input/ output = input X Y δ δ δ δ δ δ 66 Nemprocedurális szimuláció: Oszcilláció
Kimenetek előállítása Bemeneti események Rendszer Kimeneti események 67
Bemenet-kimenet Kérés érkezett Kérés érkezett Kérésre vár Engedélyezett Fut Befejeződött Kérésre vár Engedélyezett t Rendszer Erőforrás lefoglal Erőforrás felszabadít Eredmények küldése Kérésre vár Engedélyezett Fut Befejeződött Kérésre vár Engedélyezett t 68