Top Banner
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
24

Gyakorló feladatok...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 Alapszintű

Jun 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Gyakorló feladatok...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 Alapszintű

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

Page 2: Gyakorló feladatok...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 Alapszintű

Alapszintű formális modellek

Page 3: Gyakorló feladatok...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 Alapszintű

Elméleti kérdések

• Definiálja a következő formalizmusokat:

– Kripke-struktúra (KS)

– Címkézett tranzíciós rendszer (LTS)

– Kripke tranzíciós rendszer (KTS)

• Döntse el, hogy igazak-e a következő állítások:

– Egy KTS modell egy állapota csak egy atomi kijelentéssel címkézhető.

– Az LTS modellek esetén egy tranzíció több akcióval is címkézhető.

– LTS modellek esetén állapot címkék és tranzíció címkék is használhatók.

Page 4: Gyakorló feladatok...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 Alapszintű

Formális modell értelmezése

Az alábbi ábrákon látható két (az UPPAAL eszközben felvett) automata, ezek egy jelzőlámpa és egy gyalogos viselkedését modellezik. A kezdeti állapotban is_p=true, is_j=false.

• Készítse el a két automata együtteseként tekintett teljes rendszer Kripke-struktúra modelljét, a jelzőlámpa és a gyalogos elérhető állapotkombinációit és a köztük lévő átmeneteket felvéve. A Kripke-struktúra minden állapotát címkézze meg azzal, hogy a jelzőlámpa és a gyalogos mely állapotait reprezentálja.

4

is_j=false

is_p=true

Page 5: Gyakorló feladatok...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 Alapszintű

Követelmények formalizálása temporális logikákkal

Page 6: Gyakorló feladatok...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 Alapszintű

Temporális logikai kifejezések értelmezése

Indokolja meg, hogy következő LTL ekvivalencia helyes-e: 1. F (Start Stop) ≡ (F Start) (F Stop) 2. G Normal ≡ not F (not Normal)

Indokolja meg, hogy következő CTL ekvivalencia helyes-e: 1. AF (Start Stop) ≡ (AF Start) (AF Stop) 2. AF (Start Stop) ≡ (AF Start) (AF Stop) 3. EF (Start Stop) ≡ (EF Start) (EF Stop)

Indokolja meg, hogy az alábbi kifejezés szintaktikailag helyes-e CTL illetve CTL* temporális logikában! 1. A (X Stop F Start) 2. A (Stop U (AX Start))

Page 7: Gyakorló feladatok...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 Alapszintű

Követelményformalizálás: Vasúti kereszteződés

• Egy vasúti kereszteződést biztosító fénysorompó viselkedését az állapotaihoz rendelt következő atomi kijelentésekkel jellemezzük: {kikapcsolt, fehér, piros}

• A kereszteződéshez érkező autós viselkedését az állapotaihoz rendelt következő atomi kijelentésekkel jellemezzük: {érkezik, körülnéz, megáll, áthalad}

• Formalizálja LTL kifejezések segítségével az alábbi követelményeket, amelyek az autós viselkedésére minden esetben (folyamatosan) vonatkoznak:

1. Kikapcsolt állapotú fénysorompó esetén az autós körülnéz és a következő időpillanatban vagy áthalad, vagy megáll.

2. Az autós előbb-utóbb át fog haladni a vasúti kereszteződésen.

3. Ha egy autós érkezésekor a fénysorompó piros, akkor az autós addig nem halad át, amíg fehérre nem vált a fénysorompó.

Page 8: Gyakorló feladatok...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 Alapszintű

Követelményformalizálás: Szerverterem

• Egy bonyolult szimulációt futtató szerver állapotait a következő atomi kijelentésekkel jellemezzük: {kikapcsolt, várakozó, bemelegítés, szimuláció}

• A szerverszoba hűtésének működését a következő atomi kijelentésekkel jellemezzük: {készenlét, normál, maximális}

• Formalizálja LTL kifejezések segítségével az alábbi követelményeket, amelyek a rendszer működésére minden esetben (folyamatosan) vonatkoznak:

1. Ha egy adott pillanatban a szimuláció a hűtés készenlét állapota mellett zajlik, akkor a következő pillanatban a szerver várakozó állapotra kapcsol.

2. Előbb-utóbb elkezdhető a szimuláció.

3. Csak úgy hajtható végre szimuláció, ha közvetlenül előtte volt bemelegítés a hűtőberendezés normál működése mellett.

Page 9: Gyakorló feladatok...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 Alapszintű

Tulajdonságok ellenőrzése formális modelleken

Page 10: Gyakorló feladatok...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 Alapszintű

Modellellenőrző algoritmusok alapjai

