86
Formális módszerek Formális módszerek I Alapfogalmak - rendszermodellek Takács Márta Óbudai Egyetem, NIK, IMRI

Form ális módszerek I

  • Upload
    tea

  • View
    30

  • Download
    0

Embed Size (px)

DESCRIPTION

Form ális módszerek I. Alapfogalmak - rendszermodellek. Takács Márta Óbudai Egyetem, NIK, IMRI. A rendszer fogalma. A rendszer meghatározott cél érdekében működő egység - egymással kölcsönhatásban lévő elemek meghatározott totalitásként megjelenő sokasága. - PowerPoint PPT Presentation

Citation preview

Page 1: Form ális módszerek I

For

mál

is m

ódsz

erek

Formális módszerek I

Alapfogalmak - rendszermodellek

Takács Márta Óbudai Egyetem, NIK, IMRI

Page 2: Form ális módszerek I

For

mál

is m

ódsz

erek

A rendszer fogalma• A rendszer meghatározott cél érdekében működő egység -

egymással kölcsönhatásban lévő elemek meghatározott totalitásként megjelenő sokasága.

• A rendszer elemei szervezetten kapcsolódnak egymáshoz: fizikai vagy fogalmi entitások, mely kölcsönhatásai révén részt vesznek a rendszerhez tartozó új minőségek létrehozásában.S.

• Bármely rendszer leírása során:

• meg kell határozni a rendszer elemeit és tulajdonságaikat,

• fel kell tárni az elemek közötti kapcsolatokat,

• le kell írni, hogy az elemek és a közöttük fennálló kapcsolatok halmazából hogyan válik rendszer.

Page 3: Form ális módszerek I

For

mál

is m

ódsz

erek

A rendszer modellje ezért foglalkozik:

• A szereplőkkel (ágensek)

• Kapcsolatrendszerükkel (statikus)

• Működésükkel (dinamizmus)

Page 4: Form ális módszerek I

For

mál

is m

ódsz

erek

A rendszer életciklusai• Tervezés (specifikáció):

• egyértelmű, érthető, teljes, ellentmondás-mentes modell és terv• együttműködés és inter-diszciplináris megközelítés• megbízható szolgáltató és jó kommunikáció megrendelő és

kivitelező között (később is) • Fejlesztés (implementáció):

• bizonyítottan helyes rendszermodell:• verifikáció• validáció

• Egyensúly minőség költség idő között• Automatizálás, moduláris szerkezet, komponens integráció

• Fenntartás - fenntarthatóság

iteratívfolyamat, több életciklus,fokozatos finomítás

Page 5: Form ális módszerek I

For

mál

is m

ódsz

erek

További általános elvárások• Informatikai háttér és a szolgáltatás minősége• ISO és egyéb szabványoknak való megfeleltetés

• csak termékminőség• reprodukálás konstrukció helyett

• Hibátlan, érthető, átlátható specifikáció (dokumentálás)• Zárt, ellentmondás-mentes, megfelelés

• Hibátlan implementáció• minősített (és lehetőleg automatizált) fejlesztés• ellenőrizhető (validáció, automatikus tesztgenerálás)

• Megállapodás alapján folyamatos fenntartás, visszacsatolás

Page 6: Form ális módszerek I

For

mál

is m

ódsz

erek

Általános lépések• Igény felmérés, eszköz- és környezetfelmérés• Modell készítés és működés tesztelés• Üzembe helyezés és fenntartás

Többféle modell születik ezen elvek alapján

Ábrák forrása: Dr. Pataricza András

Page 7: Form ális módszerek I

For

mál

is m

ódsz

erek

IT rendszerfejlesztés ciklusai

Követelményanalízis Mi a megoldandó probléma?

KoncepciótervezésMilyen megoldási módszerek/eszközök léteznek?

Rendszertervezés Hogyan oldható meg afeladat?

ImplementációHogyan valósítható mega feladat megoldása?

Tesztelés Megoldottuk a problémát?

ÜzembehelyezésA megrendelő megfelelőnek tartjaa kész rendszert?

Üzemeltetés, karbantartás Továbbfejlesztés szükséges?

ProblémaProbléma

ImplementációImplementáció

FenntarthatóságFenntarthatóság

Page 8: Form ális módszerek I

For

mál

is m

ódsz

erek

Vízesés modell

Követelménytervezés

Rendszerallokáció

Koncepciótervezés

Implementáció

Telepítés

Üzemeltetés &Karbantartás

Verifikáció& Validáció

