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

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

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

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

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

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

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

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

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

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

folyamatrendszerek modellezése

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

Alapszintű formalizmusok

Színezett Petri-hálók

Diszkrét matematika 2.C szakirány

Modell alapú tesztelés mobil környezetben

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

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

Színezett Petri hálók

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

Diszkrét matematika 2.

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

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ínezett Petri hálók

Adat és folyamat modellek

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

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

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Diszkrét matematika I.

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

Kereskedési rendszerek kétoldalú szerződésekkel

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

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

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

Bevezetés az informatikába

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

Részletes tervek ellenőrzése

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

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

III. Gráfok. 1. Irányítatlan gráfok:

5. Hét Sorrendi hálózatok

Alap fatranszformátorok II

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

ELTE IK Esti képzés tavaszi félév. Tartalom

Gráfelméleti alapfogalmak

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

Szoftverminőségbiztosítás

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

Diszkrét matematika 2. estis képzés

Részletes szoftver tervek ellenőrzése

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

Állapot minimalizálás

Diszkrét matematika 2.C szakirány

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

Mechatronika alapjai órai jegyzet

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Mesterséges Intelligencia MI

KOVÁCS BÉLA, MATEMATIKA I.

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

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés

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

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

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

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

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

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

Diagnosztika Petri háló modellek felhasználásával

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

SZÁMÍTÁSTUDOMÁNY ALAPJAI

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

Programfejlesztési Modellek

Diszkrét matematika 2. estis képzés

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

Exact inference in general Bayesian networks

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

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Dinamikus modell: állapotdiagram, szekvencia diagram

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

Szoftver karbantartás

Szoftverminőségbiztosítás

TDK-dolgozat. Darvas Dániel 2010.

Diszkrét matematika II. gyakorlat

Dinamikus modellek szerkezete, SDG modellek

Diszkrét matematika 2.C szakirány

MM CSOPORTELMÉLET GYAKORLAT ( )

Programozási módszertan

Formális nyelvek - 9.

Kiegészítő segédlet szinkron sorrendi hálózatok tervezéséhez

Értékáram elemzés szoftveres támogatással. Gergely Judit Lean-klub

2. Visszalépéses stratégia

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

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

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

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

Építésikivitelezés-Vállalkozás / 2: Gráftechnikai alapfogalmak VÁLLALKOZÁS. javított háttöltés

Szoftver értékelés és karbantartás

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Diszkrét matematika 1. estis képzés

Átírás:

Elérhetőségi probléma egyszerűsítése: Állapottér és struktúra redukció Petri-háló alosztályok dr. Bartha Tamás 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 Redukció: Érthető modellből kompakt modell redundancia eliminálása További egyszerűsítés: modell kifejezőereje csökken ellenőrzött változtatások, de a funkcionalitás megváltozik a kiválasztott tulajdonságokat megőrzi! eredeti modellt a tulajdonságok szerint fedő modell jön létre Sokféle tulajdonságmegőrző transzformáció létezik 2

Petri hálók redukciós módszerei Állapottér redukció

Elérhetőségi probléma egyszerűsítése Szimmetriák kihasználása Azonos hálózatrészek csak egyszer vizsgálva pl. erőforrás csoportok: azonos módon viselkedő tagok Invariancia a ciklikus permutációra nézve Színezett Petri hálók Jól formált színezett Petri hálók (WFN) Állapottér bejárás hatékonyságának növelése Csak az érdekes állapotok bejárása Tulajdonságmegőrző redukció Csak a szükséges mennyiségű állapotváltás bejárása Alternatív utak elhagyása 4

Elérhetőségi probléma egyszerűsítése Részleges sorrendezési redukció Elérhető állapotok részlegesen sorrendezett halmazt alkotnak Aszinkron működés: átlapolás alternatív utak, azonos eredmény Végállapotokat nézve (elérhetőség) az alternatív utak redundánsak 5

