Petri hálók: Alapelemek és kiterjesztések

Hasonló dokumentumok
Petri hálók: Alapelemek és kiterjesztések

Petri hálók: alapfogalmak, kiterjesztések

Petri hálók: alapfogalmak, kiterjesztések

Diszkrét állapotú rendszerek modellezése. Petri-hálók

Diszkrét állapotú rendszerek modellezése. Petri-hálók

2.előadás. alapfogalmak, formális definíció

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok

Elérhetőségi analízis Petri hálók dinamikus tulajdonságai

Alapszintű formalizmusok

Színezett Petri hálók

Modellezés Petri hálókkal. dr. Bartha Tamás dr. Majzik István dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

Színezett Petri-hálók

Színezett Petri hálók

Adat és folyamat modellek

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

folyamatrendszerek modellezése

Magasabb szintű formalizmus: Állapottérképek (statecharts) dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Részletes szoftver tervek ellenőrzése

Alapszintű formalizmusok

Adatfolyam hálók Dr. Bartha Tamás, Dr. Pataricza András fóliái

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Elérhetőségi analízis Petri hálók dinamikus és strukturális tulajdonságai

Petri hálók strukturális tulajdonságai Invariánsok és számításuk

Alapszintű formalizmusok

Részletes tervek ellenőrzése

Modell alapú tesztelés mobil környezetben

Méréselmélet MI BSc 1

Gyakorló feladatok: Formális modellek, temporális logikák, modellellenőrzés. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Forráskód generálás formális modellek alapján

Temporális logikák és modell ellenırzés

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD)

Folyamatmodellezés (BPMN), adatfolyamhálók

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Mérés és modellezés Méréstechnika VM, GM, MM 1

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD)

Modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Mérés és modellezés 1

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

Zárthelyi mintapéldák. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Sztochasztikus temporális logikák

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Hálózati Folyamok Alkalmazásai. Mályusz Levente BME Építéskivitelezési és Szervezési Tanszék

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

Automatikus tesztgenerálás modell ellenőrző segítségével

Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

22. GRÁFOK ÁBRÁZOLÁSA

TDK-dolgozat. Darvas Dániel 2010.

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Véges automaták, reguláris nyelvek

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

Formális verifikáció Modellezés és modellellenőrzés

NEM-DETERMINISZTIKUS PROGRAMOK HELYESSÉGE. Szekvenciális programok kategóriái. Hoare-Dijkstra-Gries módszere

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Diszkrét dinamikus rendszerek viselkedésének felderítése ellenpélda-alapú absztrakció finomítás (CEGAR) segítségével

Diszkrét Eseményű Rendszerek Diagnosztikája és Irányítása

Formális modellezés és verifikáció

Összeállította Horváth László egyetemi tanár

Követelmények formalizálása: Temporális logikák. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Számítógép hálózatok, osztott rendszerek 2009

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Dinamikus modellek szerkezete, SDG modellek

Folyamatmodellezés (BPMN), adatfolyamhálók

5. Hét Sorrendi hálózatok

Gráfelméleti alapfogalmak

Bevezetés az informatikába

Aszinkron rendszerek modellellenőrzése párhuzamos technikákkal

A formális módszerek szerepe

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Időzített átmeneti rendszerek

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

NP-teljesség röviden

Témakörök. Egyed-kapcsolat modell. Alapfogalmak

Hatékony technikák modellellenőrzéshez: Korlátos modellellenőrzés. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Magasabb szintű formalizmus: Állapottérképek (statecharts) dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar. TDK dolgozat. Semeráth Oszkár, doktorandusz október 22.

Sztochasztikus Petri-hálók

Hálózati réteg. WSN topológia. Útvonalválasztás.

Bevezetés az állapottér-elméletbe Dinamikus rendszerek állapottér reprezentációi

Parametrikus tervezés

2. gyakorlat Állapot alapú modellezés Megoldások. 1. feladat. Rendszermodellezés (BMEVIMIAA00), tavaszi félév

