Színezett Petri hálók

Hasonló dokumentumok
Színezett Petri hálók

Színezett Petri-hálók

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

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

Diszkrét állapotú rendszerek modellezése. 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

Alapszintű formalizmusok

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

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

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

folyamatrendszerek modellezése

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

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

Programok értelmezése

Algoritmizálás és adatmodellezés tanítása 1. előadás

Programozás alapjai. 5. előadás

Kiterjesztések sek szemantikája

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

Dinamikus modellek szerkezete, SDG modellek

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

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

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

FUNKCIONÁLIS PROGRAMOZÁS

Modell alapú tesztelés mobil környezetben

Időzített átmeneti rendszerek

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

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

BASH script programozás II. Vezérlési szerkezetek

Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás

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

A modell-ellenőrzés gyakorlata UPPAAL

Alapszintű formalizmusok

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

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

S z á m í t ó g é p e s a l a p i s m e r e t e k

Adat és folyamat modellek

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Programozási nyelvek (ADA)

Követelmények formalizálása: Temporális logikák. dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

ködös határ (félreértés, hiba)

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

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

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

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

Struktúra nélküli adatszerkezetek

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

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

Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26

Komputeralgebra Rendszerek

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

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

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

Adatszerkezetek I. 1. előadás

OOP. Alapelvek Elek Tibor

BPEL nyelvű üzleti folyamatok modellezése és formális ellenőrzése

Formális módszerek 1

A C programozási nyelv II. Utasítások. A függvény.

HALMAZELMÉLET feladatsor 1.

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

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

Fordítás Kódoptimalizálás

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Részletes szoftver tervek ellenőrzése

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

sallang avagy Fordítótervezés dióhéjban Sallai Gyula

Oktatási segédlet 2014

Apple Swift kurzus 3. gyakorlat

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

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

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

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

Relációs algebra 1.rész alapok

Szkriptnyelvek. 1. UNIX shell

Programozási nyelvek (ADA)

Analízis előadás és gyakorlat vázlat

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

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

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Python tanfolyam Python bevezető I. rész

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

Modellezés Gregorics Tibor Mesterséges intelligencia

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

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

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

Maximum kiválasztás tömbben

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Formális nyelvek - 9.

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

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

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

Átírás:

Színezett Petri hálók dr. Bartha Tamás dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Étkező filozófusok Petri-háló modellje Motiváció 2

Motiváció Miért nem így? 3

Motiváció Tokenek megkülönböztetése: Színezett Petri-háló val n = 5; colset PH = index ph with 1..n; colset CS = index cs with 1..n; var p: PH; fun Chopsticks(ph(i)) = 1`cs(i) ++ 1`cs(if i=n then 1 else i+1); 4

Motiváció Színezett tokenek jelentése ph(1) ph(5) cs(1) cs(2) ph(2) cs(5) cs(3) cs(4) ph(4) ph(3) 5

Színezett Petri-hálók A színezett Petri-hálók (Coloured Petri Net, CPN) A színezetlen hálók kiterjesztései: Rugalmas adatszerkezetekkel Adatmanipulációs nyelvvel A színezett Petri-háló modellek ötvözik: Grafikus reprezentáció Jól definiált szemantika áttekinthetőség formális analízis CPN modell = háló struktúra + deklarációk + háló jelölések, kifejezések + inicializáló kifejezések 7

Színezett Petri-hálók fő elemei (áttekintés) Tokenek kiterjesztései Adatérték: színezett token Adattípus: színhalmaz (színosztály) Helyek kiterjesztései Hely típusa: fogadható tokenek adattípusa Hely inicializáló kifejezése: kezdeti tokenek Hely aktuális jelölése: típusnak megfelelő színezett tokenek (multihalmaz) Élek kiterjesztései Élkifejezés: mozgatott tokenek (leköthető változókkal) Tranzíciók kiterjesztései Őrfeltétel a tüzeléshez Tüzeléshez: Élkifejezések kötése színezett tokenekhez 8

Színezetlen és színezett Petri hálók összehasonlítása Színezetlen (P-T) Petri hálók: színezetlen tokenek tokenek halmaza (számosság) token manipuláció kezdeti jelölés tiltó élek élsúlyok tranzíció engedélyezése konfliktus különböző engedélyezett tranzíciók között ~ assembly nyelv Színezett Petri hálók: színezett tokenek tokenek multihalmaza adatmanipuláció inicializáló kifejezések őrfeltételek élkifejezések (változókkal) lekötés engedélyezése konfliktus ugyanazon tranzíció engedélyezett lekötései között ~ magas szintű programnyelv 9