T1 T2 Példa: alternatív utak (0,0,0) (x,y,g) x=1 y=1 x=1 y=1 (1,0,0) g=g+2 y=1 x=1 (0,1,0) g=g*2 g=g+2 g=g*2 (1,0,2) (1,1,0) (0,1,0) y=1 g=g+2 g=g*2 x=1 Lokális változók: x és y Globális változó: g (1,1,2) g=g*2 (1,1,0) g=g+2 (1,1,4) (1,1,2) 6

Példa: alternatív utak T1 T2 x=1 y=1 g=g+2 g=g*2 Lokális változók: x és y Globális változó: g 6 lehetséges lefutás: 1. x=1; g=g+2; y=1; g=g*2 2. x=1; y=1; g=g+2; g=g*2 3. x=1; y=1; g=g*2; g=g+2 4. y=1; g=g*2; x=1; g=g+2 5. y=1; x=1; g=g*2; g=g+2 6. y=1; x=1; g=g+2; g=g*2 7

Példa: alternatív utak T1 T2 x=1 y=1 g=g+2 g=g*2 x=1 y=1 x=1 F V F g=g+2 g=g*2 y=1 F F V g=g+2 V F A F: független V: vezérlési függőség A: adatfüggőség g=g*2 F V A 8

Példa: részleges sorrendezési redukció T1 T2 1. x=1; g=g+2; y=1; g=g*2 x=1 y=1 2. x=1; y=1; g=g+2; g=g*2 g=g+2 g=g*2 3. y=1; x=1; g=g+2; g=g*2 4. x=1; y=1; g=g*2; g=g+2 5. y=1; x=1; g=g*2; g=g+2 6. y=1; g=g*2; x=1; g=g+2 9

T1 T2 Példa: alternatív utak (0,0,0) (x,y,g) x=1 y=1 x=1 y=1 (1,0,0) g=g+2 y=1 x=1 (0,1,0) g=g*2 g=g+2 g=g*2 (1,0,2) (1,1,0) (0,1,0) y=1 g=g+2 g=g*2 x=1 Lokális változók: x és y Globális változó: g (1,1,2) g=g*2 (1,1,0) g=g+2 (1,1,4) (1,1,2) 10

A részleges sorrendezési redukció alkalmazása Két LTS: T1 és T2 sorrendezett: x g és y g igaz tulajdonság: pl. (g = 0 g > x) Redukált gráf eltávolított élek: szürke független: x=1 és y=1 adatfüggő: g+=2 és g*=2 igaz tulajdonság: pl. (g 2) Redukció redundáns utak eltávolítása független párok: x=1 y=1 x=1 g=g*2 y=1 g=g+2 vigyázat, függ a céltól! pl. (x y) tulajdonság a redukáltban igaz, az eredetiben nem igaz 11

Példa: tulajdonság alapú függőség (0,0,0) x=1 y=1 (x y) x=1 y=1 g=g+2 g=g*2 (1,0,0) g=g+2 y=1 x=1 (0,1,0) g=g*2 x=1 T V F (1,0,2) (1,1,0) (0,1,0) y=1 g=g+2 g=g*2 x=1 y=1 T F V (1,1,2) g=g*2 (1,1,0) g=g+2 g=g+2 V F A (1,1,4) (1,1,2) g=g*2 F V A 12

Példa: tulajdonságmegőrző redukció x=1 y=1 g=g+2 g=g*2 1. x=1; g=g+2; y=1; g=g*2 x=1 T V F 2. x=1; y=1; g=g+2; g=g*2 3. y=1; x=1; g=g+2; g=g*2 y=1 T F V 4. x=1; y=1; g=g*2; g=g+2 g=g+2 V F A 5. y=1; x=1; g=g*2; g=g+2 g=g*2 F V A 6. y=1; g=g*2; x=1; g=g+2 13

