gyakorló feladatok...gyakorló feladatok: formális modellek, temporális logikák,...
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/1.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/2.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/3.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/4.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/5.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/6.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/7.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/8.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/9.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/10.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/11.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/12.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/13.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/14.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/15.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/16.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/17.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/18.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/19.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/20.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/21.jpg)
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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/22.jpg)
Á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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/23.jpg)
Á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ű](https://reader035.vdocuments.site/reader035/viewer/2022070815/5f0eb6397e708231d44090e7/html5/thumbnails/24.jpg)
Á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?