Színezett Petri hálók felépítése

Színezett token Adatérték reprezentálása Színhalmaz (színosztály): Adattípus megadása Tokenek kiterjesztései Pl. felsorolás (with), alaptípus (int, bool, string, ) Komplex is lehet Pl. color P = product U * I Deklaráció: formális nyelven Standard ML 11

Petri háló helyek kiterjesztései Színkészlet: hely típusa (színhalmaza) Milyen típusú tokeneket képes fogadni a hely (a deklarált típusok egyike) Megjelenítés: hely mellé írva, dőlten Inicializáló kifejezés A kezdeti jelölés megadása A színhalmaz egy multi-halmaza (egy adott színű tokenből több is lehet) Megjelenítés: hely mellé írva, aláhúzva Aktuális jelölés Az aktuális tokenek megadása Megjelenítés: hely mellé írva, bekarikázott számmal és hozzá fűzött részletes megadással U U U 12

Petri háló tranzíciók kiterjesztései Élkifejezés Engedélyezés feltétele (elvett tokenek) illetve a tüzelés eredménye (kirakott tokenek) Típusa: az élhez tartozó hely típusa (egy tranzícióhoz több típusú él húzható) Megjelenítés: él mellett Változó használható az élkifejezésben Adatértékeket (színezett tokeneket) lehet hozzá kötni Típusa kell legyen (milyen színhalmaz elemei köthetők hozzá) Őrfeltétel Boole-kifejezés, a tranzíció engedélyezettségéhez igaz kell legyen Megjelenítés: tranzíció mellett, [ ] között U U U 13

Színezett Petri háló felépítés: Összefoglalás Háló struktúra: Megjeleníti a rendszer vezérlési illetve adatfolyam struktúráját Helyek, tranzíciók, élek Deklarációk: Definiálják az adatstruktúrákat és a felhasznált függvényeket Színosztályok, változók, élkifejezések Jelölések, elnevezések: Megadják a háló szintaktikai és adatmanipulációs elemeit Nevek, színosztályok, bemenő/kimenő élkifejezések, őrfeltételek, aktuális állapot Inicializációs kifejezések: Megadják a modell kezdőállapotát (konstansok) 14