Kogníció, koncepciók, modellek

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)

Gráfelméleti alapfogalmak-1

Szoftverminőségbiztosítás

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Java programozási nyelv

Logikai hálózatok. Dr. Bede Zsuzsanna St. I. em. 104.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Számításelmélet. Második előadás

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Modellező eszközök, kódgenerálás

Átírás:

Petri hálók: Alapelemek és kiterjesztések dr. Bartha Tamás dr. Pataricza András dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Modellek a formális ellenőrzéshez Mivel nyújt többet egy magasabb szintű formalizmus? Hogyan használható modellezésre és verifikációra? Mérnöki modellek Modelltranszformációk Magasabb szintű formalizmusok SC, PN, CPN, DFN Alapszintű matematikai formalizmusok KS, LTS, KTS 2

Petri háló: Honnan ered? Carl Adam Petri: német matematikus, 1926-21 A jelölésrendszert 1939-ben, 13 évesen találta ki Eredetileg kémiai folyamatok leírására szánta Később a matematikai alapokat a doktori disszertációjában dolgozta ki (1962-ben, két hét alatt) C. A. Petri: Kommunikation mit Automaten. Schriften des Rheinisch-Westfälischen Institutes für Instrumentelle Mathematik an der Universität Bonn Nr. 2, 1962 3

Petri háló: Mire használható? Petri hálók alkalmazási köre: Konkurens, aszinkron, elosztott, párhuzamos, nemdeterminisztikus rendszerek modellezése Vannak erre más formalizmusok is, pl. automaták hálózata. Miben speciálisak a Petri hálók? Kompaktabb módon fejezik ki az állapotot Szemléletesen fejezik ki a szinkronizációt Tömörebb, átláthatóbb modellek 4

A Petri hálók alapvető tulajdonságai Egyidejűleg biztosítja: Grafikus reprezentáció Matematikai formalizmus Struktúrával fejezi ki: Vezérlési struktúra Adatstruktúra További előnyök: Könnyen kiterjeszthető Áttekinthetőség (+hierarchia) Precizitás, egyértelműség Pl. időzített, sztochasztikus, színezett, hierarchikus Petri hálók Más ábrázolásmódok is leképezhetők Petri hálóvá Intuitív kiterjesztésekkel minden Turing gép szimulálható 5

Petri hálók felépítése, működése

Petri hálók struktúrája Struktúra: Irányított, súlyozott, páros gráf Két típusú csomópont: Hely: p P Jelölése: kör Tranzíció: t T Jelölése: téglalap Irányított élek: Hely tranzíció páros gráf! Tranzíció hely e E, E (P T ) (T P ) 7

Petri háló állapota Helyek: Lehetséges helyzetek, feltételek modellezése Lokális helyzet, feltétel fennáll: Ha a helyet megjelöljük Állapotjelölő: token Jelölése: fekete pötty Pl. Futásra kész hely jelölése, ha egy processz futásra készen áll Hely jelölése (állapota): benne levő tokenek száma Pl. Futásra kész helyen több token, ha több processz is készen áll Hálózat állapota: az egyes helyek jelöléseinek összessége Állapotvektor: az M tokeneloszlás vektor, minden helyhez egy elem M-nek egy m i eleme a p i helyen található tokenek száma p2 1 p1 M p2 p1 p3 3 p3 8

Petri háló működése (dinamika) Tranzíciók: Lehetséges változások modellezése Változás bekövetkezik: Ha a tranzíció tüzel Egy tranzíció csak akkor tüzelhet, ha engedélyezett A tranzíció minden bemeneti élére igaz: Az él végén lévő helyen (bemeneti helyen) van token Tüzelés végrehajtása Token elvétele minden bemeneti helyről Token kirakása minden kimeneti helyre Nem a tokenek mozgatása, hanem elvétel és kirakás! Token elnyelése és generálása is lehetséges Megváltozott token eloszlás vektor: új állapot 9

Egyszerű példa 1

Egyszerű példa 11

