Modelování Petriho sítěmis Grafický popis a analýza systémů, ve kterých se vyskytují synchronizační, komunikační a zdroje sdílející procesy. Popis paralelních jevů a konfliktních závislostí Jednoduchost Přehlednost Modelování dynamiky procesů Typy Petriho sítí C/E (Condition/Event) Petriho sítě, P/T (Place/Transitions) Petriho sítě, P/T Petriho sítě s inhibičními hranami, P/T Petriho sítě s prioritami, TPN Časované (Timed) Petriho sítě, CPN Barevné (Coloured, barvené) Petriho sítě, HPN Hierarchické (Hierarchical) Petriho sítě, OOPN Objektové (Object Oriented) Petriho sítě. Základní pojmy Places (místa) obsahují stavovou informaci ve formě značek (token) Transitions (přechody) vyjadřují možné změny stavů (vzory možných událostí) Arcs (orientované hrany) určují logické vazby Zákazník požaduje obsluhu Simulace Obsluhy zákaznz kazníka Materiál Linka pracuje Linka je volná Obslužný personál 2
Grafický popis Petriho sítís je orientovaným bipartitních multigrafem Orientovaná hrana může spojit: místo s přechodem přechod s místem Orientovanou hranou nemůžeme spojit místo s místem přechod s přechodem 3 Synchronizace paralelních procesů 4 2
Synchronizace paralelních procesů Kritická sekce Střídání událostí Triviální deadlock 5 Pravidla pro uskutečnění přechodu Přítomnost značky v místě indikuje, že daný aspekt stavu je momentálně aktuální, resp. podmínka je splněna. Každý přechod má vstupní a výstupní místa tím je určeno, které aspekty podmiňují výskyt události a jaké skutečnosti jsou výskytem této události ovlivněny. Označme z(p) počet značek v místě p. Přechod může být uskutečněn, jsou li splněny všechny vstupní podmínky, tj. z(p i )> pro všechna vstupní místa p i daného přechodu. Uskutečnění přechodu: u všech vstupních míst ubereme jednu značku (z (p i ) = z(p i ) - ) a u všech výstupních míst přidáme jednu značku (z (p j ) = z(p j ) + ) 6 3
Ohodnocení hran a přechodp echodů Místo p je určeno kapacitou c(p) maximálního počtu značek. Přechod může být uskutečněn jen pokud (současně se splněním vstupních podmínek) není překročena kapacita výstupních podmínek. Počty odebíraných (umístěných) značek jsou specifikovány váhou hran. Přechod je uskutečněn jen pokud jsou vstupní hrany nasyceny, tj. pokud není počet značek ve vstupních místech daného přechodu menší než váhy příslušných hran. 2 2 2 2 2 7 Konfliktní přechody Dva současně proveditelné přechody jsou konfliktní, když provedení jednoho způsobí, že druhý přestane být proveditelný. Konfliktní přechody modelují soupeření o zdroje a vzájemnou výlučnost dvou událostí. Nezávislé přechody modelují asynchronnost a paralelismus. Nezávislé přechody Konfliktní přechody 8 4
Definice PT sítís PT síťs je uspořádan daná pětice PN=(P,T, I -, I +, z ) P = {p,p 2, p n } je konečná neprázdn zdná množina místm T ={t,t 2, t n } je konečná neprázdn zdná množina přechodp echodů množiny P, T jsou disjunktní I -, I +, jsou incidenční funkce P x T ->N z : P -> > N je počáte teční ohodnocení z ( ) ( ) ( ) = z p, z p2,, z pn Pokud je I - (p,t) >, vede orientovaná hrana z místa p do přechodu t. Počet odebraných žetonů v místě p uskutečněním přechodu t je roven I - (p,t). Pokud je I + (p,t) >, vede orientovaná hrana z přechodu t do místa p. Počet přidaných žetonů v místě p uskutečněním přechodu t je roven I + (p,t). ( ) ( ) ( Označme aktuální ohodnocení celé sítě vektorem ( ) ) ( z i = z i p, ( ) ) z i p, 2, z i ( p n ) Přechod t nazýváme aktivní (uskutečnitelný) v daném ohodnocení z (i), jestliže ( i) p P; z ( p) I ( p, t) ( ) ( ) Ohodnocení z (i) nazýváme dosažitelné z ohodnocení z (j), jestliže existuje posloupnost uskutečněných přechodů, které převádí z (i) do z (j). (ozn. z (i) - > z (j) ) 9 Struktura a vlastnosti Petriho sítís Petriho síť nazýváme bezpečnou nou, jestliže pro každé její ohodnocení platí: z(p). Petriho síť nazveme ohraničenou enou, jestliže Petriho síť nazýváme konzervativní, jestliže pro každý její stav platí, že celkový počet značek je konstantní. ( i ) ( j ) i; z p = k j Síť nazýváme živou, jestliže jsou živé všechny její přechody, tj., jestliže ke každému ohodnocení z existuje dosažitelné ohodnocení z, z ->z, které aktivuje daný přechod. z z ; z z ( ) k N ; z, p; z p k 2 ohraničen neohraničen ená, bezpečná, konzervativní ená síť síť síť 2 5
Konzervativnost sítěs Striktně konzervativní Konzervativní vzhledem k váhovému vektoru (2,,,2). Příklad + ( ) ( ) ( ) z = 3,,5, 4,, I p, t = I p, t = 5 3 3 3 4 T T2 T3 T4 P P2 + C = P3 5, C = 5, C = 5 5 P4 P5 Po uskutečnění přechodu T přejde počáteční ohodnocení z do stavu 2 z = z + C = 4 4 5 5 HPSim Po odpálení posloupnosti T, T, T, T2 je výsledné ohodnocení 3 2 ( 4) z = z + C = 3 4 2 6
Matice incidence Nechť má PN n míst P={p,p 2,..p n } a m přechodů T={t,t 2,..t m }. Zpětná incidenční matice C - typu n x m je definována ( ) c = I p, t, p P, t T ij i j i j analogicky dopředná incidenční matice C + ( ) + + c = I p, t, p P, t T ij i j i j Incidenční matice C = C + - C - Přechod t i je v daném ohodnocení z=(z,z 2,..z n ) aktivní, jestliže z j; z j c ji Uskutečněním přechodu t i přejde ohodnocení z v ohodnocení z z = z + Ce i ; Předpokládejme posloupnost odpálených přechodů ti, t, výpočet dosaženého stavu z (k) i,, t 2 i k je dán dosazením do předcházejícího vzorce k k ( k ) z = z + C eij ; eij = Ξ Parikův obraz posloupnosti přechodů j= j= Nutná podmínka dosažitelnosti: Je-li z značení dosažitelné ze značení z, potom existuje řešení Ξ rovnice z = z + CΞ 3 Př: : Napište matici incidence C Přechod T K se uskuteční v ohodnocení z, z ; z c i i ik T T T 2 T 3 T 4 T5 P 2 P C = ( I ( pn, tm )) = P2 P3 2 ( ) 2 z = 2 + + 2 + + C = C C = ( I ( pn, tm ) I ( pn, tm )) = + + 2 + 2 Odpálení přechodu T: ( ) 2 z = z + C = + = + 4 7
P-invarianty Nechť C je matice incidence Petriho sítě. Nenulový vektor i P N n se nazývá P-invariant Petriho sítě, jestliže je řešením homogenní soustavy lineárních rovnic T C i = o Petriho síť má konzervativní komponentu právě tehdy, existuje-li nenulový P-invariant. Př: striktně konzervativní síť P C = P { (,, ); } i = k k N 5 P-invarianty konzervativní komponenty C = C i T P = o ip = {( u, u v, v, u) ; u, v N, u > v} Výhodnější zápis získáme pomocí bázových vektorů prostoru řešení. Volíme-li např. u=, v= dostáváme i P =(,,,), podobně volbou u=2, v= dostáváme i P2 =(2,,,2), což jsou nejmenší váhové vektory pro konzervativnost sítě. { (,,,) ( 2,,, 2 );, } i = k + l k l N P 6 8
T-invarianty Petriho síť nazveme reverzibilní, pokud ke každému dosažitelnému značení existuje posloupnost odpálených přechodů, ve které je počáteční značení aktivní Nechť C je matice incidence Petriho sítě. Nenulový vektor i T N n se nazývá T-invariant Petriho sítě, jestliže je řešením homogenní soustavy lineárních rovnic CiT = o Pokud je Petriho síť je reverzibilní, pak má nenulový invariant.. T-invariant je Parikův obraz posloupnosti, která přechody reprodukuje, tj. udává kolikrát je třeba provést každý přechod, abychom se vrátili k původnímu značení 7 T-invarianty Př. Reverzibilní sítě C = CiT = o i i2 = i 3 i4 { (,,, ) (,,, );, } i = k + l k l N T 8 9
T-invarianty Př. Reverzibilní sítě C = CiT 4 = o i i2 = i 3 i T { (,,, ) (,,, );, } i = k + l k l N 9 Přechodová funkce Stavový prostor množina dosažitelných značení Přechodová funkce funkce definovaná na stavovém prostoru určuje na základě přítomného stavu a aktivního přechodu příští stav sítě zadána buď tabulkou, nebo orientovaným grafem. 2
Stavový strom (graf pokrytí) Abstrakce přechodové funkce Petriho sítě. Orientovaný kořenový strom, jehož kořenem je počáteční značení. Jestliže v průběhu konstrukce stromu zjistíme, že jistá složka značení neomezeně roste, pak tuto složku označíme a nový vektor reprezentuje nekonečnou množinu značení, pro které tato složka nabývá libovolné nezáporné celočíselné hodnoty. Neomezená Petriho síť (,) t 2 (,2) t HPSim (, ) t 2 t (, ) (, ) (, ) 2 Matice přechodup Prvky matice jsou tvořeny pravděpodobnosti přechody systému z jednoho stavu do druhého,5,5,5,5 P =,5,5,5,5,5,5 a = a P HPSim 22
Síť s omezenou kapacitou místm 23 Inhibitory negativní testovací hrany Rozlišujeme 3 typy hran : normáln lní inhibitory tester Přechod spojený s místem inhibitorem je uskutečněn jen pokud je počet značek v místě menší než váha inhibitoru. Počet značek ve vstupním místě se nemění. PT (places-transitions) sítě s inhibitory jsou s teoretického hlediska schopny modelovat vše, co je možné vyjádřit algoritmem. 2 2 24 2
Inhibitory, Petriho sítěs s prioritami T má vyšší prioritu než T2 Petriho sítě s inhibičními hranami mohou být převedeny na ekvivalentní sítě s prioritami. 25 Booleovské operace Př: Úplný systém logických funkcí {nega, AND, OR},{NAND},{NOR} neg.a AND OR NAND NOR A B A A B A B (A B) (A B) 26 3
Stochastické časové Petriho sítěs (Stochastic Petri Nets) Přechody ve SPN představují jednotlivé události(akce). typy přechodů:. Okamžit ité 2. se zpožděním (doba zpoždění je náhodná veličina) SPN = (P, T, I -, I +, G, z ) P, T,, I -, I +, z PT Petriho síť G exponenciální funkce přiřazené přechodům 27 Dining Philosophers HPSim 28 4
Stavový graf Spojitý stochastický proces zdiskretizujeme postupujeme v diskrétních krocích dt. Krok simulace dt zvolíme dostatečně malý (ms) tak, abychom mohli předpokládat, že za interval délky dt nastane nejvýš jedna událost. P3 T3 P z =(,,) z =(,,) T4 z 2 =(,,) T2 P2 T Ze stavu z mohou po jednom kroku dt nastat 3 možnosti: z (spuštěn přechod T) z 2 (spuštěn přechod T4) z (ani pro jeden z přechodů T, T2) 29 Markovův řetězec stochastické Petriho sítěs Nechť jsou všechny přechody dány s exponenciálním rozdělením zpoždění. Pak stavový prostor (množina všech možných ohodnocení) z i tvoří Markovovský řetězec se spojitým časem- CTMC. Infinitezimální generátor Q: Intenzita výstupu q ij ze stavu z i do stavu z j je součtem intenzit všech přechodů, jejichž odpálením přejde stav z i do stavu z j. Analýzou Markovova řetězce můžeme vypočítat charakteristiky systému popsaného SPN. - Nechť je π stabilizovaný stav, tj πq = ; π = j Pak pravděpodobnost, že ohodnocení míst SPN je z dané podmnožiny stavů B. P[ B] = ( j z ) B π j j 3 5
Časová past 3 Barevné Petriho sítěs Rozlišujeme různé typy žetonů a různé módy odpalů přechodů 32 6
Barevné Petriho sítěs Podmínkou efektivního zavedení barevných Petriho sítí je, aby se přechody chovaly v různých módech podobně. Pro popis odpalu přechodu zavedeme lokální proměnné, incidenční funkce zapisujeme k příslušným hranám C a a b b a a b b = ; Cb = a a b b a x x x x x y y x 33 Převod barevné Petriho sítěs na P/T P T síťs Pro umístění různých barevných typů žetonů vytvoř zvláštní místa. Nechť např.v místě p je možný výskyt barev a, b, c. Pak z jednoho místa p vytvoříme tři místa pa,pb,pc. Pro každý mód odpálení přechodu vytvoř zvláštní přechod. Je-li např.možné odpálit přechod t v módu x a y, vytvoříme dva přechody tx, ty. Vytvoř nové incidenční funkce tak aby odpovídaly původním módům. Nastav počáteční ohodnocení sítě. 34 7
Dining philosophers hl(f) = h+h2, hl(f2) = h2+h3, hl(f3) = h3+h4, hl(f4) = h4+h 35 Simulace systémů hromadné obsluhy Simulace systému M/M//3 FIFO, dva typy zákazníků s různou délkou obsluhy T vstup zákazníků prvního typu, T5 vstup druhého typu. Zákazníci prvního typu se řadí do hornířady P, P2, P3, zákazníci druhého typu se řadí do spodnířady P2, P22, P32. 36 8
Frontové Petriho sítěs Barevné GSPN se dvěma typy míst Obyčejná místa Frontová místa (fronta + zásobník obsloužených zákazníků). Zákazníci (žetony) z fronty nemohou být použity pro odpal následujících přechodů. Nejprve musí proběhnou obsluha podle předepsaného rozdělení délky obsluhy, žeton je přemístěn z frontové části do zásobníku a teprve žetony ze zásobníku mohou být použity pro odpal výstupních přechodů dle zpětných incidenčních funkcí 37 Systém m se ztrátami, tami, Systém m s prioritami 38 9