Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

FORMÁLIS MÓDSZEREK NGM_IN003_1 PETRI HÁLÓK. Történelmi áttekintés Carl Adam Petri (1926-2010) német matematikus a Petri hálók jelölésrendszerét 1939-ben.

Hasonló előadás


Az előadások a következő témára: "FORMÁLIS MÓDSZEREK NGM_IN003_1 PETRI HÁLÓK. Történelmi áttekintés Carl Adam Petri (1926-2010) német matematikus a Petri hálók jelölésrendszerét 1939-ben."— Előadás másolata:

1 FORMÁLIS MÓDSZEREK NGM_IN003_1 PETRI HÁLÓK

2 Történelmi áttekintés Carl Adam Petri ( ) német matematikus a Petri hálók jelölésrendszerét 1939-ben találta ki a Petri hálók matematikai alapjait a doktori disszertációjában dolgozta ki 1962-ben eredetileg kémiai folyamatok leírására szánta

3 Alapok automataelmélet logika

4 Mire használhatók? konkurens: ha benne egyidejűleg működő, önálló egységek kommunikálnak egymással úgy, hogy ezen egységek egymáshoz képest tetszőleges működési fázisban vannak aszinkron: eseményvezérelt rendszer elosztott: egyes rendszerelemek között funkcionális tagolódás van párhuzamos: nagyon hasonlítanak a konkurensekre, lényeges különbség azonban, hogy párhuzamos esetben a rendszerelemek között szoros szinkronizáció áll fenn nemdeterminisztikus: egy-egy adott állapotából nem egyértelmű, melyik állapot lesz a következő és/vagy sztochasztikus rendszerek modellezésére.

5 Alapvető tulajdonságok Egyidejűleg – grafikai – matematikai reprezentáció Struktúrával fejezi ki – vezérlési struktúra – adatmodell

6 Felépítése a Petri hálók építőelemeit 3 csoportba soroljuk – helyek – élek – átmenetek / tranzíció működésükhöz szükség van tokenekre is

7 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 Élek e ∈ E = (P × T) ∪ (T × P) (páros gráf!): – hely – tranzíció – tranzíció – hely – jelölése: nyíl

8 Petri háló állapota Állapotjelző: token – ezeket a helyek közepébe tett pontok jelölik Helyek állapota: – a bennük található tokenek száma A rendszer állapota – tokeneloszlás, az egyes helyek állapotainak összessége – állapotvektor: a π = |P| komponensű M token eloszlás vektor

9 Példa Petri hálóra

10

11

12 Példa Petri hálóra Állapotvektor Általánosan P1 P2 P3 Jelen esetben P1 P3 P2 A kezdőállapotot mindig az M 0 állapotvektor jelöli

13 Matematikai reprezentáció Petri-háló: PN=(P,T,E,W, M0) Helyek halmaza: P={p1, p2, …} Átmenetek halmaza: T={t1, t2, … } Élek halmaza: E ⊆ (PXT) ∪ (TXP) Súlyfüggvény: W:E→ N+ Tokeneloszlás: M:P → N+ Kezdeti tokeneloszlás: M0:P → N+ Ősök és utódok: ●t, t●, ●p, p●

14 Működés Nem más mint állapotváltozás Állapot megváltozása: átmenetek „tüzelése” – Mikor mehet végbe állapotváltozás? Engedélyezettség ellenőrzése Tüzelés – Token elvétele a bemeneti helyről – Token kirakása a kimeneti helyre Tokeneloszlás megváltozik új állapot -> új állapotvektor

15 Működés Engedélyezettség ellenőrzése – Bemeneti helyek / tokenek / bemenő élek – Bemeneti helyeken van-e elég token?

16 Példa működésre

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33 Jellemzők - Azonnali tüzelések nem külön - külön vánszorognak a tokenek egyik tüzelési oldalról a másikra, hanem egyszerre – elemi (atomi) esemény

34 Jellemzők - Aszinkron tüzelések egymással párhuzamos tüzelések lehetnek, azok sorrendje nem függ egymástól. Pakolás a bőröndbe Utazás külföldre Mozijegy vásárlás Film nézés

35 Jellemzők - Nem determinisztikus nem hogy nem függ egymástól a sorrend, de fogalmunk sincs hogy úgy amúgy mi lesz az papír repülő hajtogatás toll firkálás