Egyszerű példa 12

Egyszerű példa 13

Egyszerű példa 14

Többszörös élek Élsúlyok: Bármely e E élhez w * (e ) N + élsúlyt lehet rendelni A w * (e ) súlyú e él ugyanaz, mint w e számú párhuzamos él Nem rajzolunk párhuzamos éleket, élsúlyt használunk Nem szokás feltüntetni az egyszeres élsúlyt 3 15

Petri hálók jellemzői Összetett tevékenység kezdete Összetett tevékenység vége Petri háló jellemzők azonnali tüzelések Modellezési tulajdonságok elemi (atomi) események Összetett tevékenység folyik 16

Petri hálók jellemzői Petri háló jellemzők Modellezési tulajdonságok azonnali tüzelések elemi (atomi) események diasor készítése diasor feltöltve aszinkron tüzelések konkurens / független események teavíz melegszik teavíz felforrt 17

Egyidejűség, szinkronizáció 1. futó felkészült 1. futó fut 1. futó felkészült 1. futó fut n. futó felkészült n. futó fut n. futó felkészült n. futó fut startpisztoly eldördült futam megy startpisztoly eldördült futam megy 18

Egyidejűség, szinkronizáció 1. futó felkészült 1. futó fut 1. futó felkészült 1. futó fut n. futó felkészült n. futó fut n. futó felkészült n. futó fut n+1 startpisztoly eldördült futam megy startpisztoly eldördült futam megy 19

Példa: Gyalogos lámpa jelzőgombbal Jelzésre vált Szinkronizáció (valt!, valt?) P,NJ P,J Piros esetén jelez Z,NJ Z,J Korlátozó feltétel (is_p == true) 2

Példa: Gyalogos lámpa jelzőgombbal Gyalogos átkelőhely lámpával és nyomógombbal Kereszteződés forgalmi és gyalogos átkelőhely lámpával 21

Petri hálók jellemzői Petri háló jellemzők Modellezési tulajdonságok papír origami azonnali tüzelések aszinkron tüzelések nemdeterminizmus elemi (atomi) események konkurens / független események véletlen események rajz toll 22

Petri hálók jellemzői Petri háló jellemzők Modellezési tulajdonságok tej espresso cappuccino azonnali tüzelések aszinkron tüzelések nemdeterminizmus tranzíciók konfliktusban elemi (atomi) események konkurens / független események véletlen események kizáró események ír kávé whiskey 23

Egyszerű modellek: konfliktus konfliktus Étellift modellje: Három szintről hívhatják, az adott szinten megáll A modell hibás 24

Egyszerű modellek: konfliktus A modell javítása: Feltétel a továbblépéshez és élsúlyok használata 25

Petri hálók jellemzői alvás munka Petri háló jellemzők azonnali tüzelések Modellezési tulajdonságok elemi (atomi) események aszinkron tüzelések konkurens / független események hibátlan hibás nemdeterminizmus tranzíciók konfliktusban véletlen események kizáró események nem interpretált elemek absztrakt események 26

Petri hálók jellemzői alvás munka Petri háló jellemzők azonnali tüzelések Modellezési tulajdonságok elemi (atomi) események aszinkron tüzelések konkurens / független események késésben nemdeterminizmus véletlen események tranzíciók konfliktusban kizáró események öltözködés reggeli utazás nem interpretált elemek absztrakt események absztrakció és finomítás hierarchikus modellezés 27

Alapfogalmak összefoglalása Petri háló: Nemdeterminisztikus véges automata Állapot: tokeneloszlás vektor Állapotátmeneti reláció: tranzíciók Felépítés: Egy-egy hely egy-egy logikai feltétel Petri háló struktúrája követi a feladat logikai dekompozícióját 28

Topológia és jelölések Helyek és tranzíciók bemeneti és kimeneti elemei: t T bemeneti helyei: t T kimeneti helyei: p P bemeneti tranzíciói: p P kimeneti tranzíciói: t = {p (p,t ) E } t = {p (t,p ) E } p = {t (t,p ) E } p = {t (p,t ) E } Csomópontok P P és tranzíciók T T részhalmazára: P' p T' t P' pp' pp' p T ' tt' tt' t 29

