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

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

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

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

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

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

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

Színezett Petri hálók

folyamatrendszerek modellezése

Adat és folyamat modellek

Színezett Petri-hálók

Színezett Petri hálók

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

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

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

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

Modell alapú tesztelés mobil környezetben

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

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

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

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

Időzített átmeneti rendszerek

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

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

Parametrikus tervezés

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

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

Szekvenciális hálózatok és automaták

Részletes szoftver tervek ellenőrzése

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

Digitális technika (VIMIAA02) Laboratórium 4

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

Bevezetés az informatikába

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

5. Hét Sorrendi hálózatok

Véges automaták, reguláris nyelvek

Digitális technika (VIMIAA02) Laboratórium 4

3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások

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

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

TDK-dolgozat. Darvas Dániel 2010.

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

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Részletes tervek ellenőrzése

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

Soros felépítésű folytonos PID szabályozó

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

Magasabb szintű formalizmus: Állapottérképek (statecharts) dr. 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

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

Modellek ellenőrzése és tesztelése

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

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

Dr. Mileff Péter

Méréselmélet MI BSc 1

Szimuláció. Fault Tolerant Systems Research Group. Budapest University of Technology and Economics. Department of Measurement and Information Systems

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

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

Termék modell. Definíció:

Programfejlesztési Modellek

Rendszermodellezés 1. ZH, A csoport, nagyfeladatok

Sztochasztikus temporális logikák

Mérés és modellezés 1

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

Digitális technika (VIMIAA01) Laboratórium 4

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

NP-teljesség röviden

Szoftver-modellellenőrzés absztrakciós módszerekkel

Dinamikus modellek szerkezete, SDG modellek

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

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

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

Példa sejtautomatákra. Homokdomb modellek.

Összefoglalás és gyakorlás

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

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

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

Hálózat hidraulikai modell integrálása a Soproni Vízmű Zrt. térinformatikai rendszerébe

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

Kogníció, koncepciók, modellek

Szoftverminőségbiztosítás

Állapotalapú modellezés

Forgalmi modellezés BMEKOKUM209

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Modellek végrehajtása, kódgenerálás

Automaták és formális nyelvek

Aszinkron rendszerek heurisztikával támogatott modellellenőrzése

22. GRÁFOK ÁBRÁZOLÁSA

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

Turing-gép május 31. Turing-gép 1. 1

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

Diplomamunka. Petri hálók szimulációja és alkalmazásuk objektum-orientált környezetben. készítette: Bedők Dávid v0.4.

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

Hurokegyenlet alakja, ha az áram irányával megegyező feszültségeséseket tekintjük pozitívnak:

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

A Markovi forgalomanalízis legújabb eredményei és ezek alkalmazása a távközlő hálózatok teljesítményvizsgálatában

Átírás:

Petri hálók: alapfogalmak, kiterjesztések dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

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

A Petri hálók eredete Petri háló: Mi az? Carl Adam Petri: német matematikus, 1926 a jelölésrendszert 1939-ben, 13 évesen találta ki eredetileg kémiai folyamatok leírására szánta 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 konkurrens, aszinkron, elosztott, párhuzamos, nemdeterminisztikus sztochasztikus rendszerek modellezése. Vannak más formalizmusok, pl. állapotgépek (automaták). Akkor minek egy másik? Kompakt módon fejezi ki az állapotot Szemléletesen fejezi ki a szinkronizációt Tömörebb, átláthatóbb modellek és/vagy 4

A Petri hálók alapvető tulajdonságai Egyidejűleg: grafikus matematikai reprezentáció Struktúrával fejezi ki: vezérlési struktúra adatstruktúra Előnyök/hátrányok: áttekinthetőség (+hierarchia) precizitás, egyértelműség + más ábrázolásmódok is kiteríthetőek Petri hálóvá egyszerű feladathoz is nagy Petri háló tartozhat pl. megoldó módszer automatikusan generált modellekhez 5

Petri hálók struktúrája Strukturálisan: 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 : (P T ) (T P ) 6

Állapot: Állapotjelölő: token Petri háló állapota token jelölése: fekete pötty a hely körébe rajzolva Hely állapota: benne levő tokenek száma Hálózat állapota: az egyes helyek állapotainak összessége Állapotvektor: a p = P komponensű M token eloszlás vektor Az m i komponense a p i helyen található tokenek száma p i t m i token jelöli 2 3 7

Petri háló működ(tet)ése, dinamika Állapotváltás: Állapot megváltozása: tranzíciók tüzelése engedélyezettség vizsgálata tüzelés végrehajtása tokenek elvétele a bemeneti helyekről tokenek kirakása a kimeneti helyekre megváltozott token eloszlás vektor: új állapot Engedélyezettség: feltételek teljesülnek-e? feltétel: bemeneti helyek / tokenek / bemenő élek bemeneti helyeken van-e elég token? minden egyszeres él egy tokent szállít 8