T1 Példa: tulajdonságmegőrző redukció T2 (0,0,0) (x,y,g) ez az állapot nem eliminálható x=1 y=1 x=1 y=1 (1,0,0) g=g+2 y=1 x=1 (0,1,0) g=g*2 g=g+2 g=g*2 (1,0,2) (1,1,0) (0,1,0) y=1 g=g+2 g=g*2 x=1 x és y tulajdonság szempontból függenek (1,1,2) g=g*2 (1,1,0) g=g+2 (1,1,4) (1,1,2) 14

Részleges sorrendezési redukció alapja Két állapotátmenet független egy s állapotban, ha mindkettő engedélyezett az s állapotban egyikük végrehajtása sem tiltja le a másikat (nincs vezérlési függőség perzisztencia) a két állapotátmenet együttes hatása független a végrehajtási sorrendtől (sem adat, sem tulajdonság függőség) Erős függetlenség két állapotátmenet erősen független, ha függetlenek minden olyan állapotban, amelyben mindkettő engedélyezett 15

Petri hálók redukciós módszerei Struktúra redukció

Elérhetőségi probléma kezelése Struktúra redukálása Tulajdonságmegtartó transzformáció redukált modellre Hierarchikus modellezés Részhálózatok összevonása egyetlen csomóponttá Petri hálók nemdeterminizmusa modellabsztrakció Keresési tér behatárolása durvább modellen Részletes analízis egy finomított modellen Kompozícionális verifikáció Rendszerek részrendszerek + interfészek + együttműködés Részrendszerek analízise és az együttműködések vizsgálata A teljes rendszer analízise a részrendszerekre kapott eredményekből 17

Transzformációk Egyszerű tulajdonságmegőrző transzformációk: soros helyek összevonása soros tranzíciók összevonása párhuzamos helyek összevonása párhuzamos tranzíciók összevonása önhurkot alkotó helyek törlése önhurkot alkotó tranzíciók törlése Megőrzik az élő, korlátos és biztos tulajdonságot 18

Soros összevonások soros helyek összevonása (FSP) soros tranzíciók összevonása (FST) 19

Párhuzamos összevonások párhuzamos helyek összevonása (FPP) párhuzamos tranzíciók összevonása (FPT) 20

Önhurkok törlése önhurkot alkotó helyek törlése (ESP) önhurkot alkotó tranzíciók törlése (EST) 21

Példa t 1 t 12 t 3 p 3 t 4 t 2 a példa t korlátos, 1 ttüzelése 12 törlése de (önhurkot nem élő (és alkotó nem tranzíció) megfordítható) t 1 pés 3 törlése t 2 összevonása (önhurkot (soros alkotó tranzíciók) hely) t 12 t 3 és t 4 összevonása (soros tranzíciók) t 34 22

Példa t 1 t 3 t 4 t 2 t 1 tüzelése t 1 és t 2 összevonása (soros tranzíciók) t 12 t 3 és t 4 összevonása (soros tranzíciók) t 34 23

Példa: 2. lépés t 12 p 3 t 12 törlése (önhurkot alkotó tranzíció) p 3 törlése (önhurkot alkotó hely) 24

Példa: eredmény a példa korlátos, de nem élő (és nem megfordítható) 25

Egyszerű struktúrájú Petri hálók viselkedése

Konfliktus, konkurencia Konfliktus (strukturális): kizáró események, választás e 1 vagy e 2 esemény következik be, de csak az egyik Konkurencia: párhuzamos események e 1, e 2 esemény kauzálisan független: e 1 e 2 e 2 e 1 reflexív: e 1 co e 1 és e 2 co e 2 szimmetrikus: e 1 co e 2 e 2 co e 1 nem tranzitív: e 1 co e 2 e 2 co e 3 e 1 co e 3 t 1 t 3 t 2 fork t 4 join 27

Konfúzió Konfúzió: konkurencia és konfliktus is jelen van Szimmetrikus: egyaránt konkurens és konfliktusos t 1 és t 2 konkurens, mindkettő konfliktusban van t 3 átmenettel Aszimmetrikus: tüzelési szekvenciától függően t 4 és t 5 konkurens, de ha t 5 tüzel előbb, akkor t 4 konfliktusba kerül t 6 átmenettel p 1 p 2 p 3 p 5 p 6 t 5 p 4 t 1 t 3 t 2 t 4 t 6 28