1. Rajzolja fel a tabló felbontás szabályát a PLTL temporális logika U operátora esetén! Írja le, mikor adódhat ellentmondásos ág az U operátorral felírt kifejezés így megadott felbontásának elvégzése során!

2. Írja le, hogyan azonosíthatók azok az állapotok a modellben, amelyeken igaz az E(P U Q) tulajdonság!

3. Írja le, milyen átalakítási lépésekkel kapunk ROBDD-t egy bináris döntési fából!

4. Írja le a korlátos modellellenőrzés alapötletét!

Page 11: Gyakorló feladatok...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 Alapszintű

Modellellenőrzés: Szerverek

• Egy informatikai rendszer egy adatbázisszerverből és egy alkalmazásszerverből áll, amelyek kikapcsolt vagy bekapcsolt állapotban lehetnek. Alaphelyzetben mindkét szerver ki van kapcsolva.

• A szervereket hibamentes esetben egyszerre kapcsolják ki/be.

• Az üzemállapot az, amikor mindkét erőforrás be van kapcsolva.

• Ha az üzemállapotban az adatbázisszervert hiba következtében kikapcsolják, az rendszerszinten üzemképtelen állapotnak tekinthető. Ezután az alkalmazásszervert is kikapcsolják, majd mindkét erőforrás bekapcsolásával indítják újra a rendszert.

• Feladatok: 1. Rajzolja fel a rendszer itt leírt működését modellező Kripke-struktúrát az

egyes szerverek bekapcsolását és kikapcsolását figyelembe véve! Az egyes állapotokat jellemezze a következő atomi kijelentésekkel: {alaphelyzet, üzemállapot, üzemképtelen}

2. Ellenőrizze a modellen, hogy az üzemállapotból tekintve teljesül-e a következő CTL kifejezés: E(¬üzemképtelen U alaphelyzet)

Page 12: Gyakorló feladatok...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 Alapszintű

Modellellenőrzés: Informatikus hallgató

• Egy informatikus hallgató három „állapotát” különböztethetjük meg: tanul, pihen, vagy vizsgázik.

• Az állapotváltásokat a következők jellemzik: – A hallgató alapállapota a tanulás.

– A tanulást a vizsgázásig nem hagyja abba.

– Tanulás nélkül a hallgató nem vizsgázik.

– A vizsgázást követően csak pihenés után tanul újra.

• Feladatok: 1. Rajzolja fel a hallgató itt leírt viselkedését modellező Kripke-struktúrát!

Az egyes állapotokat jellemezze a következő atomi kijelentésekkel: {pihen, tanul, vizsgázik}

2. Ellenőrizze a modellen, hogy a hallgató alapállapotából (ami a tanulás) kiindulva teljesül-e a következő CTL kifejezés: E(¬vizsgázik U pihen)

Page 13: Gyakorló feladatok...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 Alapszintű

CTL tulajdonság ellenőrzése címkézéssel

Adott az alábbi Kripke-struktúra.

• A tanult iteratív állapotcímkézési eljárást végrehajtva ellenőrizze a modellen, hogy teljesül-e a kezdőállapotból az alábbi CTL kifejezés: A(p U (EX ¬q)). Az iteráció minden lépéséhez adja meg a címkéző kifejezést és (felsorolással) a címkézett állapotok halmazát!

00

10 11

01 {p, q}

{p}

{q}

{q}

A B

D C

Page 14: Gyakorló feladatok...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 Alapszintű

15

Modellellenőrzés tabló módszerrel (1)

Adott a rajzon látható Kripke struktúra.

Végezzük el a következő kifejezés ellenőrzését a tabló módszert alkalmazva: (P U Q)

s 1 s 0

s 1 s 1

s 1 s 2

{P}

{P}

{Q}

Page 15: Gyakorló feladatok...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 Alapszintű

16

Modellellenőrzés tabló módszerrel (2)

Adott a rajzon látható Kripke struktúra.

Végezzük el a következő kifejezés ellenőrzését a tabló módszert alkalmazva: (P U Q)

Tudnivalók:

• Negált kifejezés (ellenpélda kereséshez): (P U Q)

• Tabló szabálya: (P U Q) = Q (P X(P U Q))

s1 s2 sn

s

…s1 s2 sn

s

s | - p, s 1 | - p U q … s | - p, s n | - p U q

s | - p U q

s | - q s | - p, s | - X(p U q)

s 1 s 0

s 1 s 1

s 1 s 2

{P}

{P}

{Q}

Page 16: Gyakorló feladatok...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 Alapszintű

17

Modellellenőrzés tabló módszerrel (3)

Adott a rajzon látható Kripke struktúra.

Végezzük el a következő kifejezés ellenőrzését a tabló módszert alkalmazva: (P U Q)

Tudnivalók:

• Negált kifejezés (ellenpélda kereséshez): (P U Q)