tervezésRendszer

Page 9: Form ális módszerek I

For

mál

is m

ódsz

erek

V modell

dekompozíció

kom

pozí

ció

verifikáció

verifikáció

Page 10: Form ális módszerek I

For

mál

is m

ódsz

erek

Verifikáció és validáció szerepe• Verifikáció:

• jól építjük-e a rendszert?

• Validáció:• jó rendszert építünk-e?

Specifikáció1

Specifikáció2

Specifikáción

Implementáció

Rendszern

Rendszer2

transzformáció, finomítást1

verifikáció

Page 11: Form ális módszerek I

For

mál

is m

ódsz

erek

Verifikáció és validáció, prototípusok, tesztelés• Az eddigi modellek „egy-

verziós” életciklust írnak le, de a rendszerfejlesztés iteratív:prototípus felfedett hibák továbbfejlesztés új prototípus

Page 12: Form ális módszerek I

For

mál

is m

ódsz

erek

Boehm-féle spirál modell

CÉLOK, ALTERNATÍVÁK, KORLÁTOZÁSOKMEGHATÁROZÁSA

Kockázati tényezők felmérése ls kezelése

FEJLESZTÉSÉS TESZTELÉS

Tervezés, itteráció

Page 13: Form ális módszerek I

For

mál

is m

ódsz

erek

Hogyan modellezzünk, milyen eszközökkel?Legyen formalizálható szintaktikailag és interpretációja ellenőrizhető

szemantikailagLegyen matematikai eszközrendszereLegyen szoftvermegvalósításaTovábbá:

• Írjunk hibátlan feladat- és rendszerspecifikációt• Modulárisan építkezve törekedjünk a komponensek együttműködésére, a statikus

(strukturális) és dinamikus modellekben is• A matematikai leírás legyen funkcionális és strukturális (célszerűen grafikus

formában)• A végrehajthatóság és ellenőrizhetőség (Validáció Verifikáció) szempontjai:

• konzisztencia, ellentmondás-mentesség• teljesség, zártság• verifikáció: modellek között• validáció: a modellek és a rendszer között

Page 14: Form ális módszerek I

For

mál

is m

ódsz

erek

Problémák• A valósághű modellezés komplex (modellméret, állapottér méret),

„kisméretű” problémákra átlátható, aztán bonyolódik• Megoldandó az időkezelés ( hibrid, idővariáns, nemlineáris)• környezetmodellezés (modellbázisú / nem modell bázisú)• A sokféle matematikai területről, nehéz matematikai jelölésrendszer

- a matematikai algoritmus hatékonysága ellenőrizendő• speciális ismeretekre van szükség a felhasználótól: a modellező és a

megrendelő összehangolt munkájára van szükség• Általában: diszkrét állapotú, diszkrét idejű, diszkrét eseményterű

rendszerek modellezése lehetséges• Sokféle nyelv, hatékonyságuk, kifejezőerejük változó (pl. UML)

Page 15: Form ális módszerek I

For

mál

is m

ódsz

erek

Források

Dr. Pataricza András, dr. Bartha Tamás, Majzik István előadásai (BME Méréstechnika és Információs Rendszerek Tanszék)

Pataricza, A., Formális módszerek az informatikában. Typotex, 2004.

Page 16: Form ális módszerek I

For

mál

is m

ódsz

erek

Formális módszerek II

Peri hálók

Takács Márta Óbudai Egyetem, NIK, IMRI

Page 17: Form ális módszerek I

For

mál

is m

ódsz

erek

A Petri-hálók egyidejűleg nyújtanak grafikus és matematikai reprezentációt• Konkurens (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, azaz valamilyen megegyezés arról, ki milyen feladatot lásson el a teljes és hatékony működés érdekében)

• Párhuzamos (konkurens párhuzamos rendszerek a rendszerelemek között szoros szinkronizáció áll fenn)

• nemdeterminisztikus és/vagy sztochasztikus (egy-egy adott állapotából nem egyértelmű, melyik állapot lesz a következő)

rendszerek modellezésére.

Page 18: Form ális módszerek I

For

mál

is m

ódsz

erek

Carl Adam Petri (1926-2010)

• Petri a 60-as évek elején publikálta a róla elnevezett módszert.

• Struktúrával fejezi ki a vezérlést és az adatszerkezetet egyaránt.

• Előnye, hogy minden más ábrázolásmód kiteríthető Pethi-hálóvá, hátránya: már egyszerű feladatok leírása is hatalmas hálót eredményez.

