Diszkrét állapotú rendszerek modellezése Petri-hálók
Diszkrét eseményű rendszerek Discret Event (Dynamic) Systems DES, DEDS állapotterük diszkrét halmaz állapotváltozásuk kizárólag az időben aszinkron módon megjelenő, diszkrét eseményektől függ modelljeik számára a differenciál-, illetve differenciaegyenletek nem megfelelőek az idő közvetlenül nem befolyásolja az ilyen rendszer vezérlését, így a megfelelő modellekben nem lehet független változó 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 2
Diszkrét eseményű rendszerek Feladat: a megfelelő modellezési eljárás megtalálása. Kell egy olyan eszköz, amely képes egy jól definiált szabályok szerinti nyelv reprezentálására. Automata modell Markov-modell Sorbanállási modell Petri-háló 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 3
Automata modell Leírás: irányított gráf állapotátmeneti diagram csomópontok állapotok: X={x, y, z} címkézett élek állapotátmenetek: E={a, b, g} címkék az átmenetet kiváltó események f: X E X f x, a = x f x, g = z f y, a = x f y, b = y f z, b = z f z, a = f z, g = y a a x y g a,g z b 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 4 b
Automata modell Determinisztikus, véges állapotú automata G = (X, E, f) X az állapotok véges halmaza Automata állapotgép generátor Deterministic Finite-state Automaton DFA Finite-State Machine FSM E a G-beli állapotátmenetekkel társított események véges halmaza f: X E X az átmeneti függvény, a determinisztikus jelleg forrása f x, e = x azt jelenti, hogy létezik egy e címkével jelzett esemény által kiváltott x x állapotátmenet, ahol x, x X 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 5
Markov-modell Sztochasztikus állapotátmenetek modellezésére lásd Közlekedési automatika 3λ 2λ 2 μ 2μ 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 6
Sorbanállási modell Sorbanállás: bizonyos források használata céljából várakozni kell. A három alapelem: a vevők (customers) a kiszolgáló egységek (servers) a sor (queue). lásd Közlekedési üzemtan Modell vizsgálata: elsősorban szimulációval 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 7
Sorbanállási modell VEVŐ ÉRKEZIK a SOR SZERVER d VEVŐ TÁVOZIK Állapotváltozó: a sorban álló vevők száma (a sor hossza) X={,, 2, } Esemény: érkezés, (kiszolgálás), távozás E={a, d} Egyszerű sorbanállási rendszer jellemzői az érkezési és kiszolgálási folyamat eloszlása, intenzitása a szerver kapacitása (csatornák száma) a sorbanállási (kiszolgálási) rend 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 8
Petri-háló Carl Adam Petri (926-2) Ötlet (3 évesen!) Kidolgozás: 962. doktori disszertáció 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 9
Petri-háló A Petri-hálók (PN) az információ-áramlás absztrakt formális modelljei. Kiválóan alkalmasak a DES modellezésére grafikus reprezentációval (átláthatóság) formális matematikai leírással (egyértelműség). A PN egyik erőssége az egyidejű események modellezése. 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók
Petri-háló alapelemek Tranzíciók események Helyek bemeneti az események előfeltételei kimeneti az események következményei Élek: a helyek és a tranzíciók között levő kapcsolatok leírása Tokenek jelölők, a PN állapotának leírása 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók
Petri-háló struktúrája Grafikus reprezentáció PN: irányított, súlyozott, páros gráf Kétféle csomópont hely tranzíció Élek: hely tranzíció, tranzíció hely A PN állapota: a tokenek eloszlása az egyes helyeken 2 3 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 2
Petri-háló struktúrája Formális definíció Petri-háló Helyek halmaza Tranzíciók halmaza Élek halmaza Súlyfüggvény Kezdőállapot PN P,T,E,W,M P p, p2, p T t, t, t 2 E P T T P w * : E N M : P N 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 3
Petri-háló struktúrája P={p, p 2, p 3 } T={t } w (p, t )= 2 w + (t, p 2 )= w + (t, p 3 )= 3 M ={m(p ), m(p 2 ), m(p 3 )}={3,, } 2 Ősök: p =Ø t =p p 2 =t p 3 =t Utódok: p =t t ={p 2, p 3 } p 2 =Ø p 3 =Ø 3 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 4
Petri-háló struktúrája Speciális csomópontok forrás és nyelő tranzíciók bemenő és kimenő hely nélküli ( t=ø és t =Ø) forrás tranzíció minden esetben tud tüzelni egy PN tiszta, ha nincsenek önhurkai, azaz minden t T tranzícióra: t t = Ø 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 5
Petri-háló dinamikája Állapotváltozás tranzíciók engedélyezettsége tranzíció tüzelése tokenek vándorlása a bemeneti helyekről: p t a kimeneti helyekre: p t token eloszlás megváltozása: M M 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 6
Petri-háló dinamikája Tranzíciók engedélyezettsége egy t j tranzíció akkor engedélyezett, ha a tokenek száma valamennyi p i bemeneti hely vonatkozásában legalább akkora, mint a p i helyet a t j tranzícióval összekötő él súlya m(p i ) w (p i, t j ) valamennyi p i t j 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 7
Petri-háló dinamikája Tranzíció tüzelése ha egy tranzíció engedélyezett, akkor tüzelhet egyszerre mindig csak egy tranzíció tüzel tokenek elvétele a bemeneti helyekről tokenek kirakása a kimeneti helyekre m p i = m p i w p i, t j + w + p i, t j valamennyi p i t j t j 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 8
Petri-háló dinamikája Token eloszlás megváltozása 2 3 M ={3,, } 2 3 M ={, 2, 3} 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 9
Petri-háló dinamikája Token eloszlás megváltozása p t p 2 p 3 t 2 t 3 p 4 M ={2,,, } p 4 p t p 2 p 3 t 2 t 3 M ={,,, } 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 2
Petri-háló dinamikája Formális leírás tüzelő tranzíció tüzelési vektor u = t t j t τ T = T szomszédossági mátrix w ij = w p i, t j + w + p i, t j W T mátrix (dimenziója: π τ): w p p i p π t t j t τ w ij w πτ 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 2
Petri-háló dinamikája szomszédossági mátrix 2 3 W T = 2 3 p t p 2 p 3 t 2 t 3 p 4 W T = 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 22
Petri-háló dinamikája szomszédossági mátrix W T = 2 2 2 állapotátmeneti függvény, állapotegyenlet M = f(m, t j ) M = M + W T u t 2 p 2 t 2 2 p p 3 t 3 2 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 23
Petri-háló dinamikája állapotegyenlet M = M + W T u 2 2 + + = = M = p p t t p 2 p 3 p 2 p 3 t 2 t 3 t 2 t 3 p 4 p 4 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 24
Petri-háló dinamikája állapotegyenlet M 2 = M + W T u + + = 2 = M 2 = p p t t p 2 p 3 p 2 p 3 t 2 t 3 t 2 t 3 p 4 p 4 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 25
Petri-háló dinamikája állapotegyenlet M 2b = M + W T u + + = = M 2b = p p t t p 2 p 3 p 2 p 3 t 2 t 3 t 2 t 3 p 4 p 4 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 26
Petri-háló jellemzők felkészülés. versenyző 2. versenyző rajt futás Petri-háló jellemzők azonnali tüzelések Modellezési tulajdonságok elemi (atomi) esemény bíró időmérés Szinkronizálás! 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 27
Petri-háló jellemzők Petri-háló jellemzők Modellezési tulajdonságok pakolás a bőröndbe utazás külföldre azonnali tüzelések aszinkron tüzelések elemi (atomi) esemény események szekvenciájának függetlensége mozijegy vásárlás filmnézés 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 28
Petri-háló jellemzők Petri-háló jellemzők Modellezési tulajdonságok papír papírrepülő azonnali tüzelések aszinkron tüzelések elemi (atomi) esemény események szekvenciájának függetlensége dolgozat nemdeterminisztikus konkurencia toll Implicit időfogalom! 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 29
Petri-háló jellemzők Petri-háló jellemzők Modellezési tulajdonságok tej cappuccino azonnali tüzelések aszinkron tüzelések elemi (atomi) esemény események szekvenciájának függetlensége kávé ír kávé nemdeterminisztikus legalább egy közös előfeltétel konkurencia konfliktus whisky 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 3
Petri-háló jellemzők Petri-háló jellemzők Modellezési tulajdonságok alvás munka azonnali tüzelések aszinkron tüzelések elemi (atomi) esemény események szekvenciájának függetlensége nemdeterminisztikus konkurencia legalább egy közös előfeltétel konfliktus neminterpretált absztrakt tulajdonságok 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 3
Petri-háló jellemzők alvás munka késésben öltözés reggeli utazás Petri-háló jellemzők azonnali tüzelések aszinkron tüzelések nemdeterminisztikus legalább egy közös előfeltétel neminterpretált absztrakció és finomítás Modellezési tulajdonságok elemi (atomi) esemény események szekvenciájának függetlensége konkurencia konfliktus absztrakt tulajdonságok hierarchikus modellezés 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 32
Petri-háló példák Gyalogos jelzőlámpa nyomógombbal 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 33
Petri-háló példák Jelzőlámpa gyalogátkelőhellyel 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 34
Petri-háló példák Jelzőlámpa meghibásodással 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 35
Petri-háló példák Vasúti útátjáró fail-safe meghibásodással 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 36
Petri-háló példák Váltóállítás 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 37
Petri-háló kiterjesztések Helyek kapacitáskorlátja Cél: véges erőforráskészlet megjelenítése Minden helyhez rendelhetünk kapacitást: K(p i ) Tüzelési szabály kiegészítése: egy t j tranzíció csak akkor engedélyezett, ha a feltételezett tüzelés után kimenő helyek tokenszáma nem haladja meg az adott hely kapacitáskorlátját: m p i + w + p i, t j K p i p i t 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 38
Petri-háló kiterjesztések Helyek kapacitáskorlátja Példa 2 K=3 feladat kezd dolgozik végez Megvalósítható kiegészítő hely felhasználásával is szabad kapacitás feladat 2 kezd 2 dolgozik végez 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 39
Petri-háló kiterjesztések Tiltó élek használata Cél: negatív feltételek ellenőrzése (zéró teszt) Tüzelési szabály kiegészítése: ha a tranzícióhoz kapcsolódó tiltó él súlyánál több token van az adott bemenő helyen, akkor a tüzelés nem hajtható végre kész feladat kezd dolgozik végez feladat kezd dolgozik végez 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 4
Petri-háló kiterjesztések Prioritás bevezetése Cél: nemdeterminizmus korlátozása A tranzíciókhoz prioritást rendelünk Tüzelési szabály kiegészítése: az engedélyezett tranzíciók közül egy alacsonyabb prioritású mindaddig nem tüzelhet, amíg egy magasabb prioritású tranzíció engedélyezve van Prioritási szinten belül továbbra is nemdeterminisztikus választás :T N 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 4
Petri-háló kiterjesztések Időzített Petri-hálók (Time PN TPN) Cél: teljesítményanalízis és ütemezési feladatok A tüzelések végrehajtásához időt rendelünk Determinisztikus időfogalom A tüzelések végrehajtásának ideje fix Alkalmazás: pl. maximális ciklusidő modellezése Sztochasztikus időfogalom A tüzelések végrehajtásának ideje valamilyen valószínűségi eloszlást követ Alkalmazás: pl. sorbanállás, megbízhatósági számítások 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 42
Petri-háló kiterjesztések Színezett Petri-hálók (Coloured PN CPN) Cél: kompaktabb megjelenítés Tokenek helyett színes tokenek: adattípusok 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 43
Kapcsolat más modellekkel Automata transzformálása Petri-hálóvá Egy véges állapotú automata mindig transzformálható egy olyan Petri-hálóvá, amely ugyanazt a nyelvet generálja, mint az automata: e x x L(N) = L(G) e x t (x, e, x ) x 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 44
Kapcsolat más modellekkel Sorbanállási feladat modellezése Automata modell 2 3 Petri-háló x = 2 a a a a d d d d M = [,,,, ] a a a a VEVŐ ÉRKEZIK a SOR SZERVER d M = [2] a Q VEVŐ TÁVOZIK d d d d 23..29. Diszkrét állapotú rendszerek modellezése, Petri-hálók 45 d
Automata transzformálása Petri-hálóvá Egy véges állapotú automata mindig transzformálható egy olyan Petri-hálóvá, amely ugyanazt a nyelvet generálja, mint az automata: e x x. P=X 2. x =[, ], e, x' x t T L(N) = L(G) e x t (x, e, x ) x 3. x, e, x ' 4. t x, e, x' e E 5. x, e, x' x, t x, e, x' A és t x, e, x' 6. w=, x' A
Sorbanállás automata és Petri-háló modellje VEVŐ ÉRKEZIK a SOR SZERVER d VEVŐ TÁVOZIK a a a a 2 3 d d d d a a a a x = 2 A d d d d x = [,,,, ]
Továbbfejlesztett tüzelési szabályok () Prioritás A tranzíciókhoz prioritást rendelünk: az engedélyezett tranzíciók közül egy alacsonyabb prioritású mindaddig nem tüzelhet, amíg egy magasabb prioritású tranzíció engedélyezve van Cél: nem-determinizmus korlátozása
Továbbfejlesztett PN Időfogalom bevezetése Teljesítményanalízis és ütemezési problémák Determinisztikus időfogalom Időzített PN A tüzelések végrehajtásához időt rendelünk Alkalmazás: pl. maximális ciklusidő modellezése Sztochasztikus időfogalom Sztochasztikus PN A tüzelések végrehajtásának ideje valamilyen valószínűségi eloszlást követ Színezett PN Tokenek helyett színes tokenek: adattípusok Kompaktabb megjelenítés
PN analízis célja. modellezzük a rendszert 2. megvizsgáljuk a modell bizonyos tulajdonságait 3. ezeket a tulajdonságokat (amennyiben a modell megfelelő volt) visszavetítjük az eredeti rendszerre, így 4. az eredeti rendszer bizonyos tulajdonságait vizsgálhatjuk anélkül, hogy magát a rendszert megépítenénk
PN tulajdonságok Elérhetőség Valamely kezdőállapotból egy másik állapot vagy állapotok halmaza egy tetszőleges tüzelési szekvenvcia mellett elérhető-e. Pl. elérhető-e egy nem biztonságos állapot
PN tulajdonságok Korlátosság A helyeken felhalmozódó tokenek száma véges Alkalmazás: erőforrás-használat modellezése. Azt vizsgáljuk, hogy a modellezett rendszerben a feladatok elvégzése garantált-e. Az -korlátos hálót biztonságosnak nevezzük.
PN tulajdonságok Élőség Azt vizsgálja, hogy a modell valamennyi tranzíciója értelmes-e, azaz valamennyi tranzíciója végrehajtható-e. Megfordíthatóság/visszatérő állapot A ciklikus működésű hálózat viselkedésében keresi a ciklusokat (valóban ciklikus-e, nincs-e dead-lock)
PN tulajdonságok Perzisztencia Azt vizsgáljuk, hogy az eredetileg párhuzamosnak szánt tevékenységek nem befolyásolják-e egymást. Fairség Arra keres garanciát, hogy a rendszerbeli párhuzamos folyamatok nem tartják-e fel egymást keresztbehatásuk révén, azaz előbb-utóbb minden folyamat végbemegy-e.
Analízis eljárások Elérhetőségi gráf módszer Az összes elérhető állapotot vizsgálja (tulajdonképpen állapotgráfot állít elő) Probléma: túl nagy állapottér Algebrai megközelítés A háló algebrai reprezentációján végzett műveletek/bizonyítások/levezetések segítségével vizsgálja a tulajdonságokat
Bővítés (2) p p 4 t t 3 p 7 p t 8 5 p 2 p t 5 6 t 2 t 4 p 3 p 6
Elérhetőségi gráf p p 4 t 5 x t 6 t t 3 t t 3 x 2 x 4 p p 7 p t 8 p 5 2 5 t 6 t 2 t 4 x 3 x 5 t 2 t 4 p 3 p 6
Elérhetőségi gráf p p 4 t 5 x t 6 t t 3 t t 3 x 2 x 4 p p 7 p t 8 p 5 2 5 t 6 t 2 t 4 x 3 x 5 t 2 t 4 t 3 p 3 p 6 x 6 t 6 t 4 x 7
Elérhetőségi gráf p p 4 t 5 x t 6 t t 3 t t 3 x 2 x 4 p p 7 p t 8 p 5 2 5 t 6 t 2 t 4 x 3 x 5 t 2 t 4 t 3 t p 3 p 6 x 6 x 8 t 6 t 4 t 2 x 7
Elérhetőségi gráf p p 4 t 5 x t 6 t t 3 t t 3 x 2 x 4 p p 7 p t 8 p 5 2 5 t 6 t 2 t 4 x 3 x 5 t 2 t 4 t 3 t p 3 p 6 x 6 x 8 t 6 t 4 t 2 t 5 x 7
Elérhetőségi gráf p p 4 t 5 x t 6 t t 3 t t 3 x 2 x 4 p p 7 p t 8 p 5 2 5 t 6 t 2 t 5 t 4 x 3 x 5 t 2 t 4 t 3 t p 3 p 6 x 6 x 8 t 6 t 4 t 2 t 5 x 7
Elérhetőségi gráf p p 4 t 5 x t 6 t t 3 t t 3 x 2 x 4 p p 7 p t 8 p 5 2 5 t 6 t 2 t 6 t 5 t 4 x 3 x 5 t 2 t 4 t 3 t p 3 p 6 x 6 x 8 t 6 t 4 t 2 t 5 x 7
Beléptető állomás Csomag érkezése Belépés engedélyezése F szabad, F2 zár Bejelentkezés Leolvasás Cél megadása Kilépés engedélyezése Várakozás Csomag tovább F zár, F2 szabad Várakozási idő
Váltóállítás Váltóvezérlés A2 Váltóvezérlés A Váltóállás A Váltófutás ideje Váltóállás A2
Irányítás, kiléptetés Csomag tovább Váltóvezérlés A2 Váltóvezérlés A Érkezés jelzése Futásidő Áthaladás az elosztó ponton Váltóállás A Váltófutás ideje Váltóállás A2 Kilépés jelzés Futásidő Kilépés A Kilépés A2
Órajel Léptető regiszter
Multiplexer - Demultiplexer 3. csatorna 3. csatorna 2. csatorna 2. csatorna. csatorna. csatorna Az együttállás biztosítása Órajel