Petri háló alosztályok A továbbiakban végig közönséges Petri hálókról beszélünk!

Alosztályok Állapotgép (State Machine, SM) minden átmenetnek pontosan egy be- és kimeneti helye van konfliktus, nincs szinkronizáció Jelölt gráf (Marked Graph, MG) minden helynek pontosan egy be- és kimeneti tüzelése van szinkronizáció, nincs konfliktus 30

Szabad választású háló (Free-Choice Net, FC) Alosztályok (folyt.) közönséges Petri háló, melyben minden helyből kifelé mutató él vagy egyedüli kimenő él, vagy egyedüli bemenő él egy átmenetbe t 1 p 1 t 2 lehet konkurencia és konfliktus is, de nem egyszerre nincs benne konfúzió dekomponálható MG és SM komponensekre p 2 p 3 t 3 31

Alosztályok (folyt.) Kiterjesztett szabad választású háló (EFC) p 1 t 1 többszörös szinkronizáció is lehetséges p 2 t 2 Aszimmetrikus választású háló (AC) p 1 t 1 lehetséges az (aszimmetrikus) konfúzió is p 2 t 2 Nincs szimmetrikus választású a többi PN 32

EFC transzformációja FC-re FC és EFC közös tulajdonsága: ha t 1 és t 2 közös bemeneti helye, akkor nincs olyan állapot, melyben az egyik engedélyezett és a másik nem EFC transzformálható tulajdonságmegtartó módon FC-re p 1 p 2 p 1 p 2 t 1 t 2 t 1 t 2 33

Alapstruktúrák p 1 t 1 SM, MG AC, EFC p 2 t 2 t 1 MG, SM p 1 t 2 p 1 t 1 p 2 EFC, FC p 2 t 2 PN, AC t 3 34

Az alosztályok viszonya PN AC EFC FC SM MG Állapotgép (SM) nem enged meg szinkronizációt Jelölt gráf (MG) nem enged meg választást Szabad választású háló (FC) nem enged meg konfúziót Aszimmetrikus vál. háló (AC) megenged aszimmetrikus konfúziót, de nem enged meg szimmetrikus konfúziót 35

Élő és bizt(onság)os tulajdonság kritériumai Szükséges feltétel általános esetben: Ha egy (N, M 0 ) Petri háló élő és biztos, akkor N erősen (szigorúan) összekötött gráf topológia bármely csomópontból bármely másikba vezet irányított út sem forrás, sem nyelő csomópontok: Elégséges feltételek alosztályokra fogalmazhatók meg 36

Miért nem lehetnek forrás és nyelő csomópontok? p = (forrás hely) p t t nem élő p = (nyelő hely) t p p nem biztos, ha t élő t = (forrás tranzíció) t p p nem biztos t = (nyelő tranzíció) p t t nem élő, ha p biztos 37

Miért nem elégséges az összekötöttség? nincs élő jelölése nincs nemüres biztos jelölése 38

Élő és biztos tulajdonság az SM hálókban 1. Egy (N, M 0 ) állapotgép a.cs.a. élő, ha N erősen összefüggő és M 0 -ban van legalább egy token triviális, hiszen minden tüzelés csak egy tokent mozgat 2. Egy (N, M 0 ) állapotgép a.cs.a. biztos, ha M 0 -ban van legfeljebb egy token 3. Egy élő (N, M 0 ) állapotgép a.cs.a. biztos, ha M 0 -ban pontosan egy token van 39

Jelölt gráf reprezentáció (N, M 0 ) (G, M 0 ) p 1 p 4 p 3 p 1 p 7 p 2 p 2 p 5 p 8 p 7 p 8 p 5 p 6 p 4 p 3 p 6 40

Élő tulajdonság az MG hálókban 4. Egy (G, M 0 ) jelölt gráfban a tokenek száma minden C irányított körben állandó közönséges Petri háló: egyszeres élek; minden csomóponthoz a körben egy bemenő és egy kimenő él 5. 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 41