• Kiforrott matematikai háttére miatt ez a leírásmód rendkívül hatékony eszköz lehet rendszerek analízisére, ha a rendszer modelljét valamely kompaktabb modellezésből automatikusan származtatjuk.

Page 19: Form ális módszerek I

For

mál

is m

ódsz

erek

Petri hálók struktúrájaStrukturálisan: irányított, súlyozott, páros

gráf• Kétféle csomópont:

• hely: p P • tranzíció: t T

• Irányított élek (páros gráf):• hely tranzíció• tranzíció hely• e E : (P T ) (T P )

2

Page 20: Form ális módszerek I

For

mál

is m

ódsz

erek

Petri STRUKTÚRA

PN = < P, T, E, W, M0>

= 3

Dinamikus működés, tokenekkel

Page 21: Form ális módszerek I

For

mál

is m

ódsz

erek

Dinamikus működés állapotváltozókkal• Állapotjelölő token („szereplő”) • A ely állapotát jellemzi a benne

levő tokenek száma• Hálózat állapota: az egyes helyek

állapotainak összessége• Állapotvektor: a = |P |

(pozicíók halmazának számossága) komponensű

M token eloszlás vektor

• Az mi komponense a pi helyen található tokenek száma

m

m

M 1

2

3

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

3

0

1

M

Page 22: Form ális módszerek I

For

mál

is m

ódsz

erek

Rendszer állapotváltozásainak modellezése• Á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 állapotot eredményez

2

3

Megjegyzés: a forrás tranzíciónak nincs bemenete, és mindig képes tüzelni, a nyelő tranzíciónak nincs kimenete, így a tüzelés során a hozzá érkező tokeneket „elnyeli”.

Page 23: Form ális módszerek I

For

mál

is m

ódsz

erek

Példa• A P1 állapotban 3, • a P2-ben 1, • P3-ban 0 token van. • A T1 tranzíciónak két bemenő (P1-

ből és P2-ből), és két kimenő (P2-be és P3-ba) éle van.

• Két élnek van 1-től különböző súlya: a P1T2 él 2, a T2P1 él 3 súlyú.

• állapotátmenet helyett tüzelés: az a folyamat, amely során a tokenek ide-oda vándorolnak a hálón belül.

• Egy tranzíció akkor tüzelhet, ha az összes bemenő éléhez csatlakozó helyen van legalább annyi token, amennyi az adott él súlya.

• A következő tüzelő tranzíció a T1 A következő tüzelő tranzíció a T1 leszlesz

P1

P2

P3

T2

T1

2

3

Page 24: Form ális módszerek I

For

mál

is m

ódsz

erek

Hogyan néz ki a fenti háló a T1 tranzíció tüzelése után?

P1

P2

P3

T2

T1

2

3

P1

P2

P3

T2

T1

2

3

T1 és T2 állapot tüzelhető.

???

Ha egyszerre több tranzíció is tüzelhetővé válik, akkor is egyetlen tranzíció tüzel a egyszerre több tranzíció is tüzelhetővé válik, akkor is egyetlen tranzíció tüzel a következő alkalommal (a következő logikai időpillanatban), de hogy melyik, az előre következő alkalommal (a következő logikai időpillanatban), de hogy melyik, az előre teljesen kiszámíthatatlan (a Petri-háló nemdeterminisztikus működése).teljesen kiszámíthatatlan (a Petri-háló nemdeterminisztikus működése).

Page 25: Form ális módszerek I

For

mál

is m

ódsz

erek

P1

P2

P3

T2

T1

2

3

P1

P2

P3

T2

T1

2

3

P1

P2

P3

T2

T1

2

3

A T1 tüzelése után

T2 tüzelése után

Page 26: Form ális módszerek I

For

mál

is m

ódsz

erek

P1

P2

P3

T2

T1

2

3

P1

P2

P3

T2

T1

2

3

P1

P2

P3

T2

T1

2

3

-T2 tranzíció ismét nem képes tüzelésre -ha a T1 tranzíció még egy alkalommal tüzel, akkor a P1 helyen nem marad több token, a háló holtpontba (deadlock) kerül

megegyezik a kiinduló tokeneloszlással

Page 27: Form ális módszerek I

For

mál

is m

ódsz

erek

Matematikai formalizmus• Egy adott token-eloszlást az az M

vektor jelöl egy adott állapotban • M0 a kezdeti állapotot jelöli

P1

P2

P3

T2

T1

2

3

0

1

3

0M

P1

P2