color U = with p q; color I = int; color P = product U * I; color E = with e; var x : U; var i : I; CPN háló alkotóelemei: Helyek Név Színhalmaz Kezdeti jelölés Aktuális jelölés Tranzíciók Élek Név Őrfeltétel deklarációs mező kezdeti jelölés színhalmaz kimenő élkifejezés 3`(q,0) 2`(p,0) P if x=q then 1`(q,i+1) else empty P (x,i) A T1 B T2 (x,i) (x,i) 3 3`(q,0) [x=q] 2 2`(p,0) bemenő élkifejezés hely név e 1`e E tranzíció név aktuális jelölés őrfeltétel S 1 1`e Élkifejezések (bemenő, kimenő) 15

Példa: Vezérlési struktúrák 1. IF b THEN stat1 ELSE stat2 WHILE b DO stat [b] [b] [b] [b] stat1 stat2 stat 16

Példa: Vezérlési struktúrák 2. REPEAT stat UNTIL b Alprogram hívás Processz indítása stat param param. start start wait cont. [b] [b] proc. proc. end end 17

Coloured Petri Nets (CPN) hálók eszközkészlete

CPN hálók: Színosztályok definiálása Egyszerű színosztályok Színezetlen tokenek: unit Alapvető típusok: int, bool, real, string Az alábbi elemek definíciójában szerepelnek: Összetett színosztályok Változók, konstansok Függvények, operátorok Részhalmaz: with 1..4; Felsorolás: with true false; Indexelés (vektor): index d with 1..4; 19

Összetett színosztályok Módszerek kombinált színosztályok létrehozására Unió képzés: union S + T; n-esek képzése (Descartes-szorzat): product P * Q * R; Rekord (címkézett n-esek): record p:p * q:q * r:r; Lista: list int with 2..6; 20

További CPN háló elemek: Változók Változók Tokenek szimbolikus nevei Változódeklaráció: var proc : P; Konstansok Rögzített értékek Konstansdeklaráció: val n = 10; val d1 = d(1):d; Az alábbi kifejezésekben: Élkifejezések Őrfeltételek Az alábbi deklarációkban: Színosztályok Függvények, operátorok Élkifejezések, őrfeltételek, inicializáló kifejezések 21

További CPN háló elemek: Függvények Függvények Mellékhatás-mentes SML nyelvű függvények Példa: fun Chopsticks(ph(i)) = 1`cs(i) ++ 1`cs(if i=n then 1 else i+1); Az alábbi kifejezésekben: Színosztályok Függvények, operátorok, konstansok Élkifejezések, őrfeltételek, inicializáló kifejezések Műveletek, operátorok Infix jelölésrendszer 22

További CPN háló elemek: Kifejezések Háló kifejezések Értéke: a változók egy adott lekötésével értékelhető ki Felhasználásuk: Élkifejezések, őrfeltételek, inicializáló kifejezések Típusa: az összes lehetséges kiértékelési eredmény halmaza Példák: x=q 2`(x,i) if x=q then 2`i else empty Mes(s) 23

Kifejezések: Műveletek multihalmazokkal Összegzés: a 1 + a 2 Összehasonlítás: a 1 a 2, a 1 a 2 Számosság: a 1 Szorzás skalárral: n a 1 Kivonás: a 1 - a 2 (csak ha a 2 a 1 ) 24

Színezett Petri hálók működése (informális szemantika)

Jelölés és lekötés Jelölés: Tokenek (szám és szín szerint) eloszlása a helyeken Lekötés egy tranzíció élkifejezéseiben: A változókat adatértékekhez (színezett tokenekhez) kötjük Egy tranzíció esetén egy adott változó minden előfordulása ugyanúgy lesz lekötött (azonos változó ugyanazt az értéket veszi fel) Lekötetlen változó kimenő élen: Típusának minden értékét felveheti Különböző tranzíciók a lekötés szempontjából függetlenek (azonos nevű változó lekötései függetlenek) U U U 26

Engedélyezettség Tranzíció engedélyezett egy adott jelölésben egy adott lekötésre: A bemenő helyek tartalmazzák azokat a tokeneket, ami az élkifejezés értéke az adott lekötésben Az őrfeltétel igaz Ha egy tranzíció engedélyezett egy adott lekötésre, akkor tüzelhet Kötési elem tüzeléshez: Egy (tranzíció, lekötés) pár, pl. (T1, <x=p>) Engedélyezett lehet egy adott jelölésben -> tüzelhet Egy tranzíció esetén: több lekötés, ezekből több engedélyezett kötési elem képezhető; ezek tüzelhetnek U U U 27

Tüzelés Tranzíció tüzel egy lekötésben (azaz egy kötési elem tüzel): Bemenő helyekről az élkifejezés adott kötésben lévő értéke által meghatározott (számú, színű) token elvétele Kimenő helyekre az élkifejezés adott kötésben lévő értéke által meghatározott (számú, színű) token odarakása Lépés (a tüzelés hatása az állapottérben): A színezett Petri háló egy jelöléséből egy másik lesz U U U 28

Elérhetőségi gráf Csomópont: Egy jelölés: tokenek színe és száma minden helyre Sorszám rendelhető hozzá, elődök és utódok lehetnek Él: Egy kötési elem, amiben tüzelés történt: tranzíció és a lekötés megadása Definíció szerint egyszerre egy tüzelő kötési elem van feltüntetve az elérhetőségi gráfban 1->2 SendPack {p="coloured",n=1} 2->3 TranPack {s=1,r=1,p="coloured",n=1} 1 2 3 1 NextSend = 1 NextRec = 1 Received = "" 2 NextSend = 1 NextRec = 1 Received = "" A = 1`(1,"Coloured") 29

CPN Tools demo Étkező filozófusok modellje Szimuláció Elérhetőségi gráf felvétele 30

Színezett Petri hálók formális definíciója és szemantikája

Multihalmazok Multihalmaz: azonos elemből több példány is lehet benne Leképezés: Bag(A), az A elemkészletre, Formálisan: más jelölés (CPN): Műveletek multihalmazokkal: Összehasonlítás: Számosság: Összegzés: Különbség: Szorzás skalárral: a a( x) x xa a 2 1 2 1 2 1 2 1 AN a a ha x A, a ( x) a ( x) a a ha x A, a ( x) a ( x) a ( ) x a x A a1 a2 a1 ( x) a2( x) x xa a a a ( x) a ( x) x feltéve, hogy a a xa na na( x) x 1 2 1 2 2 1 xa a a( x)' x x A 32

Műveletek multihalmazokkal Összegzés: a 1 + a 2 Összehasonlítás: a 1 a 2, a 1 a 2 Számosság: a 1 Szorzás skalárral: n a 1 Kivonás: a 1 - a 2 (csak ha a 2 a 1 ) 33