Egyszerű példa 9

Egyszerű példa 10

Egyszerű példa 11

Egyszerű példa 12

Egyszerű példa 13

Egyszerű példa 14

Egyszerű példa 15

Egyszerű példa 16

Egyszerű példa 17

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 18

Petri hálók jellemzői Petri háló jellemzők Modellezési tulajdonságok azonnali tüzelések elemi (atomi) események előadás fóliák készítése előadás gyakorlása aszinkron tüzelések események szekvenciája / függetlensége mosogatás törölgetés 19

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

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 események szekvenciája / függetlensége konkurencia firka toll 21

Petri hálók jellemzői Petri háló jellemzők Modellezési tulajdonságok tej espresso capuccino azonnali tüzelések aszinkron tüzelések nemdeterminizmus két tranzíció nem tüzel egyszerre elemi (atomi) események események szekvenciája / függetlensége konkurencia konfliktus ír kávé whiskey 22

Petri hálók jellemzői alvás hibátlan munka hibás Petri háló jellemzők azonnali tüzelések aszinkron tüzelések nemdeterminizmus két tranzíció nem tüzel egyszerre neminterpretált Modellezési tulajdonságok elemi (atomi) események események szekvenciája / függetlensége konkurencia konfliktus absztrakt tulajdonságok 23

Petri hálók jellemzői alvás munka késésben öltözködés reggeli utazás Petri háló jellemzők azonnali tüzelések aszinkron tüzelések nemdeterminizmus két tranzíció nem tüzel egyszerre neminterpretált absztrakció és finomítás Modellezési tulajdonságok elemi (atomi) események események szekvenciája / függetlensége konkurencia konfliktus absztrakt tulajdonságok hierarchikus modellezés 24

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

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

Alapfogalmak összefoglalása Petri háló: Nemdeterminisztikus véges automata Állapotvektor: token eloszlás vektor Állapotátmeneti függvény: 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 27

Topológia n (P T ) csomópont n ősei és n utódai: t T ősei a bemeneti helyei: t T utódai a kimeneti helyei: p P ősei a bemeneti tranzíciói: p P utódai a 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 28

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 } 29

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

Dinamikus viselkedés: engedélyezettség, tüzelés, állapottrajektória

Dinamikus viselkedés Petri hálók működésének egy lépése: Állapot megváltozása: tranzíciók tüzelése korábbi állapot: kezdeti token eloszlás vektor tüzelés végrehajtása 1. engedélyezettség vizsgálata 2. tokenek elvétele a bemeneti helyekről 3. tokenek kirakása a kimeneti helyekre új állapot: megváltozott token eloszlás vektor 32

Engedélyezettség feltétele Ha egy t T tranzíció minden bemeneti helyét legalább w - (p, t ) token jelöli: w - (p, t ) a p -ből t -be vezető e = (p, t ) él w * (e ) súlya a tranzíció tüzelése engedélyezett, ha p t : m w ( p, t) p 33

Állapotátmenet Tüzelés végrehajtása: Engedélyezett tranzíció tetszés szerint tüzel vagy nem fire at will, de egyszerre csak egy tranzíció tüzelhet! Több tranzíció engedélyezett: konfliktus engedélyezett tranzíciók közül ki kell választani egyet, aki tüzelhet konfliktusfeloldás: véletlen választással Nemdeterminisztikus működés A tranzíció tüzelése: elvesz w - (p, t ) darab tokent a p t bemeneti helyekről w - (p, t ) a p t él súlya elhelyez w + (t, p ) darab tokent a p t kimeneti helyekre w + (t, p ) a t p él súlya 34

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 [0, ) időintervallumban bárhol megtörténhet Tüzelésekhez tetszőleges 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. 35

Speciális csomópontok Forrás ill. nyelő csomópontok t T forrás (nyelő) tranzíció: Bemenő (kimenő) hely nélküli ( t = illetve t = ) Forrás tranzíció minden esetben tud tüzelni PN tiszta, ha nincsenek önhurkai, azaz t T : t t = 36

Példa: közlekedési lámpa Készítsük el az alábbi állapottérképnek megfelelő Petri hálót! 37

Kamera Számláló Lámpa Közlekedési lámpa Petri háló modellje 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 ) a p t él súlya kitesz w + (t, p ) tokent a p t kimeneti helyekre w + (t, p ) a t p él súlya Ha tüzel M állapotban Új állapot: M = M + W T e t ahol e t a tranzíciónak megfelelő egységvektor 39