P3

T2

T1

2

3

T1 tüzelése után

1

1

2

M 1T

Page 28: Form ális módszerek I

For

mál

is m

ódsz

erek

Mit látunk a működés alapján?

A Petri háló:• nemdeterminisztikus véges automata• állapotvektor: token eloszlás vektor• Állapot-átmeneti függvény: tranzíciókFelépítése:• egy-egy hely egy-egy logikai feltétel• a struktúra követi a feladat logikai dekompozícióját

Page 29: Form ális módszerek I

For

mál

is m

ódsz

erek

Matematikai formalizmus

Page 30: Form ális módszerek I

For

mál

is m

ódsz

erek

Gráf - Topológian (P T ) csomópont n ősei és n utódai:

• t T ősei a bemeneti helyei: t = {p |(p,t ) E }

• t T utódai a kimeneti helyei: t = {p |(t,p ) E }

• p P ősei a bemeneti tranzíciói: p = {t |(t,p ) E }

• p P utódai a kimeneti tranzíciói:p = {t |(p,t ) E }

Page 31: Form ális módszerek I

For

mál

is m

ódsz

erek

Topológia

Csomópontok P’ P ill. tranzíciók T’ T részhalmazára

'

'

'

'

'

'

'

'

Tt

Tt

Pp

Pp

tT

tT

pP

pP

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, azazt T : t t =

Page 32: Form ális módszerek I

For

mál

is m

ódsz

erek

Példa2

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}

Page 33: Form ális módszerek I

For

mál

is m

ódsz

erek

Dinamikus viselkedés matematikai modelljeEgy lépés, állapotváltozás: a tranzíció „tüzelése” szavakkal:

• korábbi állapot: kezdeti token eloszlás vektor• tüzelés végrehajtása

1. engedélyezettség vizsgálata2. tokenek elvétele a bemeneti helyekről3. tokenek kirakása a kimeneti helyekre

• új állapot: megváltozott token eloszlás vektor

A tranzíció tüzelési feltétele matematikai formalizmussal

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

Page 34: Form ális módszerek I

For

mál

is m

ódsz

erek

Állapotátmenet és szomszédossági mátrix

A tranzíció tüzelésekor a rendszer• 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

• A súlyozott szomszédossági mátrix: W = [w(t, p)] az élsúlyok szerinti tüzelési előfeltételeket modellezi

• Dimenziója: = |T | |P |• A szomszédossági mátrix és az aktuális állapotmátrix alapján számíthatjuk az új állapotmátrixot • Ha t tüzel, mennyit változik a p -beli tokenszám:

w(t, p) =ha (t, p ) E és (p, t ) E

0

w+(t, p ) – w-(p, t ) ha (t, p ) E vagy (p, t ) E

Page 35: Form ális módszerek I

For

mál

is m

ódsz

erek

Szomszédossági mátrix példa2

3 4

p1

p2

p3

p4

p5

p6

t1

t2

t3

100000

000131

000002

W

000100

141000

001000

W

100100

141131

001002

W

–w-(p, t ) a p t él súlya

–w+(t, p ) a t p él súlya

w+(t, p ) – w-(p, t )w(t, p) =

Page 36: Form ális módszerek I

For

mál

is m

ódsz

erek

Szimuláció Petri-hálókkal• A Petri-háló tevékenységeit, akcióit olyan elemi (atomi)

eseményekre bontjuk, amelyek tovább már nem oszthatóak. • Esetünkben atomi eseménynek mondunk egy tranzíció tüzelését, így

az összetett események a tüzelési szekvenciákat jelentik (az egymás után végrehajtható tüzelések sorozatát).

• Az eseményeket a rendszerben szereplő állapotváltozókkal szimuláljuk.

Page 37: Form ális módszerek I

For

mál

is m

ódsz

erek

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

Page 38: Form ális módszerek I

For

mál

is m

ódsz

erek

Formális módszerek IIIKiterjesztett Petri struktúra

Page 39: Form ális módszerek I

For

mál

is m

ódsz

erek

Nemdeterminisztikus működésTüzelés végrehajtása:• Engedélyezett tranzíció tetszése szerint tüzelhet vagy nem• Konfliktus: több tranzíció engedélyezett:

• egy lépésben csak egy engedélyezett tranzíció tüzelhet• konfliktusfeloldás véletlen választással

Véletlenszerű tüzelés további következményei:• implicit időfogalom, nincs időskála• a tüzelés a [0, ) időintervallumban valahol megtörténhetLehetséges megoldás: a tüzelésekhez tetszőleges konkrét időértéket rendelve

