petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–carl adam...

90
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

Upload: others

Post on 23-Feb-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 2: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 3: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri háló: Mi az?

• A Petri hálók „eredete”

– 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

Page 4: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri háló: Mire használható?

Petri hálók alkalmazási köre

• konkurrens,

• aszinkron,

• elosztott,

• párhuzamos,

• nemdeterminisztikus

• sztochasztikus

rendszerek modellezése.

és/vagy

• 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

4

Page 5: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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:

+ 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

áttekinthetőség (+hierarchia)

precizitás, egyértelműség

5

Page 6: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

– tranzíció: t T

• Irányított élek:

– hely tranzíció

– tranzíció hely

– e E : (P T ) (T P )

páros gráf!

jelölése: kör

jelölése: téglalap

6

Page 7: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri háló állapota

Állapot:

• Állapotjelölő: token

– 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 mi komponense a pi helyen található tokenek száma

• „pi –t mi token jelöli”

2

3

7

Page 8: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 9: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

9

Page 10: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

10

Page 11: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

11

Page 12: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

12

Page 13: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

13

Page 14: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

14

Page 15: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

15

Page 16: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

16

Page 17: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű példa

17

Page 18: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri hálók jellemzői

Petri háló jellemzők

Modellezési tulajdonságok

„azonnali” tüzelések

elemi (atomi)események

18

Összetetttevékenység

kezdete

Összetetttevékenység

vége

Összetetttevékenység

folyik

Page 19: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri hálók jellemzői

Petri háló jellemzők

Modellezési tulajdonságok

„azonnali” tüzelések

elemi (atomi)események

aszinkron tüzelések

események szekvenciája / függetlensége

19

mosogatás törölgetés

előadásfóliák

készítése

előadásgyakorlása

Page 20: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyidejűség, szinkronizáció

20

startpisztolyeldördül

futammegy

1. futófelkészül

1. futó fut

n. futófelkészül

n. futó fut

startpisztolyeldördül

futammegy

1. futófelkészül

n. futófelkészül

1. futó fut

n. futó fut

Page 21: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri hálók jellemzői

Petri háló jellemzők

Modellezési tulajdonságok

„azonnali” tüzelések

elemi (atomi)események

aszinkron tüzelések

események szekvenciája / függetlensége

nem-determinizmus

konkurencia

21

toll

firka

papír

origami

Page 22: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri hálók jellemzői

Petri háló jellemzők

Modellezési tulajdonságok

„azonnali” tüzelések

elemi (atomi)események

aszinkron tüzelések

események szekvenciája / függetlensége

nem-determinizmus

konkurencia

két tranzíció nem tüzel egyszerre

konfliktus

22

whiskey

ír kávé

espresso

capuccino

tej

Page 23: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri hálók jellemzői

Petri háló jellemzők

Modellezési tulajdonságok

„azonnali” tüzelések

elemi (atomi)események

aszinkron tüzelések

események szekvenciája / függetlensége

nem-determinizmus

konkurencia

két tranzíció nem tüzel egyszerre

konfliktus

neminterpretáltabsztrakt

tulajdonságok

23

munka

alvás

hibátlan

hibás

Page 24: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Petri hálók jellemzői

Petri háló jellemzők

Modellezési tulajdonságok

„azonnali” tüzelések

elemi (atomi)események

aszinkron tüzelések

események szekvenciája / függetlensége

nem-determinizmus

konkurencia

két tranzíció nem tüzel egyszerre

konfliktus

neminterpretáltabsztrakt

tulajdonságok

absztrakció és finomítás

hierarchikus modellezés

24

munka

alvás

öltözködés reggeli utazás

késésben

Page 25: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Állapotvektor: token eloszlás vektor

• Kezdőállapot: M0 kezdő token elosztás

• Példa:

pm

m

M 1

2

3

1

2

3

1

0

3

p

p

p

M

p1

p2

p3

25

Page 26: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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 we darab párhuzamos él

• Nem rajzolunk párhuzamos éleket, élsúlyt használunk

• Nem szokás feltüntetni az egyszeres súlyokat

3

26

Page 27: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 28: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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:

• Csomópontok P’ P és tranzíciók T’ T részhalmazára:

t = {p |(p,t ) E }

t = {p |(t,p ) E }

p = {t |(t,p ) E }

p = {t |(p,t ) E }

'

'

'

'

p P

p P

P p

P p

'

'

'

'

t T

t T

T t

T t

28

Page 29: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Topológia példa

2

3 4

p1

p2

p3

p4

p5

p6

t1

t2

t3

p2 = p2 = {t2}

p3 = {t3} p3 = {t2}

p4 = {t1, t2} p4 =

p5 = {t2} p5 =

p6 = {t2} p6 = {t3}

p1 = p1 = {t1, t2}

t2 = {p1, p2, p3}

t2 = {p4, p5, p6}

t3 = {p6}

t3 = {p3}

t1 = {p1}

t1 = {p4}

29

Page 30: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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, M0

P = {p1, p2, …, pp}

T = {t1, t2, …, t}

P T =

E (P T ) (T P )

w* : E N+

N = P, T, E, W

M0 : P N

PN = N, M0

30

Page 31: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 32: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 33: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

),(: tpwmtp p

33

Page 34: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Á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

Page 35: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 36: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 37: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Példa: közlekedési lámpa

Készítsük el az alábbi állapottérképnek „megfelelő” Petri hálót!

37

Page 38: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Közlekedési lámpa Petri háló modellje

Lámpa

Számláló

Kamera

38

Page 39: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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 tüzel M állapotban

• Új állapot: M’ = M + WTet

– ahol et a t tranzíciónak megfelelő egységvektor

39

Page 40: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Szomszédossági mátrix

• Súlyozott szomszédossági mátrix: W = [w(t, p)]

• Dimenziója: p = |T | |P |

• 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 ) E0