36 Jellemzők - Két tranzíció nem tüzel egyszerre kávé tejes kávé whiskey Ír kávé tej

37 Jellemzők - Neminterpretált nem feltétlenül kell nekünk a világmindenséget leírni, tudni, van amit csak megnevezünk, és nem mondjuk el, hogy mit is csinál pontosan alvás munka hibás hibátlan

38 Jellemzők - Absztrakció és finomítás bármelyik tranzíció helyére berakhatunk egy fél világmindenséget leíró részt alvás munka öltözés reggeli utazás késésben

39 Jellemzők - Összefoglalás Petri hálók jellemzők Modellezési tulajdonságok azonnali „tüzelések”elemi (atomi) esemény aszinkron tüzelések események szekvenciájának függetlensége nem determinisztikuskonkurencia két tranzíció nem tüzel egyszerrekonfliktus neminterpretáltabsztrakt tulajdonságok absztrakció és finomításhierarchikus modellezés

40 Többszörös élek Bármely e  E élhez rendelhető 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 3

41

42 Topológia példa Határozzuk a következő hálózat topológiáját!

43 Topológia példa megoldás

44 Szomszédossági mátrix

45 w+ azok a számok kerülnek, amiket egy átmenet „belebakol” a helybe w- azok, amiket egy átmenet kivesz a helyből W mátrix összeáll ha a w+ ból kivonjuk a w- mátrixot

46 Szomszédossági mátrix Határozzuk meg az ábrán látható hálózat szomszédossági mátrixát!

47 Szomszédossági mátrix

48 Határozzuk meg az ábrán látható hálózat szomszédossági mátrixát!

49 Szomszédossági mátrix

50 Előző órán Mi is az a PETRI háló? Működése Jellemzői Topológia meghatározás Szomszédossági mátrix

51 A továbbiakban Tüzelési szemantika módosítása Tulajdonság modellek – strukturális és – dinamikus tulajdonságok Dinamikus tulajdonságok vizsgálata Speciális topológiájú Petri hálók

52 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

53 Tüzelési szemantika módosítása Miért is lesz jó nekünk ha ez? Hogyan módosítunk tüzelési szemantikát?

54 Tüzelési szemantika módosítása Korábbiakban volt szó a Petri hálók nemdeterminisztikus működéséről A nemdeterminisztikus működés nem előnyős, mert nem tudjuk megmondani melyik állapot következik Cél: ezen működés korlátozás

55 Tüzelési szemantika módosítása Hogyan érhető ez el? – Prioritás rendelése a tranzíciókhoz – Tiltó élek bevezetése – Kapacitás rendelése a helyekhez

56 Prioritás rendelés a tranzíciókhoz 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ó Azonos prioritási szinten továbbra is nemdeterminisztikus választás! Prioritás bevezetése a formális definícióba Π:T→N

57 Tiltó élek bevezetése Klasszikus Petri hálónál: – Ponált tüzelési feltételek – Bemenő helyeken a feltételek megléte Tiltás – Tiltó él bevezetése – Ha a feltételek megfelelőek a tüzelés akkor se hajtódhat végre

58 Tiltó él Tiltó él használatakor a tüzelési szabályt a következő képen kell egészíthetjük ki: – 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

59 Helyek kapacitáskorlátja Minden egyes p helyhez K(p) kapacitás hozzárendelése Ez a kapacitás lesz az adott helyre maximálisan betölthető tokenek száma A tüzelési szabály újabb kiegészítése: – a tranzíció egyetlen kimenő p helyre sem tölthet a hely K(p) kapacitásánál több tokent