Multihalmazok (folytatás) Unió, multihalmazok egyesítése: a 1 a 2 a m Tartomány: A 1 A 2 A m Eleme: n-esek képzése: A 1, A 2,, A n Tartomány: Eleme: m e 1 A ha A, e A i k j i j A A A 1 2 2 1, 2,, n n 1 j ha i i e e e A e A Általánosítás: a 1, a 2,, a n 34

Színezett Petri hálók formális definíciója Színhalmazok: Helyek: Tranzíciók: Élek: Színkészlet: Őrfeltétel: Élkifejezés: Kezdőállapot: CPN (, P, T, A, C, G, E, M ) {,,, } 1 2 P { p, p,, p } 1 2 T { t, t,, t } PT 1 2 A ( PT ) ( T P) C: P B G : t T, Type G( t) Type Var G( t) 0 0 MS 0 E : a A, Type E( a) C( p) MS Type Var E( a) M : p P, Type M ( p) C( p) 35

A formális definíciókban alkalmazott jelölések Egy v változó típusa (színosztálya): Type(v) Egy expr kifejezés típusa: Type(expr) Egy expr kifejezésben szereplő változók halmaza: Var(expr) A v változó egy lekötése: b(v) Type(v) Kifejezés által b lekötésre visszaadott érték: expr<b> ahol v Var(expr) és b(v) Type(v) 36

Használhatók: Változók Élkifejezések Rendelkeznek típussal: Type(v) Értékük a típushoz tartozó multihalmaz egy eleme lehet Lezárt élkifejezés: nem tartalmaz változókat Nyílt élkifejezés: változókat tartalmaz, amelyeket le lehet kötni egy értékkel Lekötés: egy konkrét értékhozzárendelés minden változóhoz Adott lekötéssel az élkifejezés kiértékelhető Rendelkezik típussal: Type(expr) = C(p) MS Az értékül kapott színosztály típusa Kifejezésben szereplő változók halmaza: Var(expr) 37

Lekötött és lekötetlen változók Lekötött változók Az értékhozzárendelést a bemenő élek határozzák meg Konzisztencia: változó értéke lekötésen belül azonos! Minden, a tranzícióhoz tartozó élen: azonos név azonos érték Lekötetlen változók Csak kimenő élkifejezésekben szereplő változók Az engedélyezés nem rendelt hozzá értéket: lekötetlen Tüzeléskor le kell kötni: A színosztályából bármilyen értéket felvehet Annyi lehetséges lekötés, amennyi a színosztály számossága Nemdeterminisztikus választás 38

Őrfeltételek Tranzícióhoz rendelt őrfeltétel Multihalmazok felett értelmezett kifejezés Boolean visszatérési értékkel Igaz kiértékelési érték esetén engedélyezi a tranzíciót Szűri az engedélyezett lekötéseket (x,i) q [x=q] (x,q) 39

Engedélyezettség színezett Petri hálókban Tranzíció lekötése Érvényes lekötés: v Var(t): b(v) Type(v) G(t)b Az összes érvényes lekötés halmaza: B(t) Egy érvényes lekötés engedélyezett, ha Őrfeltétel igaz Var( t) v vvar G( t) a A( t) : vvar E( a) A bemenő helyeken van elég színezett token (lásd E - (p,t)<b> élkifejezések) és a tiltó élek nem tiltják le a tüzelést (lásd E h (p,t)<b> élkifejezések): h p t : E ( p, t) b M ( p) E ( p, t) b M ( p) 40

Tüzelés színezett Petri hálókban Egy engedélyezett tranzíció tüzelhet, ha magasabb prioritású tranzíció nem engedélyezett, azaz Ennek bemenő helyein nincs elég színezett token (lásd E - (p,t )<b > élkifejezések), vagy a tiltó élei tiltják le a tüzelését (lásd E h (p,t )<b > élkifejezések), t, ( t) ( t) : p t : h E ( p, t) b M ( p) E ( p, t) b M ( p) Vagy az őrfeltétele nem igaz G(t )b 41

