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

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

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

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

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

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

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

Színezett Petri-hálók

folyamatrendszerek modellezése

Alapszintű formalizmusok

Színezett Petri hálók

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

Színezett Petri hálók

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

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

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

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

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

Lineáris algebra Gyakorló feladatok

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

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

A szimplex algoritmus

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Matematika (mesterképzés)

Formális nyelvek - 9.

15. LINEÁRIS EGYENLETRENDSZEREK

KOVÁCS BÉLA, MATEMATIKA I.

Bevezetés a számításelméletbe (MS1 BS)

Modellezés Gregorics Tibor Mesterséges intelligencia

Lineáris egyenletrendszerek

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

Vektorok, mátrixok, lineáris egyenletrendszerek

Diszkrét matematika II., 8. előadás. Vektorterek

Matematika A2 vizsga mgeoldása június 4.

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

8. Komponens elvű programfejlesztés. Ágens, akció, cél, kontraktus.

A modell-ellenőrzés gyakorlata UPPAAL

Markov-láncok stacionárius eloszlása

1. Homogén lineáris egyenletrendszer megoldástere

Diszkrét matematika 2.C szakirány

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

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

Mátrixok 2017 Mátrixok

Gráfelméleti alapfogalmak

1 Lebegőpontos számábrázolás

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

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

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

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

A szimplex tábla. p. 1

Algoritmusok bonyolultsága

9. Előadás. Megyesi László: Lineáris algebra, oldal. 9. előadás Mátrix inverze, Leontyev-modell

