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

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

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

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

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

Alapszintű formalizmusok

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

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

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

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

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

Temporális logikák és modell ellenırzés

Részletes tervek ellenőrzése

Valószínűségi modellellenőrzés Markov döntési folyamatokkal

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

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD)

Rendszermodellezés. Modellellenőrzés. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Részletes szoftver tervek ellenőrzése

Hatékony technikák modellellenőrzéshez: Szimbolikus technikák (ROBDD)

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

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

Formális verifikáció Modellezés és modellellenőrzés

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

Alapszintű formalizmusok

Formális modellezés és verifikáció

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

Sztochasztikus temporális logikák

Követelmények formalizálása: Temporális logikák

Időzített átmeneti rendszerek

A modell-ellenőrzés gyakorlata UPPAAL

Időt kezelő modellek és temporális logiká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

1. A matematikai logika alapfogalmai. 2. A matematikai logika műveletei

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Automatikus tesztgenerálás modell ellenőrző segítségével

Alapszintű formalizmusok

Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

Arany Dániel Matematikai Tanulóverseny 2012/2013-as tanév 1. forduló haladók III. kategória

A vezérlő alkalmas 1x16, 2x16, 2x20, 4x20 karakteres kijelzők meghajtására. Az 1. ábrán látható a modul bekötése.

I.5. A LOGIKAI FÜGGVÉNYEK EGYSZERŰSÍTÉSE (MINIMALIZÁCIÓ)

Formális módszerek. A formális modellezés és a formális verifikáció alapjai. dr. Bartha Tamás BME Közlekedés- és Járműirányítási Tanszék

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

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

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

1. Az adott kapcsolást rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben. MEGOLDÁS:

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

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

Teszt generálás webes alkalmazásokhoz

Modellek ellenőrzése és tesztelése

1. EGY- ÉS KÉTVÁLTOZÓS LOGIKAI ELEMEK KAPCSOLÁSTECHNIKÁJA ÉS JELÖLŐRENDSZERE

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

Véges automaták, reguláris nyelvek

E x μ x μ K I. és 1. osztály. pontokként), valamint a bayesi döntést megvalósító szeparáló görbét (kék egyenes)

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

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

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

Kétfázisú szimplex algoritmus és speciális esetei

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

1. Az adott kifejezést egyszerűsítse és rajzolja le a lehető legkevesebb elemmel, a legegyszerűbben.

2) Tervezzen Stibitz kód szerint működő, aszinkron decimális előre számlálót! A megvalósításához

Tájékoztató. Használható segédeszköz: számológép

9. Trigonometria. I. Nulladik ZH-ban láttuk: 1. Tegye nagyság szerint növekvő sorrendbe az alábbi értékeket! Megoldás:

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Kompetens szoftvertesztelés a gyakorlatban II. zárthelyi dolgozat

Programok értelmezése

D I G I T Á L I S T E C H N I K A Gyakorló feladatok 3.

WorldSkills előválogató Mechatronika PLC feladat március 4. - Gödöllő

Függvények Megoldások

Elosztott adatbázis-kezelő formális elemzése

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III.28) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

Formális nyelvek - 9.

2. gyakorlat: Részletes tervek és forráskód ellenőrzése

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

Temporális logikai specifikációk vizsgálata

ELEKTRONIKAI ALAPISMERETEK

Sztöchiometriai egyenletrendszerek minimális számú aktív változót tartalmazó megoldásainak meghatározása a P-gráf módszertan alkalmazásával

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

Digitális technika házi feladat III. Megoldások

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

A matematika nyelvéről bevezetés

Nemzeti alaptanterv 2012 MATEMATIKA

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Abszolútértékes és gyökös kifejezések

Matematikai logika és halmazelmélet

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Versenyző kódja: 28 27/2012. (VIII. 27.) NGM rendelet MAGYAR KERESKEDELMI ÉS IPARKAMARA. Országos Szakmai Tanulmányi Verseny.

Véges állapotú gépek (FSM) tervezése

Diszkrét matematika 2.C szakirány

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Matematika 8. osztály

Formális módszerek. A formális modellezés és a formális verifikáció alapjai. dr. Bartha Tamás BME Közlekedés- és Járműirányítási Tanszék

I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI

Az egyenes egyenlete: 2 pont. Az összevont alak: 1 pont. Melyik ábrán látható e függvény grafikonjának egy részlete?

Versenyző kódja: 7 27/2012. (VIII. 27.) NGM rendelet MAGYAR KERESKEDELMI ÉS IPARKAMARA. Országos Szakmai Tanulmányi Verseny.

6. LOGIKAI ÁRAMKÖRÖK

MINTA Írásbeli Záróvizsga Mechatronikai mérnök MSc. Debrecen,