• Tabló szabálya: (P U Q) = Q (P X(P U Q)) • A tabló építésben ellentmondásra jutunk:

– Atomi kijelentésre vonatkozó lokális állítás nem teljesül

– X operátor van, de az útvonal véget ér Q teljesülése nélkül

– Ciklus alakul ki P teljesülésével, de Q teljesülése nélkül

• A tabló sikeres ágai (itt ellenpéldát adnak):

– Atomi kijelentésekre vonatkozó állítások listája teljesül

– Ciklus alakul ki ellentmondás nélkül

s 1 s 0

s 1 s 1

s 1 s 2

{P}

{P}

{Q}

Page 17: Gyakorló feladatok...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 Alapszintű

ROBDD kézi összeállítása

Adott a g logikai függvény igazságtáblázata:

1. Rajzolja fel a g logikai függvény döntési fáját! A rajzoláshoz az x, y, z változósorrendet használja.

2. Ez alapján adja meg a g függvényt redukált rendezett bináris döntési diagram (ROBDD) alakban!

3. Adja meg a függvényt algebrai (képlet) alakban!

x y z f(x,y,z)

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

Page 18: Gyakorló feladatok...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 Alapszintű

ROBDD alapú műveletek függvényeken (1)

Tekintse az alábbi, ROBDD alakban megadott f és g függvényeket, és rajzolja fel ezek alapján ROBDD alakban

az fg függvényt!

x

z

0 1

x

y y

z

0 1

f: g:

Page 19: Gyakorló feladatok...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 Alapszintű

ROBDD alapú műveletek függvényeken (2)

Tekintse az alábbi, ROBDD alakban megadott f és g függvényeket, és rajzolja fel ezek alapján az fg függvényt ROBDD alakban!

x

z

0 1

x

y y

z

0 1

f: g:

y y

z z z

Page 20: Gyakorló feladatok...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 Alapszintű

ROBDD alapú műveletek függvényeken (3)

Tekintse az alábbi, ROBDD alakban megadott f és g függvényeket, és rajzolja fel ezek alapján az fg függvényt ROBDD alakban!

x1

z1

0 1

x2

y21 y22

z2

0 1

f: g:

y11 y12

z12 z21 z22

Page 21: Gyakorló feladatok...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 Alapszintű

Modellezés állapottérképekkel

Page 22: Gyakorló feladatok...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 Alapszintű

Állapottérképek 1.

A kezdő állapotkonfigurációban az a változó értéke 8 és egy x esemény érkezik. Minden állapotban van entry és exit akció.

1. Melyek az engedélyezett állapotátmenetek?

2. Mely engedélyezett állapotátmenetek vannak konfliktusban?

3. Hogy néz ki a tüzelhető állapotátmenetek halmaza?

4. Hogy néz(nek) ki a következő stabil állapotkonfiguráció(k)?

5. Milyen akciók és milyen sorrendben hajtódnak végre?

s2

s1

s3

s4

s5 s6

s7

s8

s9

s10

t1:y/i

t2:x/j

t3:x[a<3]/i

t4:y[b>4]/j

t5:x[a<10]/k

t6:x/k

t7:x[a<10]/i

Page 23: Gyakorló feladatok...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 Alapszintű

Állapottérképek 2.1.

A {top, s2, s23, s232, s234} állapotkonfigurációban az y esemény érkezik az eseménykezelőtől.

• Ennek hatására az új állapotkonfiguráció a {top, s1, s11, s13} lesz.

s12t1: x / a

s1

s2

t14: x / b

s13s233

top

t18: y / e

t16: y / c

s235

s234

s11

t2: x / c

t17: x / d

s232s231

t15: y / a

s23

s21

t11: y / e

s22 t13: y / g

t12: x / f

H*

t10: x / e

t7: y / f

t6: x / e

t8: x / a

t5: x / c

t9: x / c

t19: y / c

t4: x / ds14

t3: x / b

Page 24: Gyakorló feladatok...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 Alapszintű

Állapottérképek 2.2.

s12t1: x / a

s1

s2

t14: x / b

s13s233

top

t18: y / e

t16: y / c

s235

s234

s11

t2: x / c

t17: x / d

s232s231

t15: y / a

s23

s21

t11: y / e

s22 t13: y / g

t12: x / f

H*

t10: x / e

t7: y / f

t6: x / e

t8: x / a

t5: x / c

t9: x / c

t19: y / c

t4: x / ds14

t3: x / b

Ezután (az ábrán szereplő új állapotkonfigurációban) az x esemény érkezik.

1. Melyek az engedélyezett, a konfliktusban lévő, illetve a tüzelő átmenetek?

2. Mi lesz az új állapotkonfiguráció? Milyen akciók hajtódnak végre?