az azonos struktúrájú és kezdőállapotú nem-determinisztikus időzítetlen Petri háló annak minden lehetséges tüzelési szekvenciáját lefedi.

És a többi lehetőség a véletlenszerű viselkedési forma kiküszöbölésére?

Page 40: Form ális módszerek I

For

mál

is m

ódsz

erek

A kiterjesztés okai és lehetőségeiPN = < P, T, E, W, M0, ….>

• Időkorlátok,• Átláthatóság,• Nem-determinisztikus működés

Page 41: Form ális módszerek I

For

mál

is m

ódsz

erek

I. IdőzítésA rendszeren belüli működésnél megfigyelhető:• Fizikai idő (óránkkal, a napszakok változásával stb. mérhetünk, tehát ami a

rendszertől független), objektív időskálán szemléltethető (többnyire szabályosan periodikus).

• A logikai idő: a rendszer működésétől függ, viszonyítási pontjai a bekövetkezett események, Petri-hálók esetében a tüzelések.

• implicit időfogalmat kacsolunk rendszerünkhöz, amelyben egy engedélyezett tranzíció tüzelése a [0, ) intervallumban bárhol megtörténhet (fire-at-will).

• A [T1, T2, T1, T1] tüzelési szekvencia a fizikai és a logikai időben :

T1 T2 T1 T1

Fizikai idő

Logikai idő

Tüzelés:

0 1 2 3 4 5 6

0 1 2 3

7

Page 42: Form ális módszerek I

For

mál

is m

ódsz

erek

Időzítés bevezetésePélda: nyolcas számláló

0

1

2

3

4

5

6

7

• egyetlen token kering a rendszerben, amelynek minden ugrása a számláló egy ugrását jelenti: kezdetben a token a P0 helyen van.

• A következő tüzeléskor átkerül az P1-es állapotba, majd a P2-be stb. A kör végén a P7-es helyrők ismét a P0-ba ugrunk, és kezdődik az egész számlálás elölről.

• DE: a tüzelésekhez kötött logikai idő semmit nem mond arról, hogy fizikailag mikor következik be a következő ugrás.

Forrás: Molnár Ágnes: Formális módszerek az informatikában (1) , NetAkadámia Tudástár

Page 43: Form ális módszerek I

For

mál

is m

ódsz

erek

Vezessünk be órajelet!• Első megközelítésben ez egyetlen forrás-

tranzíciót jelent, amely tokeneket juttat a rendszerbe az alábbi módon:

• A CLK bizonyos időközönként tokent juttat a rendszerbe. Az újabb élek felvételével a tranzíciók már csak akkor tüzelhetnek, ha a középső állapotban van token, azaz „ütött az óra”.

• ha van is órajel-tokenünk, akkor sem garantált, hogy a soron következő tranzíció tüzel a következő óraütés előtt.

P0

P1

P2

P3

P4

P5

P6

P7

CLK

1

Sajnos a Petri-hálók sajátosságai miatt ezt nem tudjuk garantálni, de azt igen, hogy az óra ne üthessen addig, amíg az előző órajelre nem történt ugrás a számlálóban. Korlátozzuk tehát a középső állapot kapacitását egyetlen tokenre (ezt jelöli a beleírt 1-es). Ez azt jelenti, hogy azon a helyen maximum 1 token lehet egyszerre, tehát bemenő tranzíció nem tüzelhet, amíg a tüzelés túllépné a kapacitáskorlátot.Így ha esetünkben egyszer már ütött az óra, tehát van órajel-token a rendszerben, akkor mindaddig nem üthet újra az óra, amíg ez el nem tűnik, azaz amíg a számláló nem lép egyet. Így biztosíthatjuk azt, hogy minden órajelre egyet és pontosan egyet lépjen a számlálónk.

Page 44: Form ális módszerek I

For

mál

is m

ódsz

erek

II. A kapacitáskorlát

Példa: a kiindulási helyzetben egyetlen tokenünk van, a P1 helyen. A T1 tranzakció tüzelési feltétele, hogy P1-en legyen token, ezúttal ez teljesül. A T2 tranzakció jelenleg nem engedélyezett, hiszen P2-ben nincs token. T1 minden egyes tüzelése eggyel megnöveli a tokenek számát, vagyis nincs felső korlát arra, hogy a rendszerben mennyi token lesz, ha tetszőlegesen hosszú ideig magára hagyjuk futás közben.