Topológia példa p 1 2 t 1 p 4 p 2 t 2 3 4 p 5 p 3 t 3 p 6 p 1 = p 1 = {t 1, t 2 } p 2 = p 2 = {t 2 } p 3 = {t 3 } p 3 = {t 2 } p 4 = {t 1, t 2 } p 4 = p 5 = {t 2 } p 5 = p 6 = {t 2 } p 6 = {t 3 } t 1 = {p 1 } t 2 = {p 1, p 2, p 3 } t 3 = {p 6 } t 1 = {p 4 } t 2 = {p 4, p 5, p 6 } t 3 = {p 3 } 3

Speciális csomópontok és hálók Forrás illetve nyelő tranzíciók: Egy t T forrás tranzíció: Bemenő hely nélküli, azaz t = Forrás tranzíció minden esetben tud tüzelni Egy t T nyelő tranzíció: Kimenő hely nélküli, azaz t = Tiszta Petri hálók: Egy PN tiszta, ha nincsenek önhurkai, azaz t T : t t = 31

Állapotvektor: token eloszlás vektor Kezdőállapot: M kezdő tokeneloszlás Példa: M p 2 2 p 1 3 m 1 m p 3 M 1 3 p p p 1 2 3 32

Felépítés összefoglalása Petri háló (PN): Helyek Tranzíciók (tüzelések) Élek Súlyfüggvény Kezdőállapot PN = P, T, E, W, M P = {p 1, p 2,, p } T = {t 1, t 2,, t } P T = E (P T ) (T P ) W : E N + M : P N PN struktúra: PN adott kezdőállapottal: N = P, T, E, W PN = N, M 33

Dinamikus viselkedés: Engedélyezettség, tüzelés, állapot trajektória

Dinamikus viselkedés Petri hálók működésének egy lépése (állapotváltozás): Tranzíció tüzelése Eredeti állapot: eredeti tokeneloszlás Tüzelés végrehajtása 1. Engedélyezettség fennállása 2. Tokenek elvétele a bemeneti helyekről 3. Tokenek kirakása a kimeneti helyekre Új állapot: megváltozott tokeneloszlás 35

Engedélyezettség feltétele Egy t T tranzíció engedélyezett, ha minden bemeneti helyét legalább annyi token jelöli, mint onnan a tranzícióba vezető él súlya Azaz egy t T tranzíció engedélyezett, ha minden bemeneti helyét legalább w - (p, t ) token jelöli Itt w - (p, t ) a p -ből t -be vezető e = (p, t ) él w * (e ) súlya Formálisan felírva: Egy t tranzíció tüzelése engedélyezett, ha p t : m w ( p, t) p 36

Tüzelés meghatározása Engedélyezett tranzíció tetszés szerint tüzelhet Azaz tüzel vagy nem tüzel ( fire at will ) Egyszerre csak egy tranzíció tüzelhet Ha több tranzíció engedélyezett: Engedélyezett tranzíciók közül ki kell választani egyet, ami tüzelhet Véletlen választással Nemdeterminisztikus működés 37

Nemdeterminizmus és időzítés Tetszés szerinti tüzelés jelentése: Implicit időfogalom Nincs időskála A tüzelés a [, ) időintervallumban bármikor megtörténhet Tüzelésekhez konkrét időket rendelve: Az azonos struktúrájú és kezdőállapotú nemdeterminisztikus időzítetlen Petri háló az időzített Petri hálónak minden lehetséges tüzelési szekvenciáját lefedi 38

Az állapotváltozás nagysága A tranzíció tüzelése: Elvesz w - (p, t) tokent a p t bemeneti helyekről w - (p, t ) nem más, mint a p t él súlya Kitesz w + (t, p) tokent a p t kimeneti helyekre w + (t, p ) nem más, mint a t p él súlya Ha t tranzíció tüzel M állapotban (tokeneloszlással) Új állapot: M = M + W T e t ahol e t a t tranzíciónak megfelelő egységvektor ahol W T a transzponált súlyozott szomszédossági mátrix 39