Logikai áramkörök. Informatika alapjai-5 Logikai áramkörök 1/6

A logaritmusfüggvény definíciója, grafikonja, jellemzői MATEMATIKA 11. évfolyam középszint

Algoritmusok és adatszerkezetek I. 2. előadás

Átírás:

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

Formális modellek használata és értelmezése

Formális modellek é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. is_j=false is_p=true 3

Állapottérképek 1. s1 s2 t1:y/i t2:x/j s3 t6:x/k s9 s4 s7 s5 t3:x[a<3]/i t4:y[b>4]/j s6 t5:x[a<10]/k s8 t7:x[a<10]/i s10 A kezdő állapotkonfigurációban az a változó értéke 8 és egy x esemény érkezik. 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?

Állapottérképek 2.1. top s2 s1 t 5 : x / c H* s23 s11 t 1 : x / a t 2 : x / c s12 t 6 : x / e t 10 : x / e s21 t 12 : x / f s231 t 14 : x / b t 15 : y / a s232 s14 t 4 : x / d s13 t 7 : y / f t 11 : y / e s22 t 13 : y / g t 16 : y / c s233 t 3 : x / b t 8 : x / a s234 t 18 : y / e t 19 : y / c s235 t 9 : x / c t 17 : x / d A {top, s2, s23, s232, s234} állapotkonfigurációban az y esemény érkezik az eseménykezelőtől. Mi lesz az új állapotkonfiguráció?

Állapottérképek 2.2. top s2 s1 t 5 : x / c H* s23 s11 t 1 : x / a t 2 : x / c s12 t 6 : x / e t 10 : x / e s21 t 12 : x / f s231 t 14 : x / b t 15 : y / a s232 s14 t 4 : x / d s13 t 7 : y / f t 11 : y / e s22 t 13 : y / g t 16 : y / c s233 t 3 : x / b t 8 : x / a s234 t 18 : y / e t 19 : y / c s235 t 9 : x / c t 17 : x / d Az így elért (az ábrán szereplő) állapotban 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?

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

Temporális logikai kifejezések értelmezése Indokolja meg, hogy következő LTL ekvivalencia helyes-e: 1. (F Stop) (F Start) F (Stop Start) 2. G Stop not F (not Stop) 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))

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

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őberendezésének működését az állapotaihoz rendelt 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 vonatkoznak: 1. Ha egy adott pillanatban a szimuláció a hűtőberendezés készenléti á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 volt bemelegítés a hűtőberendezés normál működése mellett.

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

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!

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)

Modellellenőrzés: Informatikus hallgató Egy informatikus hallgató állapotait az alapján különböztetjük meg, hogy kávézik vagy nem, valamint alszik vagy nem. A hallgató három tevékenységét különböztetjük meg: tanulás közben kávézik és nem alszik; ezután vizsgázik, ahol nem kávézik és nem is alszik; a vizsgázás után pihen, ekkor alszik és nem kávézik. A hallgató alapállapota a tanulás, amit a vizsgázásig nem is hagy abba. Tanulás nélkül a hallgató nem vizsgázik; a vizsgázást követően csak pihenés után tanul. Feladatok: 1. Rajzolja fel a hallgató itt leírt viselkedését modellező Kripke-struktúrát a hallgató kávézását és alvását figyelembe véve! 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)

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! {p, q} A 00 B 01 {q} {q} C D 10 11 {p}

Modellellenőrzés tabló módszerrel (1) Adott a rajzon látható Kripke struktúra. {P} Végezzük el a következő kifejezés ellenőrzését a tabló módszert alkalmazva: (P U Q) {P} s 10 s 1 s 12 {Q} 17

Modellellenőrzés tabló módszerrel (2) Adott a rajzon látható Kripke struktúra. {P} Végezzük el a következő kifejezés ellenőrzését a tabló módszert alkalmazva: (P U Q) {P} s 10 s 1 s 12 {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)) s - p U q s s - q s - p, s - X(p U q) s s 1 2 s n s - p, s 1 - p U q s - p, s n - p U q 18

Modellellenőrzés tabló módszerrel (3) Adott a rajzon látható Kripke struktúra. {P} Végezzük el a következő kifejezés ellenőrzését a tabló módszert alkalmazva: (P U Q) {P} s 10 s 1 s 12 {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 19

ROBDD kézi összeállítása Adott a g logikai függvény igazságtáblázata: 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 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!

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 az f g függvényt ROBDD alakban! f: g: x x y y z 0 1 z 0 1

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 f g függvényt ROBDD alakban! f: g: x x y y y y z z z z z 0 1 0 1

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 f g függvényt ROBDD alakban! f: g: x 1 x 2 y 11 y 12 y 21 y 22 z 1 z 2 z 12 z 21 z 22 0 1 0 1