40

Page 41: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Szomszédossági mátrix példa

2

3 4

p1

p2

p3

p4

p5

p6

t1

t2

t3

100000

000131

000002

W

000100

141000

001000

W

100100

141131

001002

W

41

Page 42: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Tüzelési szekvencia

• Állapotátmeneti trajektória

– egymást követő tüzelések hatására felvett állapotok

• Tüzelési szekvencia

= Mi0 ti1 Mi1 … tin Min ti1 … tin

• Ha az összes tranzíció kielégíti a tüzelési szabályt:

– Min állapot Mi0-ból elérhető a tüzelési szekvencia által:

Mi0 [ > Min

42

Page 43: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 44: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 45: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Tipikus modellkonstrukciók

Fork-Join típusú párhuzamos végrehajtás

Randevú típusú szinkronizálás

Szemafor típusú szinkronizálás

Kölcsönös kizárás megvalósítása

Állapotváltozó leolvasása

Korlátos erőforrás kapacitás modellezése

45

Page 46: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Tipikus modellkonstrukciók

Fork-Join

Kölcsönös kizárás Korlátos kapacitás Állapotváltozó leolvasása

Randevú szinkronizálás Szemafor szinkronizálás

46

Page 47: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 48: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 49: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A DNAnet modellező program képe

49

Page 50: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 51: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A Snoopy modellező program képe

51

Page 52: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Analízis eszközök Snoopy-hoz

• Charlie (Java)

– 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

Page 53: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A PetriDotNet modellező program

• Képességei

– 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

Page 54: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A Petri.NET modellező program képe

54

Page 55: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 56: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 57: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 58: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű modellek: állapotváltozó leolvasása

• Modellvasút váltóbelépő ág

• Modellvasút váltókilépő ág

• Modellvasút szemafor

58

Page 59: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű modellek: nemdeterminizmus

• Győztes kihirdetése

• Pénzfeldobós játék modellje. A fej nyer. Döntetlen is lehetséges.

nemdeterminizmus korlátozása

59

Page 60: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Egyszerű modellek: konfliktus

• Étellift modellje. Három szintről hívhatják, az adott szinten megáll.

• A modell hibás.

konfliktus

• A modell javítása

60

Page 61: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 62: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 63: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 64: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 65: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 66: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 67: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

kritikus szakasz

Példa tiltó él alkalmazására: kölcsönös kizárás

t11 t12 t13p11 p12

p3

t21 t22 t23p21 p22

67

Page 68: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Lehet ezt elegánsabban is:

kritikus szakasz

t11 t12 t13p11 p12

p3

t21 t22 t23p21 p22

68

Page 69: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A legegyszerűbb azonban:

kritikus szakasz

t11 t12 t13p11 p12

p3

t21 t22 t23p21 p22

69

Page 70: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Tiltó él kiváltása egyszerű esetben

t1p1

p4

t3

p5t2

p1

p2

p3

p1

p4

t3

p5

p2

p3

70

Page 71: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 72: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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, M0

P = {p1, p2, …, pp}

T = {t1, t2, …, t}

P T =

: T N

E (P T ) (T P )

w* : E N+

N = P, T, E, W

M0 : P N

PN = N, M0

72

Page 73: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

„Prioritás” közönséges Petri hálóban

t1 t2 t3

p1 > p2 > p3

p1 p2 p3

t1 t2 t3

p1 p2 p3

„körforgó” prioritás

73

Page 74: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

„Prioritás” köztes fázissal

t1 t2 t3

p1 p2 p3

74

Page 75: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Prioritás tiltó éllel

t1 t2 t3

p1 > p2 > p3

p1 p2 p3

t1 t2 t3

p1 p2 p3

75

Page 76: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A konstrukció nem általános érvényű

t1 t2 t3

p1 > p2 > p3

p1 p2 p3

t1 t2 t3

p1 p2 p3

76

Page 77: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Tiltó él prioritással

t1 t2

p1 < p2

p1 p2

t1 t2

p1 p2

77

Page 78: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Azonban ez sem alkalmazható általánosan

t1 t2 t3

p1 p2 p3

t1 t2 t3

p1 p2 p3

p1 < p3

p3 < p1p1 < p1

78

Page 79: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 80: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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 )

80

Page 81: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Korlátos kapacitású hely

81

Page 82: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

82

Page 83: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

M0(p’) = K(p) - M0(p)

azaz a p hely még kihasználatlan kapacitása.

83

Page 84: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 85: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

A transzformált háló ekvivalenciája

• Belátható, hogy a kiegészítő helytranszformáció az

alábbi tulajdonsággal rendelkezik:

– Ha (N, M0) 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

Page 86: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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

Page 87: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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émané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

Page 88: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Kiterjesztések és kifejező erő

• Kapacitás korlát csak „szintaktikai édesítőszer”

• Tiltó él képes „zero testing”-re

p=0?

p

p=0

p!=0

88

Page 89: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

Kiterjesztések és kifejező erő (folyt.)

• Prioritás képes „zero testing”-re

• Bizonyítható: tiltó él helyettesíthető prioritással

p=0?

p

p=0

p!=0

t1

t2

p2 < p1

89

Page 90: Petri hálók: alapfogalmak, kiterjesztések - inf.mit.bme.hu³ria/oktatás/msc...–Carl Adam Petri: német matematikus, 1926– –a jelölésrendszert 1939-ben, 13 évesen találta

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