Súlyozott szomszédossági mátrix Súlyozott szomszédossági mátrix: W = [w(t, p)] Dimenziója: = T P w(t, p) megadja, hogy ha t tüzel, mennyit változik a p -beli tokenszám: w(t, p) = w + (t, p ) w - (p, t ) ha (t, p )E vagy (p, t )E ha (t, p ) E és (p, t ) E t 1 2 p 2 w(t 1, p 1 ) = p w + (t 1, p 1 ) - w - (p 1, t 1 ) = 1 1-2 = -1 3 p 3 4

Súlyozott szomszédossági mátrix példa p 1 2 t 1 p 4 p 2 t 2 3 4 p 5 p 3 t 3 p 6 p 1 p 2 p 3 p 4 p 5 p 6 W 2 1 3 1 1 1 1 4 1 1 t 1 t 2 t 3 41

Súlyozott szomszédossági mátrix példa 2 3 4 p 1 p 2 p 3 p 4 p 5 p 6 t 1 t 2 t 3 1 1 3 1 2 W 1 1 4 1 1 W 1 1 1 4 1 1 3 1 1 2 W 42 p 1 p 2 p 3 p 4 p 5 p 6 t 1 t 2 t 3 W = W + - W

Tüzelési szekvencia Állapotátmeneti trajektória Egymást követő tüzelések hatására felvett állapotok Tüzelési szekvencia = M i t i1 M i1 t in M in vagy = t i1 t in Ha az összes tranzíció kielégíti a tüzelési szabályt: M in állapot M i -ból elérhető a tüzelési szekvencia által: M i [ > M in 43

Kiterjesztett Petri hálók: A tüzelési szemantika módosítása

Petri hálók kiterjesztései Célok: Modellezési erő növelése A működés nemdeterminizmusának korlátozása A formalizmus kiterjesztései: Kapacitáskorlát rendelése a helyekhez Tiltó élek használata Prioritás rendelése a tranzíciókhoz 45

Helyek kapacitáskorlátja Idáig: végtelen kapacitású helyek Nincs korlátozva a tokenek száma egy-egy helyen Végtelen kapacitások, erőforrások megjelenítése Pl. futó hely jelölése nem korlátozott: tetszőleges számú processz lehet futó állapotban Véges kapacitású Petri-háló Minden p helyhez opcionálisan K(p) kapacitás: Az adott helyen elhelyezhető tokenek maximális száma Véges erőforrások megjelenítése Pl. futó hely kapacitása: a futó állapotban lévő processzek maximális száma 46

Tüzelés véges kapacitású Petri hálóban Egy t T tranzíció tüzelése akkor engedélyezett, ha 1. Elegendő token van a bemeneti helyeken: p t : m p w (p, t ) 2. Fennáll a kapacitáskorlát tüzelés után: p t : m p = m p + w(t, p) K(p) azaz a tranzíció tüzelése egyetlen kimenő p helyre sem juttathat a hely K(p) kapacitásánál több tokent Engedélyezett tranzíció tetszés szerint tüzelhet A tüzelés után: pp : m p = m p + w + (t, p) - w (p, t ) 47

Korlátos kapacitású hely El lehet-e kerülni a kapacitáskorlát bevezetését a p hely esetén? 48

Ekvivalens végtelen kapacitású háló (tiszta PN) Csak akkor rakható a p helyre token, ha a kihasználatlan kapacitás megengedi. Az odarakott tokenek csökkentik a kihasználatlan kapacitást. A levett tokenek növelik a kihasználatlan kapacitást. Adminisztrációs hely: Kihasználatlan kapacitás Annyi token rakható a p helyre, amennyit a kapacitáskorlát és a kezdő jelölés különbsége (azaz a kihasználatlan kapacitás) megenged. 49

Kiegészítő helytranszformáció 1/2 Kiegészítő helytranszformáció: Véges kapacitású Petri hálóból ekvivalens működésű nem véges kapacitású háló képzése Tiszta Petri hálók esetén a transzformáció menete: Minden egyes véges kapacitású p helyhez Rendeljünk hozzá egy járulékos p adminisztrációs helyet A p adminisztrációs hely kezdőállapota legyen M (p ) = K(p) - M (p) azaz a p hely még kihasználatlan kapacitása 5

Kiegészítő helytranszformáció 2/2 A p hely és a t p p tranzíciók között kiegészítő éleket húzunk be Az élek iránya attól függ, hogy t tüzelése növeli vagy csökkenti-e a p helyen levő tokenek számát: Ha w(t, p) <, azaz a tüzelés elvesz tokent a p helyről, akkor a t tranzíció és p hely között (t, p ) élet húzunk be w(t, p) súllyal Ha w(t, p) >, azaz a tüzelés berak tokent a p helyre, akkor a p hely és a t tranzíció között (p', t) élet húzunk be w(t, p) súllyal 51

A transzformált háló ekvivalenciája Belátható, hogy a kiegészítő helytranszformáció az alábbi tulajdonságokkal rendelkezik: Ha van egy (N, M ) tiszta, véges kapacitású Petri háló, és alkalmazzuk rá a szigorú tüzelési szabályt (azaz a kapacitáskorlát figyelembevételét), valamint van a fenti transzformáció által létrehozott (N, M ) társhálója ennek a Petri hálónak, amelyben a szokásos (gyenge) tüzelési szabályt alkalmazzuk, akkor a két háló tüzelési szekvenciái azonosak. 52

Klasszikus PN: Tiltás és a tiltó él bevezetése Ponált tüzelési feltételek: A tüzelés a feltétel megléte esetén hajtódjon végre A bemenő helyeken lévő feltételek megléte vizsgált Tiltás kifejezése: Negált tüzelési feltétel: A tüzelés a feltétel megléte esetén ne hajtódjon végre A bemenő helyeken lévő feltétel negáltja vizsgált Modell kiterjesztése: tiltó él 53

Tüzelési szabály tiltó él esetén Tüzelési szabály kiegészítése: Ha a t tranzícióhoz kapcsolódó bármely (p, t) tiltó él p bemenő helyén a w (p, t) élsúlynál nagyobb vagy egyenlő számú token van, akkor a tüzelés nem hajtható végre 2 54

Tiltó élek használata Előny: a tiltó élek bevezetésével a Petri hálók a Turing gépekkel azonos kifejezőerőt nyernek Hátrány: számos analízis módszer tiltó éleket tartalmazó Petri hálókra nem alkalmazható 55

Példa: Kölcsönös kizárás tiltó élekkel t 11 p 11 t 12 p 12 t 13 t 21 p 21 t 22 p 22 t 23 kritikus szakasz p 3 56

Példa: Kölcsönös kizárás tiltó élekkel, elegánsabban t 11 p 11 t 12 p 12 t 13 t 21 p 21 t 22 p 22 t 23 kritikus szakasz p 3 57

Példa: Kölcsönös kizárás tiltó élek nélkül t 11 p 11 t 12 p 12 t 13 t 21 p 21 t 22 p 22 t 23 kritikus szakasz p 3 58

Tiltó él kiváltása egyszerű esetben (nem általános) p 2 p 2 p 4 p 4 t 1 p 1 t 3 p 1 p 1 t 3 p 5 t 2 p 5 p 3 p 3 59

Prioritás bevezetése Egyszerre engedélyezett tranzíciók: melyik tüzeljen? Nemdeterminisztikus választás helyett prioritás legyen Kiterjesztés: Tranzíciókhoz rendelt prioritás Tüzelési szabály módosítása: Az engedélyezett tranzíciók közül egy alacsonyabb prioritású mindaddig nem tüzelhet, amíg van engedélyezett ÉS magasabb prioritású tranzíció Prioritási szinten belül továbbra is nemdeterminisztikus a választás! 6

Prioritással bővített formális definíció Petri háló (PN): Helyek Tranzíciók (tüzelések) Prioritás Élek Súlyfüggvény Kezdőállapot PN = P, T,, E, W, M P = {p 1, p 2,, p } T = {t 1, t 2,, t } P T = : T N E (P T ) (T P ) W: E N + M : P N 61

Prioritás helyett tiltó él? t 1 t 2 t 3 t 1 t 2 t 3 p 1 p 2 p 3 p 1 p 2 p 3 1 > 2 > 3 Ötlet: Nagyobb prioritású tranzíció bemenő helyeiről tiltó éleket húzunk a kisebb prioritású tranzíciókhoz. Mennyire általános érvényű ez a konstrukció? 62

A konstrukció nem általános érvényű??? t 1 t 2 t 3 t 1 t 2 t 3 p 1 p 2 p 3 p 1 p 2 p 3 1 > 2 > 3 63

Tiltó él helyett prioritás? t 1 t 2 t 1 t 2 p 1 p 2 p 1 p 2 1 < 2 Ötlet: A tiltó éllel letiltott tranzíciónak adunk kisebb prioritást. Mennyire általános érvényű ez a konstrukció? 64

Ez a konstrukció sem általános érvényű t 1 t 2 t 3 t 1 t 2 t 3 p 1 p 2 p 3 p 1 p 2 p 3 1 < 3 3 < 1??? 65

Kifejezőerő tiltó éllel Tiltó él képes zero testing -re p=? (Szeretnénk a hálóban egy hely jelölésében látni, hogy m(p)= illetve m(p)!= teljesül-e a p hely jelölésére.) start_test p_zero m(p)= p p_nonzero m(p)!= 66

Kifejezőerő prioritással Prioritás képes zero testing -re p=? (Szeretnénk a hálóban egy hely jelölésében látni, hogy m(p)= illetve m(p)!= teljesül-e a p hely jelölésére.) start_test t 2 p_zero m(p)= p p_nonzero m(p)!= t 1 2 < 1 67

Kifejezőerő összefoglalása [P81] Zero testing képesség lehetővé teszi, hogy minden Turing gép szimulálható Petri hálóval Következmény: eldönthetetlen problémák A kapacitáskorlát csak szintaktikus konstrukció Turing gép = Tiltó él + PN = Prioritás + PN PN = Kapacitás + PN J.L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981. 68

Kiterjesztés nélküli PN kifejező ereje Vannak-e olyan rendszerek, amelyek nem modellezhetőek Petri hálóval, ha egyik kiterjesztést sem használhatjuk? IGEN! A nem modellezhetőség kulcsa: Nem korlátos kapacitású hely esetén nem tesztelhető, hogy a helyen adott k számú token van-e vagy sem Speciális esetként k=, ami zero testing probléma néven ismert Belátható, hogy egy megoldás a zero testing problémára megoldást ad az általános k-val paraméterezett esetre 69

Egyszerű példák Petri háló készítésére

Egyszerű modellek: Pénzfeldobós játék Modellezési konstrukciók: Véletlen választás Kizárások (alternatívák) Számlálás (döntéshez) 71

Egyszerű modellek: Forgalmi lámpa meghibásodással Modellezési konstrukciók: Véletlen esemény Szinkronizáció Állapotváltozó Hibás modell: A hiba csak egy alternatíva Javított modell: Eseményvezérelt megközelítés 72

Egyszerű modellek: Étkező filozófusok Modellezési konstrukciók: Atomi esemény: Két villa felvétele Modellezési konstrukciók: Atomi esemény: Egy-egy villa felvétele Holtpont lehetőség 73

Tipikus modellkonstrukciók Fork-Join Randevú szinkronizálás Szemafor szinkronizálás Kölcsönös kizárás Állapotváltozó leolvasása Korlátos kapacitás 75