60 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 : mp ≥ w− (p, t ) Kapacitáskorlát (M[t > M’ tüzelés után): ∀ p ∈ t : m’p = mp + w + (t, p) ≤ K(p) Engedélyezett tranzíció tetszés szerint tüzelhet A tüzelés után: ∀ p ∈ P : m’p = mp + w + (t, p) - w− (p, t )

61 A kapacitáskorlát kiküszöbölése P1 P2 2 T1 T2 Hogyan szüntetjük meg a P2 kapacitáskorlátját? K(P2)=4

62 Kiegészítő helytranszformáció 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 M0(p’) = K(p) - M0(p) azaz a p hely még kihasználatlan kapacitása.

63 Kiegészítő helytranszformáció P1 P2 K(P2)=4 2 T1 T2 P’

64 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

65 Kiegészítő helytranszformáció P1 P2 K(P2)=4 2 T1 T2 P’ 2

66 Tulajdonság modellek Tulajdonság modellek két csoportra oszthatók: – strukturális tulajdonságok: ezek a kezdőállapottól függetlenek elemzése a hely-tranzíció, topológia, illetve tüzelési szabályok alapján – dinamikus tulajdonságok: kezdőállapottól függenek elemzés egy adott állapotból

67 Strukturális tulajdonságok Strukturális élőség Vezérelhetőség Strukturális korlátosság Konzervatívság Ismételhetőség Konzisztencia

68 Dinamikus tulajdonságok - általános tulajdonságok Elérhetőség – Adott állapot, ill. állapothalmaz elérhető-e? Korlátosság – Létezik-e a tokenek számának felső korlátja? Élő tulajdonság – A tüzelések engedélyezetté válnak-e? – Holtpontmentesség vizsgálata.

69 Dinamikus tulajdonságok - ciklikus működés jellemzése Megfordíthatóság, ill. visszatérő állapot – Van-e a rendszer működése során ciklus? Fedhetőség – Van-e a rendszer működése során egy korábbi állapotot magában foglaló állapot?

70 Dinamikus tulajdonságok - párhuzamos működés jellemzése Perzisztencia – Engedélyezett tranzíciók letiltják-e egymást? – Párhuzamos működés vizsgálatára. Fair tulajdonság – Tranzíciók tüzelése mennyire függ egymástól – hányszor tudnak egymás nélkül tüzelni. – Párhozamos működés vizsgálatára. – Típusai: Korlátozott fairség Globális fairség

71 Elérhetőség Jelölés (marking) = állapot Tokeneloszlás = állapotváltozó Tüzelés = állapotátmenet Tüzelési sorozatok hatására M 0, M 1, …, M n állapotsorozat Állapotsorozat: trajektória az állapottérben M n állapot elérhető az M 0 kiinduló állapotból: ∃ σ :M 0 [σ > M n

72 Elérhetőségi analízis Az M0 kiinduló állapotból az N Petri hálóban – Elérhető állapotok Állapotra vonatkozó kérdések – Végrehajtható tüzelési sorozatok Állapotátmenetekre (eseményekre) vonatkozó kérdések

73 Elérhetőségi probléma Petri hálók elérhetőségi problémája: – M n állapot elérhető-e valamilyen M 0 kiinduló állapotból Rész-tokeneloszlási probléma: – helyek egy részhalmazára korlátozva elérhető-e M n állapot az adott helyekre megadott tokeneloszlással?

74 Elérhetőségi probléma megoldhatósága Az elérhetőségi probléma elvileg megoldható azonban (legalább) exponenciális az általános esetben Az egyenlőségi probléma megoldására nem létezik algoritmus – feladat: két Petri-háló lehetséges tüzelési sorozatai azonosságának eldöntése – Az egyenlőségi probléma eldönthető (exponenciális időben) 1-korlátos (tokenek száma a helyeken ≤ 1, ún. biztos) Petri hálókra

75 Korlátosság k -korlátosság (korlátosság) – bármely állapotban minden helyen maximum k token lehet (M 0 kiinduló állapot függő!) – Biztos Petri háló: korlátosság speciális esete (k = 1) – végesség kifejezése – korlátosság ⇔ véges állapottér – erőforrás használat, illetve általános értelemben vett feladatkezelés modellezése

76 Élőség Holtpont (deadlock) -mentesség – Minden állapotban legalább egy átmenet tüzelhető Élő tulajdonság – Átmenet egyszer/többször/végtelenszer tüzelhet-e? – Gyenge élő tulajdonságok egy t átmenetre: L 0 -élő (halott): t sohasem tüzelhető egyetlen L 1 -élő: t legalább egyszer tüzelhető valamely L 2 -élő: bármely adott k > 0 egészre t legalább k-szor tüzelhető valamely L 3 -élő: t végtelen sokszor tüzelhető valamely – L 4 -élő: t L 1 -élő bármely állapotban állapot - trajektóriában

77 Élőség Egy (P, T, M o ) Petri háló L k -élő – ha minden t ∈ T átmenete L k -élő L 4 -től L 1 -ig az élő tulajdonságok tartalmazzák egymást Egy (P, T, M o ) Petri háló élőnek nevezünk – ha L 4 -élő, azaz minden t ∈ T átmenete L 4 -élő – Bejárási úttól függetlenül garantáltan holtpontmentes köztes állapottól függetlenül minden átmenet újra tüzelhető holtpontmentesség ⇐ élőség – Bizonyítása költséges lehet szerencsés esetben nem (invariánsok!) ideális rendszert tételez fel

78 Élőség példa t 0 L 0 élő (halott) t 1 L 1 élő t 2 L 2 élő t 3 L 3 élő

79 Megfordíthatóság és visszatérő állapot Megfordíthatóság: – A kezdőállapot bármely követő állapotból elérhető – Gyakran ciklikus működésű hálózat Visszatérő állapot: – Van olyan, a kezdőállapotból elérhető állapot, amely bármely őt követő állapotból elérhető – Gyakran ciklikus (rész)hálózat inicializáló szekvenciával

80 Fedhetőség Fedhetőség definíciója: – Létrejön-e korábbi működést magában foglaló állapot? – M’ állapot fedi M állapotot, ha M állapot fedhető M’ állapottal M’ ≥ M jelentése: – M a t átmenetet engedélyező minimális tokeneloszlás t akkor és csak akkor nem L1-élő, ha M nem fedhető le tehát M lefedhetősége garantálja t L1-élő voltát

81 Perzisztencia Perzisztencia elemzés: – Tüzelések kölcsönhatásának vizsgálata – Két tetszőleges engedélyezett átmenet közül egyik tüzelése sem tiltja le a másik engedélyezettségét engedélyezett átmenet engedélyezve marad tüzelésig! – Rendszerbeli funkcionális dekompozíció megmarad-e? – Párhuzamos működések befolyásolják-e egymást?

82 Fair tulajdonság Fair tulajdonság: – Az irodalomban nem egységes a fairség definíciója – Korlátozott fairség (B-fairség) egy tüzelési szekvencia korlátozottan fair, ha bármely átmenet maximum korlátos sokszor tüzelhet másik tüzelése nélkül – Globális fairség egy tüzelési szekvencia globálisan fair, ha az összes átmenet végtelen sokszor szerepel benne, amennyiben nem véges – Párhuzamos folyamatok nem tartják-e fel egymást? – Valamennyi folyamat végbemegy-e (előbb-utóbb)?

83 Dinamikus tulajdonságok vizsgálata Lehetséges módszerek Állapottér bejárása: – elérhetőségi gráf analízise Algebrai megközelítés Gráf-redukciós algoritmusokra alapuló módszerek Szimuláció

84 Állapottér bejárása Elérhetőségi gráf: – M 0 kezdőállapotból induló állapotgráf csomópontok: tokeneloszlások, állapotátmenetek: tüzelések legfeljebb annyi új csomópont, ahány engedélyezett átmenet – Szélességi típusú bejárás az állapotból tüzelések mentén – Nem korlátos Petri háló → végtelen sok állapot a térben Fedési gráf: végtelen állapottér esetére is – Hasonló felépítés: M 0 kezdőállapot, élek: tüzelések – Kritikus részek: token „túlszaporodás” trajektória: M 0 … M”… M’ és M” ≤ M’ → fedett állapot! speciális szimbólum: ω a végtelenség kifejezője

85 Fedési fa generálása L vizsgálandó := { M0 } Amíg L vizsgálandó ≠ ∅ 1. A következő M ∈ L vizsgálandó állapot kiválasztása 2. Ha M a gyökértől idáig vezető úton már szerepelt Akkor M -et „régi állapotként” jelöljük ↵ (ciklus) 3. Ha M-ben nincs engedélyezett tüzelés Akkor M -et „végállapotként” (halott állapot) jelöljük ↵ (ciklus)

86 Fedési fa generálása Egyébként, (van M -ben engedélyezett átmenet) Minden egyes t engedélyezett átmenetre: Az M’ rákövetkező állapot meghatározása: Ha létezik az M 0 -tól M -ig vezető úton olyan M”, amelyet M’ fed Akkor M” fedett állapot M’ állapotot jelölő tokeneloszlásban a fedett helyek jelöléseit  -val helyettesítjük M’ új állapot: L vizsgálandó := L vizsgálandó  M’ M -ből M’ -höz egy t -vel jelölt élet húzunk  (ciklus)

87 Példa Petri hálóPetri háló fedési fája

88 Példa Petri hálóPetri háló fedési gráfja

89 Fedési fa analízise Közvetlenül is leolvasható tulajdonságok: – Petri háló korlátos  R (N, M 0 ) elérhetőségi gráfja véges  Fedési fában  nem jelenik meg címkeként – Petri háló biztonságos  Csak 0 és 1 jelenik meg csomópont címkeként a fedési fában – Petri háló egy átmenete halott  átmenethez tartozó tüzelés nem jelenik meg élcímkeként a fedési fában

90 Redukció Redukció: – Érthető modellből kompakt modell redundancia eliminálása Modellezés: szempont a valósághűség és érthetőség Elemzés: szempont a tulajdonságok egyszerű és gyors kimutatá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

91 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ágokat.

92 Soros összevonások Soros helyek összevonása (FSP)Soros tranziciók összevonása (FSP)

93 Párhuzamos összevonások Párhuzamos helyek összevonása (FPP)Párhuzamos tranziciók összevonása (FPT)

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

95 Példa t 1 tüzel t 1 és t 2 összevonása, soros tranzíciók p 1 -> t 12 t 3 és t 4 összevonása, soros tranzíciók p 3 -> t 34

96 Példa (folyt.) t 12 önhurok tranzíció törlése p 4 önhurok hely törlés

97 Példa (folyt.)

98 Speciális topológiájú Petri hálók Állapotgép (State Machine, SM) – minden átmenetnek pontosan egy be és kimeneti helye van – van konfliktus, nincs szinkronizáció

99 Speciális topológiájú Petri hálók Jelölt gráf (Marked Graph, MG) – minden helynek pontosan egy be- és kimeneti tüzelése – van szinkronizáció, nincs konfliktus

100 Speciális topológiájú Petri hálók Szabad választású háló (Free-Choice Net, FC) – minden helyből kifelé mutató él vagy egyedüli kimenő él, vagy egyedüli bemenő él egy átmenetbe – lehet konkurencia és konfliktus is, de nem egyszerre – dekomponálható MG és SM komponensekre

101 Speciális topológiájú Petri hálók Kiterjesztett szabad választású háló (EFC) – többszörös szinkronizáció is lehetséges

102 Speciális topológiájú Petri hálók Aszimmetrikus választású háló (AC) – lehetséges az (aszimmetrikus) konfúzió is

103 Speciális topológiájú Petri hálók Á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

104 Invariánsok a Petri hálókban Petri hálók különböző jellemzőiből számíthatók nagy segítség az elemzésben Két féle invariáns létezik – T- (tranzíció-) – P- (place-)

105 T-invariáns olyan tüzelési szekvencia, amely végrehajtása nem változtatja meg a Petri-háló tokeneloszlását bizonyítható a rendszer ciklikus működése ha létezik: – rendszer élő – holtpontmentes

106 P-invariáns általa kijelölt helyeken a tokenek súlyozott összege nem változik azaz a tokenek egy részhalmaza (vagy akár teljes halmaza) a helyek egy (rész)halmazában kering A P-invariánsok által meghatározott helyeken biztosan nem nő a tokenek száma - > a háló korlátos el sem veszik token -> a háló élő

107 Martinez-Silva algoritmus Példa

108 Martinez-Silva algoritmus

109

110

111

112

113 Felhasznált irodalom Benyó Balázs – Formális módszerek (2008) BME MIT (Pararicza, Gyapay, Bartha,… ) NetAcademia-tudástár – (Petri-hálók modellezése és analízise, Formális módszerek az informatikában (1), Formális módszerek az informatikában (2)


Letölteni ppt "FORMÁLIS MÓDSZEREK NGM_IN003_1 PETRI HÁLÓK. Történelmi áttekintés Carl Adam Petri (1926-2010) német matematikus a Petri hálók jelölésrendszerét 1939-ben."

Hasonló előadás


Google Hirdetések