Ezáltal arra sem tudunk korlátot adni, hogy egy-egy állapotban hány tokenünk lesz. Ezt hivatott megoldani a kapacitáskorlát,

p1

Ha bevezetünk egy K(P2)=4 kapacitáskorlátot, az azt jelenti, hogy a P2 helyen maximum 4 token lehet egyszerre, s ez a T1 tranzíció tüzeléséhez is egy újabb, korlátozó feltételt jelent (ha P2-n már 4 token tartózkodik, akkor a T1 tüzelése nem engedélyezett, hiába van token P1-en).

Page 45: Form ális módszerek I

For

mál

is m

ódsz

erek

• Ha azt akarjuk elérni, hogy a P2 (kelet) helyen maximum k=4 darab token legyen, be kell vezetnünk egy adminisztrációs helyet (P2’), ahol azt tartjuk számon, hogy a P2 helyre hány token fér még el.

• Így az adott helyen lévő tokenek számát m-mel jelölve mindig igaz lesz az alábbi összefüggés: m(P2’)+m(P2)=k.

• Hogyan felügyelhető, hogy ez minden esetben így legyen? • Kezdetben a P2’ helyen legyen k darab token, P2-n pedig 0. A P2-vel szomszédos

tranzakciókhoz vegyünk fel új éleket az alábbiaknak megfelelően: ha a tranzíció a darab tokent vesz el a P2 helyről, akkor az új élen adjon a darabot a P2’-höz. Ha pedig b tokent ad P2-höz, akkor ugyanennyit vegyen el P2’-ből.

• A módosított T1 tranzíció tehát nemcsak hozzáad P2-höz 2 db. tokent, hanem ugyanennyit el is vesz a P2’ adminisztrációs helyről. Hasonlóan T2 elvesz 1 tokent P2-ből, és hozzáad egyet P2’-höz.

p1

Page 46: Form ális módszerek I

For

mál

is m

ódsz

erek

III. Tiltó él• A kapacitáskorlát helyett tiltó

éleket vehetünk fel• A tiltó él azt jelöli, hogy a tranzíció

ne tüzeljen, amíg az adott feltétel teljesül. (Az ábrán addig nem tüzel a tranzíció, amíg a P2 helyen van token)

• Ha a tiltó élhez egy k súlyt is rendelünk, az azt jelenti, hogy ha az él bemeneti helyén az adott k számú, vagy annál több token van, akkor a tranzíció tiltott, ha k-nál kevesebb token szerepel a helyen, akkor a tranzíció engedélyezett.

• Ezzel a módszerrel azt köthetjük tehát ki, hogy mindaddig nem jöhet óraütés, amíg van token a megfelelő helyen

P1

P2

P3T

k

Page 47: Form ális módszerek I

For

mál

is m

ódsz

erek

IV. Prioritás

• A tranzíciókhoz rendelhető 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

SPN = (P, T, E, W, M0, )

prioritás

Page 48: Form ális módszerek I

For

mál

is m

ódsz

erek

V. Sztochasztikus Petri hálók

• végrehajtási idő• determinisztikus• sztochasztikus

Az engedélyezettséggel kapcsolatban felmerülő kérdések:• Időzítetlen tranzíciók „prioritása” nagyobb: előbb tüzelnek• Ha megszűnik az engedélyezettség mi lesz a gyújtási idővel?

determinisztikus időzítésű tranzíció

exponenciális időzítésű tranzíció

SPN = (P, T, E, W, M0, )

Gyújtási időzítés

Page 49: Form ális módszerek I

For

mál

is m

ódsz

erek

23.04.21. 49

SPN = (P, T, E, W, M0, )

• tüzelési intenzitás : T R• időzítés: valószínűségi változó

• eloszlásfüggvény: • sűrűségfüggvény:

• tüzelési szabály változik: intenzitás ~ prioritás

• két exponenciális eloszlás minimuma is az: 1 + 2

• PN és SPN elérhetőségi gráfja azonos• időzített elérhetőségi gráf: folytonos Markov lánc

Sztochasztikus Petri hálók