(Diszkrét idejű Markov-láncok állapotainak

Kronecker-modulusok kombinatorikája és alkalmazások

Algoritmusok bonyolultsága

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Lineáris leképezések (előadásvázlat, szeptember 28.) Maróti Miklós, Kátai-Urbán Kamilla

Gráfelméleti feladatok. c f

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

Diszkrét matematika 2.C szakirány

Kiterjesztések sek szemantikája

Shor kvantum-algoritmusa diszkrét logaritmusra

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

Súlyozott automaták alkalmazása

Részletes szoftver tervek ellenőrzése

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

Tartalom. Állapottér reprezentációk tulajdonságai stabilitás irányíthatóság megfigyelhetőség minimalitás

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

... 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.

3. Lineáris differenciálegyenletek

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

Szemidenit optimalizálás és az S-lemma

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

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

1/ gyakorlat. Lineáris Programozási feladatok megoldása szimplex módszerrel. Pécsi Tudományegyetem PTI

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

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

Totális Unimodularitás és LP dualitás. Tapolcai János

0-49 pont: elégtelen, pont: elégséges, pont: közepes, pont: jó, pont: jeles

Alap fatranszformátorok II

Szoftver karbantartási lépések ellenőrzése

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

PETRI-HÁLÓN ALAPULÓ MODELLEK ANALÍZISE

Bevezetés az informatikába

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

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

Véges automaták, reguláris nyelvek

Determinánsok. A determináns fogalma olyan algebrai segédeszköz, amellyel. szolgáltat az előbbi kérdésekre, bár ez nem mindig hatékony.

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Időzített átmeneti rendszerek

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

E.4 Markov-láncok E.4 Markov-láncok. Sok sorbanállási hálózat viselkedése leírható "folytonos idejű Markovláncok " segítségével.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

Bevezetés az algebrába 1

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

Lineáris programozás. A mese

Occam 1. Készítette: Szabó Éva

Osztott rendszer. Osztott rendszer informális definíciója

Átírás:

Petri hálók strukturális tulajdonságai Invariánsok és számításuk dr. Bartha Tamás Dr. Pataricza András BME Méréstechnika és Információs Rendszerek Tanszék

Az elemzés mélysége szerint: Vizsgálati lehetőségek Szimuláció Állapottér bejárása elérhetőségi gráf analízis egy trajektória bejárása minden trajektória bejárása (kimerítő bejárás) dinamikus (viselkedési) tulajdonságok Strukturális tulajdonságok kezdőállapottól független (bármely kezdőállapotra) invariáns analízis ha mindez nem vezet eredményre Algebrai közelítés, részleges döntés 2

Petri hálók strukturális tulajdonságai

Strukturális tulajdonságok Petri hálók kezdőállapot-független tulajdonságai: Strukturális korlátosság Vezérelhetőség Konzervativitás Hely invariáns, P- (place) invariáns Strukturális élőség Ismételhetőség Konzisztencia Tüzelési invariáns, T- (transition) invariáns Csak a háló struktúra határozza meg őket: vagy korlátos kezdő tokeneloszlásra igazak, vagy olyan korlátos kezdő tokeneloszlás, amire igazak 4

Állapotegyenlet Petri háló dinamikája: tokenek áramlanak Kirchhoff egyenletekhez hasonló egyensúlyi egyenletek Előfeltétel (egyértelműség): tiszta Petri háló Nincs olyan átmenet, amely egyazon helynek egyszerre bemenő és kimenő átmenete: Hurokél a tüzeléskor a tokeneloszlás nem változik, de a tüzelési feltételben szerepet játszik 5

Tüzelési szekvencia: Állapotegyenlet Engedélyezés: t i,j átmenet minden p t i,j bemenő helyén elég token 6

Állapotátmenet: Állapottrajektóriák t i,j átmenet engedélyezett tüzel minden p t i,j bemenő helyéről w (p, t i,j ) tokent vesz el minden p t i, j kimenő helyére w + (p, t i,j ) tokent tesz ki összeadva és átrendezve: Tüzelési szám vektor: az egyes tranzíciók tüzeléseinek száma a tüzelési szekvenciában 7

Állapotegyenlet levezetése 8

Állapotegyenlet és elérhetőség zseton p 1 2 üzemben t3 t2 p 2 nyer veszít indul t 1 t 2 t 3 játékban p 3 A tüzelési szám vektorban kevesebb az információ, mint a tüzelési szekvenciában! 9

Állapotegyenlet és elérhetőség zseton p 1 Tokenmérleg teljesülése a tüzelésnek csak a szükséges feltétele! 2 üzemben t 1 t 2 t 3 nyer veszít indul t 1 t 2 t 3 játékban p 2 p 3 W T = p 1 2 0-1 p 2 1 1-1 p 3-1 -1 1 t 1 és t 3 sem nem tüzelhető a (0,1,0) kezdőállapotban! 10

Invariánsok fogalma Tüzelési és hely invariáns

Tüzelési, avagy T-invariáns A σ tüzelési szekvencia végrehajtása nem változtatja meg a tokeneloszlást: Ciklus az állapottérben: ha σ T szekvencia az M i állapotból végrehajtható! Megjegyzés: bármely σ tüzelési szekvenciához található olyan M 0 kezdőállapot, amelyből σ végrehajtható Pl. esetén induláskor annyira teletömött, hogy a σ tüzelési szekvencia által termelt tokenekre már nincs szükség! 12

Példa T-invariánsra t 1 t 2 után a tokeneloszlás ugyanez t 3 t 1 t 2 tüzelési szekvencia nem ismételhető 13

T-invariánsok halmaza Homogén, lineáris egyenletrendszer egy megoldás többszöröse is megoldás ha tüzelhető, akkor többször is befutja a ciklust megoldás összege is megoldás ha tüzelhető, akkor több ciklus kombinációját futja be megoldások lineáris kombinációi is megoldások Keressünk BÁZIST! az összes megoldást előállító minimális halmaz 14

Minimális T-invariáns A σ tüzelési szekvencia sup(σ) alapja azon átmenetek T = {t i σ i > 0} részhalmaza, amelyek σ szekvenciában előfordulnak A σ T tüzelési invariáns minimális alapú ha nincs olyan T-invariáns, amelynek alapja σ T alapjának valódi részhalmaza, vagy ha részhalmaza azonos, annak tüzelési számai kisebbek 15

Hely, avagy P-invariáns A µ P súlyvektor által kijelölt helyeken a tokenek súlyozott összege nem változik: A tokenek (egy része) a helyek egy részhalmazában kering (pl. erőforrások nem fogynak, nem keletkeznek) 16

Példa P-invariánsra P-invariáns p 1, p 2, p 3 -ra: NEM P-invariáns: 17

Invariánsok alkalmazásai T-invariánsok alkalmazásai Termelési folyamat meghatározása Szabályalapú rendszerek, diagnosztikai problémák Dinamikus tulajdonságok ciklikusan tüzelhető megfordíthatóság, visszatérő állapot később is tüzelhető élő tulajdonság, holtpontmentesség P-invariánsok alkalmazásai Véges automaták keresése dekompozíció Dinamikus tulajdonságok token nem vész el élő tulajdonság, holtpontmentesség token nem termelődik korlátosság 18

Invariánsok számítása

Van-e a példában P-invariáns: = 0 invariáns? t 1 t 2 t 3 2 zseton üzemben p 1 p 2 W T = p 1 2 0-1 p 2 1 1-1 1 p 3-1 -1 1 1 0, 1, 1 = 0 T-invariáns: = 0 t 1 t 2 t 3 nyer veszít indul t 1 t 2 t 3 játékban p 3 W T = p 1 2 0-1 p 2 1 1-1 p 3-1 -1 1 1 1 2 1, 1, 2 = 0 20

Kérdések: Megoldási módszerek σ T bázis komponenseinek értelmezési tartománya? a lineáris kombinációk együtthatóinak értelmezési tartománya? Szint Tartomány Együttható Lineárisan Egyértelmű? Algoritmus független? 1 x Z Q Igen Nem Gauss elimináció 2 x Z Z Igen Nem Hermite redukció 3 x N 0 Q 0 Nem biztos Igen Martinez-Silva 4 x N 0 N 0 Nem biztos Igen Pascoletti 5 x B B Nem biztos Igen Jaxy 21

Példa: processzor adatátvitel Processzor várakozik (idle - üresjárat) busz hozzáférési jogot kér címet tesz ki a címbuszra adatot tesz ki az adatbuszra Busz(ok) szabad (nem használja senki) foglalt (processzor/periféria) Petri háló n = 4 darab átmenet m = 6 darab hely 22

Keressük meg fejben a megoldást! Négy P invariáns található 23

Szomszédossági mátrixok p 1 p 2 p 3 p 4 p 5 p 6 W = 1 0 0 0 0 0 t 1 0 1 0 0 1 0 t 2 0 0 1 0 0 0 t 3 0 0 0 1 0 1 t 4 p 1 p 2 p 3 p 4 p 5 p 6 W + = 0 1 0 0 0 0 t 1 0 0 1 0 0 1 t 2 0 0 0 1 0 0 t 3 1 0 0 0 1 0 t 4 24

Szomszédossági mátrixok t 1 t 2 t 3 t 4-1 0 0 1 p 1 W T = 1-1 0 0 p 2 0 1-1 0 p 3 0 0 1-1 p 4 0-1 0 1 p 5 0 1 0-1 p 6 25

Martinez-Silva algoritmus: inicializálás i 1 T i { t T } A W T, D 1 n // n = P Q i [D A] // egységmátrix + szomszédossági mátrix L p a Q i mátrix p. sora e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 T 1 = { t 1, t 2, t 3, t 4 } Q 1 = 1 0 0 0 0 0-1 0 0 1 p 1 0 1 0 0 0 0 1-1 0 0 p 2 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 26

while A i 0 if t j T i Martinez-Silva algoritmus: ciklus // válasszunk egy eddig nem vizsgált oszlopot T i+1 T i \ { t j } L delete Q i+1 Q i for all u, v : A i (u, j) 0 A i (v, j) 0 λ u, λ v + : λ u A i (u, j) + λ v A i (v, j) = 0 Q i+1 -hez adjuk hozzá a λ u L u +λ v L v sort L delete L delete { L u, L v } end for Q i+1 -ből töröljük az L delete halmazbeli sorokat i i + 1 end while 27

Martinez-Silva algoritmus: 1-1. lépés e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 1 = 1 0 0 0 0 0-1 0 0 1 p 1 0 1 0 0 0 0 1-1 0 0 p 2 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 28

Martinez-Silva algoritmus: 1-2. lépés e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 1 = 1 0 0 0 0 0-1 0 0 1 p 1 0 1 0 0 0 0 1-1 0 0 p 2 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 Q 1 = 1 0 0 0 0 0-1 0 0 1 p 1 0 1 0 0 0 0 1-1 0 0 p 2 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 1 1 0 0 0 0 0-1 0 1 p 1+2 29

Martinez-Silva algoritmus: 1. részeredmény e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 1 = 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 1 1 0 0 0 0 0-1 0 1 p 1+2 30

Martinez-Silva algoritmus: 2-1, 2-2. lépés e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 2 = 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 1 1 0 0 0 0 0-1 0 1 p 1+2 Q 2 = 0 0 1 0 0 0 0 1-1 0 p 3 0 0 0 1 0 0 0 0 1-1 p 4 0 0 0 0 1 0 0-1 0 1 p 5 0 0 0 0 0 1 0 1 0-1 p 6 1 1 0 0 0 0 0-1 0 1 p 1+2 1 1 1 0 0 0 0 0-1 1 p 1+2+3 0 0 1 0 1 0 0 0-1 1 p 3+5 1 1 0 0 0 1 0 0 0 0 p 1+2+6 0 0 0 0 1 1 0 0 0 0 p 5+6 31

Martinez-Silva algoritmus: 2. részeredmény e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 2 = 0 0 0 1 0 0 0 0 1-1 p 4 1 1 1 0 0 0 0 0-1 1 p 1+2+3 0 0 1 0 1 0 0 0-1 1 p 3+5 1 1 0 0 0 1 0 0 0 0 p 1+2+6 0 0 0 0 1 1 0 0 0 0 p 5+6 32

Martinez-Silva algoritmus: 3-1, 3-2. lépés e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 3 = 0 0 0 1 0 0 0 0 1-1 p 4 1 1 1 0 0 0 0 0-1 1 p 1+2+3 0 0 1 0 1 0 0 0-1 1 p 3+5 1 1 0 0 0 1 0 0 0 0 p 1+2+6 0 0 0 0 1 1 0 0 0 0 p 5+6 Q 3 = 0 0 0 1 0 0 0 0 1-1 p 4 1 1 1 0 0 0 0 0-1 1 p 1+2+3 0 0 1 0 1 0 0 0-1 1 p 3+5 1 1 0 0 0 1 0 0 0 0 p 1+2+6 0 0 0 0 1 1 0 0 0 0 p 5+6 1 1 1 1 0 0 0 0 0 0 p 1+2+3+4 0 0 1 1 1 0 0 0 0 0 p 3+4+5 33

Martinez-Silva algoritmus: végeredmény e 1 e 2 e 3 e 4 e 5 e 6 t 1 t 2 t 3 t 4 Q 3 = 1 1 0 0 0 1 0 0 0 0 p 1+2+6 0 0 0 0 1 1 0 0 0 0 p 5+6 1 1 1 1 0 0 0 0 0 0 p 1+2+3+4 0 0 1 1 1 0 0 0 0 0 p 3+4+5 Invariánsok: a végső Q m = [D m 0] mátrix alapján a D m mátrix soraiban található együtthatók Kiszámított P (hely) -invariánsok: 1. m(p 1 )+m(p 2 )+m(p 6 ) = 1 2. m(p 5 )+m(p 6 ) = 1 3. m(p 1 )+m(p 2 )+m(p 3 )+m(p 4 ) = 1 4. m(p 3 )+m(p 4 )+m(p 5 ) = 1 34

Összetettebb példa 35

További strukturális tulajdonságok

Strukturális élőség Egy N Petri háló strukturálisan élő, ha létezik olyan M 0 kezdőállapota, amelyben (N, M 0 ) (L 4 -)élő Szükséges feltétel: erősen összekötött gráf struktúra Jelölt gráfok: egy (G, M 0 ) jelölt gráf a.cs.a. élő, ha M 0 állapotban minden G-beli irányított körben van legalább egy token minden jelölt gráf strukturálisan élő FC hálók: egy szabad választású háló strukturálisan élő, ha minden N beli szifon tartalmaz csapdát Általános (közönséges) Petri hálókra a strukturálisan élőség jellemzése (még) nem ismert 37

Strukturális élőség, korlátosság? nincs élő jelölése nincs nemüres biztos jelölése 38

Vezérelhetőség Egy N Petri háló teljesen vezérelhető, ha bármely korlátos M 0 kezdőállapot esetén: azaz bármely állapot elérhető bármely más állapotból Elégséges feltétel: mert rangfeltétel: ahol m a helyek száma. Ue. szükséges feltétel is jelölt gráfok esetén 39

Strukturális korlátosság Egy N Petri háló strukturálisan korlátos, ha bármely korlátos M 0 kezdőállapotra korlátos marad Feltétele: létezik egy m pozitív komponensű µ Szükségesség: átrendezve: (belső szorzat) felhasználjuk a feltételt felső korlát: 40

Strukturális korlátosság: elégségesség feltétel elégséges is, mert egyébként ekkor megfelelő M 0 választásával σ tetszőlegesen sokszor végrehajtható és N nem korlátos 41

Lineáris mátrixegyenlőtlenségek Lemma Rendszer 1 Rendszer 2 Minkowski- Farkas Minkowski- Farkas vagy az egyik, vagy a másik megoldható Stiemke Farkas nem konzervatív nem strukturálisan korlátos konzervatív strukturálisan korlátos 42

Konzervativitás Egy N Petri háló (részlegesen) konzervatív, ha bármely korlátos M 0 és M R(N, M 0 ) állapotra minden (néhány) p P helyhez található egy µ p pozitív egész súlytényező, hogy Szükséges és elégséges feltétel: 43

Ismételhetőség Egy N Petri háló (részlegesen) ismételhető, ha létezik olyan M 0 kezdőállapot és M 0 -ből induló σ tüzelési szekvencia, hogy minden (néhány) t T tranzíció végtelen sokszor tüzel σ -ban Szükséges és elégséges feltétel: Bizonyítás: ekkor megfelelő M 0 választásával σ tetszőlegesen sokszor végrehajtható 44

Konzisztencia Egy N Petri háló (részlegesen) konzisztens, ha létezik olyan M 0 kezdőállapot és M 0 -ből induló és M 0 -ba visszavezető σ tüzelési szekvencia, hogy minden (néhány) t T tranzíció legalább egyszer tüzel σ -ban Szükséges és elégséges feltétel: Bizonyítás: ismételhetőség feltételénél látott módon 45

Strukturális B-fairség Két tranzíció strukturálisan B-fair, ha bármely M 0 kezdőállapot esetén B-fair (korlátos fair) relációban állnak. Egy N Petri háló B-fair, ha bármely két tranzíciója esetén a B-fair reláció teljesül Egy N Petri háló strukturálisan B-fair, ha bármely M 0 kezdőállapotra a háló B-fair B-fair reláció ekvivalencia reláció tranzíciókat ekvivalencia osztályokba csoportosítja Strukturális B-fair reláció B-fair reláció 46

Strukturális B-fairség feltétele Egy strukturálisan korlátos Petri háló a.cs.a. strukturálisan B-fair, ha konzisztens és csak egy minimális nemnegatív T-invariánsa van, vagy nem konzisztens és nincs minimális nemnegatív T-invariánsa Minden erősen összekötött jelölt gráf strukturálisan B-fair 47

B-fair, de nem strukturálisan B-fair háló élő és B-fair M 0 élő, de nem B-fair M 0 48

Összefoglalás Tulajdonság Szükséges és elégséges felt. SB CN Strukturálisan korlátos Konzervatív PCN Részlegesen konzervatív RP PRP CS PCS Ismételhető Részlegesen ismételhető Konzisztens Részlegesen konzisztens 49

További strukturális tulajdonságok Ha N strukturálisan korlátos és strukturálisan élő Akkor N konzervatív és konzisztens. Létezik nem élő M 0 N hez. N nem konzisztens. (N, M 0 ) nem korlátos egy élő M 0 esetén. N nem konzisztens. Létezik nem élő M 0 strukturálisan korlátos N hez. N nem konzisztens. N nem strukturálisan korlátos. N nem konzervatív. 50

Példa Petri háló modell analízisére Alternáló bit protokol

A modellezési feladat Alternating Bit Protocol Átviteli protokoll veszteséges csatornához üzenet elveszhet (véges számú alkalommal) üzenet tartalma nem változhat Cél: a protokoll biztosítsa, hogy minden üzenet véges időn belül eljusson a vevőhöz 52

Küldő folyamat Üzenetekhez egy ellenőrző bitet kapcsol Az üzenetek megérkezését nyugta jelzi A nyugta tartalmazza az ellenőrző bitet Első üzenethez csatolt bit: b 0 ha az üzenet elvész, a folyamat időtúllepéssel észleli a nyugta hiányát újra küldi ha a folyamat b 0 bittel ellátott nyugtát kap (ilyet várt), akkor a következő üzenethez b 1 = b 0 bitet köt ha a folyamat b X bittel ellátott nyugtát vár és b Y bittel ellátott nyugtát kap egyszerűen eldobja 53

Fogadó folyamat Első vétel: b 0 ellenőrző bittel jelölt üzenetet kap Az üzenetet feldolgozza, a vételt a kapott bit visszaküldésével nyugtázza ha a következő üzenetben az ellenőrző bit értéke b 1 (helyesen), akkor az új üzenetet is feldolgozza és a b 1 bit visszaküldésével nyugtázza ha a következő üzenetben az ellenőrző bit értéke b 0 (nem megfelelő), akkor az üzenetet eldobja (korábban már feldolgozta), de nyugtát küld 54

UPPAAL modell const int N=10; typedef int[0,1] bit_t; typedef int[0,2] value_t; typedef int[0,n] error_t; value_t val_d, val_a; error_t err_d, err_a; chan data_in, ack_in; urgent chan data_out, ack_out; 55

Küldő folyamat Petri háló modellje 56

Fogadó folyamat Petri háló modellje 57

Adat csatorna és az átvitel 58

Nyugtázó csatorna 59

Hibás bittel jelölt nyugta eldobása Hibás bittel jelölt nyugta eldobása Hibás bittel jelölt üzenet eldobása Hibás bittel jelölt üzenet eldobása 60

Ugyanez a modell PetriDotNet-ben 61

Ugyanez a modell Snoopy-ban 62

DNAnet analízis eszköztár 63

DNAnet: Dinamikus tulajdonságok Korlátosság (Boundedness) Élő (L 4 -élő) tulajdonság (Liveness) Holtpont (Deadlock) felderítése Visszatérő állapotok (Home States) Fedési gráf (Coverability Graph) Hely invariánsok (P-Invariants) Tüzelési invariánsok (T-Invariants) 64

DNAnet: A modell dinamikus tulajdonságai 65

INA: Petri háló tulajdonságok 66

PetriDotNet analízis eredmények 67

DNAnet: Hely invariánsok 68

DNAnet: Tüzelési invariánsok hibátlan végrehajtás adatvesztés nyugtázás vesztés kétszeres nyugtázás vesztés (nem tüzelhető) elkésett nyugta feldolgozás 69

Hibás bittel jelölt nyugta eldobása Hibás bittel jelölt nyugta eldobása Hibás bittel jelölt üzenet eldobása Hibás bittel jelölt üzenet eldobása 70

INA: Invariánsok 71

INA: Egy másfajta megjelenítési formátum semipositive place invariants = 1 12.empty_ack_ : 1, 13.ack_1 : 1, 14.ack_0 : 1 2 0._place_0 : 1, 1._place_1 : 1, 2._place_2 : 1, 3._place_3 : 1, 4._place_4 : 1, 5._place_5 : 1 3 15.empty_data_ : 1, 16.data_y : 1, 17.data_x : 1 4 6._place_6 : 1, 7._place_7 : 1, 8._place_8 : 1, 9._place_9 : 1, 10._place_10 : 1, 11._place_11 : 1 semipositive transition invariants = 1 0._transition_0 : 1, 1._transition_1 : 1, 4.sack_0_ : 1, 5.rdata_x_0_ : 1, 6.sack_1_ : 1, 7.rdata_y_1_ : 1, 12._transition_12 : 1, 13._transition_13 : 1, 14.sdata_y_1_ : 1, 15.rack_1_ : 1, 16.rack_0_ : 1, 17.sdata_x_0_ : 1 2 10.tout_y_ : 1, 14.sdata_y_1_ : 1, 20.lose_data_y_ : 1 3 2.drop_y_ : 1, 6.sack_1_ : 1, 9.drop_1_ : 1, 10.tout_y_ : 1, 14.sdata_y_1_ : 1 72

PetriDotNet: Invariáns analízis 73

DNAnet: Fedési (elérhetőségi) gráf (részlet) 74

INA: Elérhetőségi gráf 75

PetriDotNet: Elérhetőségi gráf rajzolása (GraphViz) 76