Szomszédossági mátrix Súlyozott szomszédossági mátrix: W = [w(t, p)] Dimenziója: p = T P Ha 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 0 ha (t, p ) E és (p, t ) E 40

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 0 0 0 0 0 0 0 0 1 3 1 0 0 0 0 0 2 W 0 0 0 1 0 0 1 4 1 0 0 0 0 0 1 0 0 0 W 1 0 0 1 0 0 1 4 1 1 3 1 0 0 1 0 0 2 W 41

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 i0 t i1 M i1 t in M in t i1 t in Ha az összes tranzíció kielégíti a tüzelési szabályt: M in állapot M i0 -ból elérhető a tüzelési szekvencia által: M i0 [ > M in 42

Petri háló modellek készítése Alapvető konstrukciók

A Petri háló elkészítésének lépései 1. Helyek felvitele 2. Átmenetek elhelyezése 3. Helyek és átmenetek összekötése élekkel 4. Paraméterek beállítása 5. Élek kiigazítása 6. Kezdeti jelölés (marking) beállítása 7. Modell működtetése, animáció 8. Dinamikus tulajdonságok ellenőrzése 9. Nem interaktív szimuláció (kvantitatív analízishez) 44

Tipikus modellkonstrukciók Kölcsönös Korlátos kizárás erőforrás Állapotváltozó kapacitás megvalósítása modellezése leolvasása Fork-Join típusú Szemafor típusú Randevú típusú párhuzamos szinkronizálás szinkronizálás végrehajtás 45

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 46

Modellező eszközök: DNAnet, Snoopy, PetriDotNet

A DNAnet modellező program Képességei grafikus szerkesztő interaktív animáció (token game) egyszerű analízis: dinamikus tulajdonságok ellenőrzése nem interaktív szimuláció (teljesítmény analízishez) Előnyei kicsi, kompakt, gyors, egyszerűen kezelhető méretéhez képest sokat tud ingyenes, szabad felhasználású Hátránya nem minden környezetben futtatható nem túl stabil 48

A DNAnet modellező program képe 49

A Snoopy modellező program Snoopy (Windows, Linux) (kizárólag) grafikus szerkesztő egyszerűen kezelhető kényelmi funkciók: copy / paste, undo / redo Token Game (animált) kiterjesztések: tiltó él, olvasó él, reset él, egyenlőség él számos háló típus, többek között színezett háló is támogatja hierarchikus Petri hálók készítését elemek színezése, méretezése, élsúlyok kijelzése on-line help (hiányos) 50

A Snoopy modellező program képe 51

Charlie (Java) Analízis eszközök Snoopy-hoz dinamikus tulajdonságok, elérhetőség strukturális tulajdonságok, invariánsok explicit CTL és LTL modellellenőrző INA (Windows, Linux) szöveges felületű parancssori program Token Game (szöveges) invariáns analízis, elérhetőségi gráf generálás strukturális tulajdonságok ellenőrzése szimulációs képességekkel nem rendelkezik 52

Képességei A PetriDotNet modellező program grafikus szerkesztő + Token Game + szimuláció egyszerűen kezelhető, sok kényelmi funkció kiterjesztések: tiltó él, időzítés, színezett háló támogatja hierarchikus Petri hálók készítését kiegészítő modulokkal bővíthető, pl. analízis modulok dinamikus tulajdonságok, CTL modellellenőrző elemek színezése, elforgatása, élsúlyok kijelzése szabványos PNML fájlformátum, van hozzá INA kimenet Hazai fejlesztés: Darvas Dániel fejleszti 53

A Petri.NET modellező program képe 54

Egyszerű példák Petri hálókra

Egyszerű modellek: szinkronizáció Gyalogos átkelőhely lámpával és nyomógombbal Kereszteződés forgalmi és gyalogos átkelőhely lámpával 56

Egyszerű modellek: szinkronizáció és állapotváltozó Kereszteződés forgalmi lámpával, meghibásodhat Állapotvezérelt Kereszteződés forgalmi lámpával, meghibásodhat Eseményvezérelt 57

Egyszerű modellek: állapotváltozó leolvasása Modellvasút váltó belépő ág Modellvasút váltó kilépő ág Modellvasút szemafor 58

Egyszerű modellek: nemdeterminizmus Pénzfeldobós játék modellje. A fej nyer. Döntetlen is lehetséges. nemdeterminizmus korlátozása Győztes kihirdetése 59

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

Egyszerű modellek: kölcsönös kizárás Pénzfeldobós játék: egyszerre csak ketten játszatnak Modellvasút szakasz érzékelő 61

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

A tüzelési szemantika módosítása Cél: Petri hálók működési nemdeterminizmusának korlátozása Prioritás rendelése a tranzíciókhoz Kapacitás rendelése a helyekhez Tiltó élek bevezetése 63

Tiltás Klasszikus PN: ponált tüzelési feltételek a bemenő helyeken a feltételek megléte? Tiltás: egyes feltételek bekövetkeztekor a működés ne hajtódjék végre tiltó él (őrfeltétel: tranzíciókhoz kapcsolt logikai feltétel) 64

Tiltó él 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 a tüzelés nem hajtható végre 2 65

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ó 66

Példa tiltó él alkalmazására: kölcsönös kizárás t 11 p 11 t 12 p 12 t 13 t 21 p 21 t 22 p 22 t 23 kritikus szakasz p 3 67

Lehet ezt elegánsabban is: t 11 p 11 t 12 p 12 t 13 t 21 p 21 t 22 p 22 t 23 kritikus szakasz p 3 68

A legegyszerűbb azonban: t 11 p 11 t 12 p 12 t 13 t 21 p 21 t 22 p 22 t 23 kritikus szakasz p 3 69

Tiltó él kiváltása egyszerű esetben 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 70

Prioritás Tranzíciókhoz rendelt prioritás 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 választás! 71

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

Prioritás közönséges Petri hálóban t 1 t 2 t 3 t 1 t 2 t 3 p 1 p 2 p 3 p 1 > p 2 > p 3 p 1 p 2 p 3 körforgó prioritás 73

Prioritás köztes fázissal t 1 t 2 t 3 p 1 p 2 p 3 74

Prioritás tiltó éllel t 1 t 2 t 3 t 1 t 2 t 3 p 1 p 2 p 3 p 1 p 2 p 3 p 1 > p 2 > p 3 75

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 p 1 > p 2 > p 3 76

Tiltó él prioritással t 1 t 2 t 1 t 2 p 1 p 2 p 1 p 2 p 1 < p 2 77

Azonban ez sem alkalmazható általánosan t 1 t 2 t 3 t 1 t 2 t 3 p 1 p 2 p 3 p 1 p 2 p 3 p 1 < p 1 p 1 < p 3 p 3 < p 1 78

Helyek kapacitáskorlátja Idáig: végtelen kapacitású helyek az állapotvektor komponensei tetszőleges nemnegatív egészek véges erőforráskészlet természetes megjelenítése? Véges kapacitású Petri-háló minden egyes p helyhez opcionálisan K(p) kapacitás az adott helyre betölthető tokenek maximális száma Tüzelési szabály kiegészül: a tranzíció egyetlen kimenő p helyre sem tölthet a hely K(p) kapacitásánál több tokent 79

Tüzelés véges kapacitású Petri hálóban Egy t T tranzíció tüzelése akkor engedélyezett, ha elegendő token van a bemeneti helyeken: p t : m p w (p, t ) Kapacitáskorlát (M [t > M tüzelés után): p t : m p = m p + w + (t, p) K(p) Engedélyezett tranzíció tetszés szerint tüzelhet A tüzelés után: p P : m p = m p + w + (t, p) - w (p, t ) 80

Korlátos kapacitású hely 81

Ekvivalens végtelen kapacitású háló 82

Kiegészítő helytranszformáció Tiszta Petri hálók esetén a transzformáció menete: Minden egyes korlátos 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 M 0 (p ) = K(p) - M 0 (p) azaz a p hely még kihasználatlan kapacitása. 83

Kiegészítő helytranszformáció 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: 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) < 0, azaz a tüzelés elvesz tokent a p helyről A p hely és a t tranzíció között (p', t) élet húzunk be w(t, p) súllyal, ha w(t, p) > 0, azaz a tüzelés berak tokent a p helyre 84

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

Kiterjesztett és közönséges Petri hálók kifejezőereje

Kiterjesztés nélküli PN kifejező ereje Vannak olyan rendszerek, amelyek nem modellezhetőek PN-el, 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=0, 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 87

Kiterjesztések és kifejező erő Kapacitás korlát csak szintaktikai édesítőszer Tiltó él képes zero testing -re p=0? p=0 p p!=0 88

Kiterjesztések és kifejező erő (folyt.) Prioritás képes zero testing -re Bizonyítható: tiltó él helyettesíthető prioritással t 2 p=0? p=0 p p!=0 t 1 p 2 < p 1 89

Kifejező erő összefoglalás [P81] Zero testing képesség lehetővé teszi, hogy minden Turing gép szimulálható PN-el (Következmény: eldönthetetlen problémák ) Turing gépek = Tiltó él + PN= Prioritás + PN PN = Kapacitás + PN = [P81] J.L. Peterson, Petri Net Theory and the Modeling of Systems, Prentice-Hall, 1981. 90