tetFtP 1)(}{tetf )(

Page 50: Form ális módszerek I

For

mál

is m

ódsz

erek

További lehetőség: színezett Petri háló (CPN –coloured PN)• Színezetlen (P-T) Petri hálók• szinezetlen tokenek• tokenek halmaza• token manipulació• kezdeti jelöles• tiltó elek• élsúlyok• tranzició engedélyezese• konfliktus különbözőengedélyezett tranziciók között• ~ assembly nyelv

• Színezett Petri hálók• színes tokenek• tokenek multihalmaza• adat manipulació• inicializaló kifejezések• őrfeltetelek• elkifejezések (változokkal)• lekötés engedélyezese• konfliktus ugyanazon tranzicióengedélyezett lekötései között• ~ magas szintű programnyelv

Forrás: dr. Bartha Tamás: előadás diák

Page 51: Form ális módszerek I

For

mál

is m

ódsz

erek

Petri hálós alkalmazások az operációs rendszereknél

Forrás: Pataricza András előadás diák

Page 52: Form ális módszerek I

For

mál

is m

ódsz

erek

Okok

• Az informatikai rendszerek jól tagoltak• rendszerépítés a komponensek integrációjával

• Az elemi komponensek kapcsolatában felismerhető a sorrendiség, ok-okozati függőség és az implicit függőség: pl. osztott erőforrás használata

• Célkitűzés: minőségi vagy/és mennyiségi analízis• kvalitatív: logikai helyességbizonyítás

• kvantitatív: teljesítményelemzés, megbízhatóság és rendelkezésre állás, biztonságosság

Page 53: Form ális módszerek I

For

mál

is m

ódsz

erek

kritikus szakasz

Tiltó él alkalmazására: kölcsönös kizárás

t11 t12 t13p11 p12

p3

t21 t22 t23p21 p22

Page 54: Form ális módszerek I

For

mál

is m

ódsz

erek

Egyszerűbben:

kritikus szakasz

t11 t12 t13p11 p12

p3

t21 t22 t23p21 p22

Page 55: Form ális módszerek I

For

mál

is m

ódsz

erek

Tipikus helyzetmodellek

Fork-Join típusú

párhuzamos végrehajtás

Randevú típusú

szinkronizálásSzemafor

típusú szinkronizálás

Page 56: Form ális módszerek I

For

mál

is m

ódsz

erek

Tipikus modellkonstrukciók

Kölcsönös kizárás

megvalósítása

Korlátos erőforrás kapacitás

modellezéseÁllapotválto

zó leolvasása

Page 57: Form ális módszerek I

For

mál

is m

ódsz

erek

Rendszermodellezés folyamata

Page 58: Form ális módszerek I

For

mál

is m

ódsz

erek

• Különítsük el a fő modellelem-fajtákat (és utána ezt tegyük):• folyamatok, illetve tevékenységek

(az erőforrás használat, illetve üzenetváltás részletes feltüntetése nélkül)

• erőforrásoka foglalt/szabad állapotot jellemző kétállapotú véges automata

modellrészt• a logikailag csatolt folyamatok közti esetleges üzenetek

a folyamat és erőforrás (illetve az üzenetek pufferje) modelljében a megfelelő állapotátmenetek összevonása

• Építsünk• Először nagy vonalakban, majd részletezzünk• Moduláris elemeket, majd ezekből a integréljuk a modellt

Page 59: Form ális módszerek I

For

mál

is m

ódsz

erek

Diszjunkt részhalmazok hozzárendelése elemekhez

ai, A, R(ai) B úgy, hogy R(ai) R(aj)=0 i, j

Halmazfinomítás

B1

B3

B2

a1 a2a3

Page 60: Form ális módszerek I

For

mál

is m

ódsz

erek

A hierarchikus építkezés szabályai

• Egy tranzíciót helyettesíthetünk

• A behelyettesítendő gráf

• Tranzícióval kezdődjön és végződjön

• Az eredeti tranzíció be/kimenő élei ezekbe menjenek

• Komplexitás megnő

P1

P2

P3T

A tranzíció részletezése

Page 61: Form ális módszerek I

For

mál

is m

ódsz

erek

Gyakorlat

Építsünk Petri hálót a PIPE2 nevű programmal!

Page 62: Form ális módszerek I

For

mál

is m

ódsz

erek

Példa: Petri háló az étteremben[1]

A feladat• Modellezzük egy étteremben zajló kiszolgálást Petri háló segítségével [2]. A

modellben több vendég és pincér van. A pincér első lépésként felveszi a rendelést, ezt leadja a konyhán, majd újból várakozó állapotba kerül. Innen tud újabb rendelést felvenni, vagy az elkészült ételt felszolgálni.

• Készítsünk Petri hálót a PIPE2 nevű programmal: http://pipe2.sourceforge.net/

[1] Polai Zsolt: Petri háló az étteremben, beadandó az Formális módszerek az informatikában tárgyból az Óbudai Egyetem Neumann János Informatikai Karának Msc Képzésén belül [2] A feladat (Egy pincéres változatnak) ötlete a következő forrásból való: http://www.cise.ufl.edu/~fishwick/cap4800/pn1.ppt (10. dia)A több pincéres változat pedig saját továbbfejlesztése az eredeti ötletnek.

Page 63: Form ális módszerek I

For

mál

is m

ódsz

erek

• A modellben a következő helyek vesznek részt:• Várakozó pincér• Vendég 1, 2, …• Várakozás 1, 2, …• Evés 1, 2, …, ahol a sorszámok az adott vendéget jelölik.• Rendelés leadása a konyhán

• A fenti helyeket a következő tranzíciók kötik össze:• Rendelés felvétele 1, 2, …• Étel felszolgálása 1, 2, …• Rendelés leadása a konyhán

• Készítsük el az egy pincéres modellt, majd egy több pincéres változatot is.

Page 64: Form ális módszerek I

For

mál

is m

ódsz

erek

Egypincéres modell

Page 65: Form ális módszerek I

For

mál

is m

ódsz

erek

Egypincéres modell

Az első változatban a következő sorrendben tüzelnek a tranzíciók:

• Rendelés felvétele (2)• Rendelés leadása a konyhán• Étel felszolgálása (2)• Rendelés felvétele (1)• Rendelés leadása a konyhán• Étel felszolgálása (1)

Page 66: Form ális módszerek I

For

mál

is m

ódsz

erek

Kezdeti állapot

Page 67: Form ális módszerek I

For

mál

is m

ódsz

erek

: Rendelés felvétele (2) tüzelt

Page 68: Form ális módszerek I

For

mál

is m

ódsz

erek

Rendelés leadása a konyhán tüzelt

Page 69: Form ális módszerek I

For

mál

is m

ódsz

erek

Étel felszolgálása (2) tüzelt

Page 70: Form ális módszerek I

For

mál

is m

ódsz

erek

Rendelés felvétele (1) tüzelt

Page 71: Form ális módszerek I

For

mál

is m

ódsz

erek

Rendelés leadása a konyhán tüzelt

Page 72: Form ális módszerek I

For

mál

is m

ódsz

erek

Étel felszolgálása (1) tüzelt

Page 73: Form ális módszerek I

For

mál

is m

ódsz

erek

Egypincéres – másik tüzelési szekvenciaMásodik változat tüzelési sorrendje:• Rendelés felvétele (2)• Rendelés leadása a konyhán• Rendelés felvétele (1)• Rendelés leadása a konyhán• Étel felszolgálása (2)• Étel felszolgálása (1)• Ellenőrizzük!

Page 74: Form ális módszerek I

For

mál

is m

ódsz

erek

Több pincéres Petri hál• Kezdeti változat

Page 75: Form ális módszerek I

For

mál

is m

ódsz

erek

Többpincéres modell• Felmerülő problémák: • A több pincéres modellben olyan probléma jelent meg, hogy az

első pincér felveszi a rendelést, amit még nem ad le a konyhán, de a második pincér már fel is szolgálja a vendégnek a kért ételt. Erre a problémára a tiltó élet alkalmazhatunk Rendelés felvéve hely és az Étel felszolgálása tranzíciók közt.

Page 76: Form ális módszerek I

For

mál

is m

ódsz

erek

Többpincéres modell –második változat

• Tiltó él bevezetésén kívül a második változatban az Étel felszolgálása tranzíciók kaptak egy magasabb prioritást is, így – konyhán történt rendelés leadás után – a pincérek előbb fogják elvégezni a kész étel felszolgálását, mint a beérkező vendégek kiszolgálását.

A több pincéres Petri háló egy lehetséges tüzelési sorrendje:Rendelés felvétele (1)

Rendelés felvéveÉtel felszolgálása (1)

Rendelés felvétele (2)Rendelés felvétele (3)

Rendelés leadása a konyhánRendelés leadása a konyhán

Étel felszolgálása (2)Étel felszolgálása (3)

Page 77: Form ális módszerek I

For

mál

is m

ódsz

erek

Kétpincéres – kezdeti állapot

Majd ezután sorban: a következő diákon az egymást követő tüzelések

Page 78: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 79: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 80: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 81: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 82: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 83: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 84: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 85: Form ális módszerek I

For

mál

is m

ódsz

erek

Page 86: Form ális módszerek I

For

mál

is m

ódsz

erek