Biztos tulajdonság az MG hálókban 6. Egy (G, M 0 ) jelölt gráfban egy élt jelölő tokenek maximális száma egyenlő az élt tartalmazó bármely irányított körön az M 0 állapotban levő tokenek minimális számával y elsütése nélkül x-et maximum C k C 2 alkalommal lehet elsütni x y p i C 1 42

Biztos tulajdonság az MG hálókban 7. Egy élő (G, M 0 ) jelölt gráf a.cs.a. biztos, ha minden él (hely) olyan C irányított körben van, amelyre M 0 (C ) = 1 8. Egy G irányított gráfban a.cs.a. létezik élő és biztos jelölt gráfot létrehozó M 0 állapot, ha G erősen összefüggő gráf a feltétel triviálisan szükséges elégséges is, hiszen van legalább egy irányított kör, és minden irányított körbe elég egy tokent tenni 43

Biztos tulajdonság az MG hálókban Visszacsatoló élhalmaz (Feedback Arc Set, FAS) Egy E élhalmaz visszacsatoló élhalmaz, ha elhagyásával a G erősen összefüggő gráf irányított kör mentessé válik, azaz a G = (V, E E ) körmentes minimális FAS: egyetlen valódi részhalmaza sem FAS minimum FAS: egyetlen más FAS sem tartalmaz kevesebb élt 9. Egy erősen összekötött élő (G, M 0 ) jelölt gráf a.cs.a. biztos, ha az M 0 kezdőállapotból elérhető minden M R (G, M 0 ) állapotban a jelölt élek halmaza minimális visszacsatoló élhalmaz 44

FC hálók vizsgálata: szifon és csapda Egy S helyhalmaz szifon, ha S S minden S-beli kimeneti helyhez bemeneti hely S-ben egy állapotban tokenmentes követő állapotokban is Egy Q helyhalmaz csapda, ha Q Q minden Q-beli bemeneti helyhez kimeneti hely Q-ban egy állapotban jelölt követő állapotokban is S = {t 1 } S = {t 1, t 2 } S S t 1 t 2 Q = {t 1, t 2 } Q = {t 1 } Q Q t 1 t 2 45

Élő és biztos tulajdonság az FC hálókban 10.Egy (N, M 0 ) szabad választású háló a.cs.a. élő, ha minden N beli szifon tartalmaz jelölt csapdát 11.Egy élő (N, M 0 ) szabad választású háló a.cs.a. biztos, ha N lefedhető egy tokent tartalmazó erősen összekötött SM komponensekkel 12. Ha (N, M 0 ) élő és biztos szabad választású háló, akkor N lefedhető erősen összekötött MG komponensekkel. Létezik olyan M R (N, M 0 ), hogy minden (N 1, M 1 ) komponens élő és biztos MG háló, ahol M 1 az M-nek N 1 -re vett rész tokeneloszlása 46

Példa: élő és biztos FC háló Élő és biztos a jelölt kezdőállapottal, mert minden SM komponens erősen összekötött, egy tokent tartalmaz, és a komponensek lefedik a teljes hálót minden MG komponens erősen összekötött, egy tokent tartalmaz, és a komponensek lefedik a teljes hálót 47

SM dekompozíció Allokáció: választás a szinkronizációban részt vevő tevékenységek közt Redukció menete 1.Allokáció választása 2.A nem allokált helyek törlése 3.Minden kimeneti hely nélküli átmenet törlése 4.Minden törölt kimeneti tüzeléssel bíró hely törlése 48

A példa FC háló SM dekompozíciója 49

MG dekompozíció Allokáció: választás a konfliktusban levő átmenetek közt Redukció menete 1. Allokáció választása 2. A nem allokált átmenetek törlése 3. Minden bemeneti tüzelés nélküli hely törlése 4. Minden törölt bemeneti hellyel bíró átmenet törlése 50

A példa FC háló MG dekompozíciója 51