Tüzelés színezett Petri hálókban Tüzelés menete: Engedélyezett lekötések keresése Meghatározzák a bemenő élkifejezések, őrfeltételek Tranzíció engedélyezett adott lekötéssel tüzelhet Tüzelés: Színezett tokenek elvétele a bemenő helyekről, színezett tokenek odarakása a kimenő helyekre p P : M ( p) M ( p) E ( p, t) b E ( t, p) b p t pt Ekkor M közvetlenül elérhető M-ből: M [(t,b) M 42

Színezett Petri hálók dinamikus tulajdonságai

Elérhetőségi gráf (részlet) Sent, Received, Acknowledged 3,-,1 SA,2,1 RM,2,3 3,1,- -,3,1 RM,2,1 RM,2,3 SA,2,3 SM,2 SA,2,1 RA,2 -,-,- 13,-,- -,13,- -,-,13 -,-,- RM,2,3 RM,2,1 SA,2,3 SA,2,1 1,3,- -,1,3 SA,2,3 RM,2,1 1,-,3 44

Színezett Petri hálók dinamikus tulajdonságai A színezetlen hálóknál megismert tulajdonságok kiterjesztései multihalmazokra Korlátosság Egy hely korlátos, ha a tokenek száma bármely állapotban korlátos n egy felső egész korlát p-re, ha m egy felső multihalmaz korlát p-re, ha Visszatérő tulajdonság Egy visszatérő állapotba mindig lehetséges visszajutni M egy visszatérő állapot, ha X egy visszatérő csoport, ha M M0 : M ( p) n M M : M ( p) m 0 0 : M M M M M M X M 0 : 45

Színezett Petri hálók dinamikus tulajdonságai Élőség Az élőség garantálja, hogy a lekötési elemek egy része aktív marad Halott állapot (deadlock): egy lekötési elem sem engedélyezett b BE : M b Halott tranzíció: egyik lekötése sem válhat engedélyezetté M M, b B( t) : M b Élő tranzíció: nincs olyan elérhető állapot, amelyből induló trajektóriákon minden lekötése halott lenne M M, M M, b B( t) : M b 0 46

Színezett Petri hálók dinamikus tulajdonságai Fair tulajdonság Fairség megmutatja, hogy egy lekötési elem milyen gyakran tüzel Elfogulatlan (impartial) tranzíció: végtelen sokszor tüzel b B( t), : OC ( ) Fair tranzíció: végtelen sok engedélyezés végtelen sok tüzelés Igazságos (just) tranzíció: perzisztens engedélyezés tüzelés (nincs perzisztens engedélyezés tüzelés nélkül) b b B( t), : EN ( ) OC ( ) b b B( t), i 1: EN b, i ( ) 0 k i: EN b, k ( ) 0 OC b, k ( ) 0 b 47

Színezett Petri hálók strukturális tulajdonságai

T-invariáns színezett Petri hálókban Tranzíció invariáns Olyan tüzelési szekvencia, ami nem hat az állapotra: M ( p) M ( p) E ( p, t) b E ( t, p) b p t, b pt, b ahol M ( p) M ( p) 0 minden p-re ekkor E ( p, t) b E ( t, p) b p t, b pt, b 49

P-invariáns színezett Petri hálókban Hely invariáns Alapötlet: Egyenlet, ami minden elérhető állapotban fennáll Súlyozott tokenösszeg állandó: M p M p M p W ( ) W ( ) W ( ) m p 1 p 2 p n inv 1 2 Súlyfüggvény: hely színkészletét egy közös multihalmazra képezi le W P egy P-invariáns: : ( ) ( ) M M W M p W M p 0 p p 0 pp pp n 50

Színezett Petri hálók széthajtogatása

Színezett Petri hálók felépítésének lehetőségei CPN hálók: strukturális és adattartalom is lehet Szélsőségek Tisztán strukturális információ, nincs adattartalom: Közönséges Petri-háló (előállítható CPN-ből is) Nincs struktúra, csak adattartalom (adat és vezérlési információ): Egy hely + egy tranzíció, komplex színosztályok és élkifejezések Kompromisszumra van szükség Érthető, áttekinthető CPN háló legyen 52

Példa: Modellezési lehetőségek vezérlési folyam struktúrában kifejezve ugyanez csak kódban ( összehajtogatva ) 53

Széthajtogatás (Prioritásos) színezett hálók modellező ereje megfelel a tiltó éllel kiegészített (prioritásos) színezetlen hálókénak Minden színezett hálónak megfeleltethető egy ekvivalens működésű színezetlen háló (automataelméleti értelemben lépésekre biszimuláció) Ekvivalens színezetlen háló: széthajtogatott háló Széthajtogatás: Tokenek adattartalmát struktúrában fejezzük ki Minden eseménynek a színezett hálóban megfelel egy és csak egy esemény a széthajtogatott hálóban 54

Egyszerű színezett háló p 1 p 2 A x y B (y,z) BC p 3 color A = with alma körte; color B = with piros sárga; color C = with friss ráncos; color BC = product B*C declare mult; var x: A; var y: B; var z: C; 55

A széthajtogatott, színezetlen háló alma körte piros sárga p 1 p 2 (piros,friss) (sárga,friss) p 3 (piros,ráncos) (sárga,ráncos) 56