Alapszintű formalizmusok

Hasonló dokumentumok
Alapszintű formalizmusok

Alapszintű formalizmusok

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

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

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

A modell-ellenőrzés gyakorlata UPPAAL

Részletes szoftver tervek ellenőrzése

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

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

Időzített rendszerek és az UPPAAL II

Időzített átmeneti rendszerek

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

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

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

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

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

Magasabb szintű formalizmus: Állapottérképek (statecharts) dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

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

Részletes tervek ellenőrzése

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

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

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

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

Időt kezelő modellek és temporális logikák

Forráskód generálás formális modellek alapján

Zárthelyi mintapéldák. 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

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

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

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

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

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

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

Osztott rendszer. Osztott rendszer informális definíciója

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

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

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

Magasabb szintű formalizmus: Állapottérképek (statecharts) dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

A modell-ellenőrzés gyakorlata

Modell alapú tesztelés mobil környezetben

A formális módszerek szerepe

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

3. gyakorlat Folyamatmodellek, kooperáló viselkedésmodellek Megoldások

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

Automatikus kódgenerálás helyességének ellenőrzése

Adatfolyam hálók Dr. Bartha Tamás, Dr. Pataricza András fóliái

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

Digitális technika (VIMIAA02) Laboratórium 4

Sztochasztikus temporális logikák

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

Digitális technika (VIMIAA02) Laboratórium 4

Modell alapú tesztelés: célok és lehetőségek

A formális módszerek szerepe

folyamatrendszerek modellezése

... 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 Jövő Internet elméleti alapjai. Vaszil György Debreceni Egyetem, Informatikai Kar

Modellezés UPPAAL-ban

Színezett Petri-hálók

Kommunikáció. Kommunikáció. Folyamatok. Adatfolyam-orientált kommunikáció. Kommunikáció típusok (1) Kommunikáció típusok (2) Média. Folyamok (Streams)

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

Formális modellezés alkalmazásának lehetőségei a vasúti biztosítóberendezések területén 2. rész

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

Rendszermodellezés: házi feladat bemutatás

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

0. előadás Motiváció. Dr. Kallós Gábor

Monitorok automatikus szintézise elosztott beágyazott rendszerek futásidőbeli verifikációjához

Android Wear programozás. Nyitrai István

Kommunikáció. 3. előadás

5. Hét Sorrendi hálózatok

Folyamatmodellezés (BPMN), adatfolyamhálók

Ütem Lámpafázisok A számláló értéke ütemmerker 1 P 0 M1 2 P 1 M2 3 P S 2 M3 4 Z 3 M4 5 Z 4 M5 6 Z 5 M6 7 Z 6 M7 8 S 7 M8

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

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:

Digitális technika (VIMIAA01) Laboratórium 4

The Flooding Time Synchronization Protocol

Dr. Mileff Péter

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

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

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

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Szoftverminőségbiztosítás

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

The modular mitmót system. DPY kijelző kártya C API

8.3. AZ ASIC TESZTELÉSE

Színezett Petri hálók

Számítógépes Hálózatok 2010

OOP. Alapelvek Elek Tibor

Elsőrendű logika. Mesterséges intelligencia március 28.

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

5. A kiterjesztési elv, nyelvi változók

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

Párhuzamos és Grid rendszerek

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

BUDAPESTI MÛSZAKI EGYETEM Méréstechnika és Információs Rendszerek Tanszék. SPIN Mérési útmutató. Készítette: Jávorszky Judit

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

Modell alapú tesztelés

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

Átírás:

Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1

Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények i Automatikus modellellenőrző n OK Ellenpélda 2

Modellek a formális ellenőrzéshez Leképzések Mérnöki modellek Magasabb szintű formalizmusok PN, CPN, DFN, SC Alapszintű matematikai formalizmusok KS, LTS, KTS 3

Alapszintű formalizmusok (áttekintés) Kripke-struktúrák (KS) Állapotok, állapotátmenetek Állapotok lokális tulajdonságai mint címkék Címkézett tranzíciós rendszerek (LTS) Állapotok, állapotátmenetek Állapotok lokális tulajdonságai mint címkék Kripke tranzíciós rendszerek (KTS) Állapotok, állapotátmenetek Állapotok és lokális tulajdonságai mint címkék Véges állapotú automaták időkezeléssel Kiterjesztések: Változók, óraváltozók, szinkronizáció 4

KS, Kripke-structure: 1. Kripke-struktúra Állapotok tulajdonságait fejezzük ki: címkézés atomi kijelentésekkel Egy állapothoz sok címke rendelhető Alkalmazás: Viselkedés, algoritmus leírása KS ( S, R, L) és AP, ahol AP= P,Q,R,... S= s,s,s,...s 1 2 3 n atomi kijelentések halmaza (domén-specifikus) állapotok halmaza R S S: állapotátmeneti reláció AP L: S 2 állapotok címkézése atomi kijelentésekkel 5

Kripke-struktúra példa Közlekedési lámpa viselkedése AP={Zöld, Sárga, Piros, Villogó} S = {s1, s2, s3, s4, s5} {Zöld} {Sárga} {Piros} {Piros, Sárga} s1 s2 s3 s4 s5 {Villogó} 6

2. Címkézett tranzíciós rendszer LTS, Labeled Transition System: Állapotátmenetek tulajdonságait fejezzük ki: címkézés akciókkal Egy átmeneten csak egy akció szerepelhet Alkalmazás: Kommunikáció, protokollok modellezése LTS ( S, Act, ), ahol S= s,s,...s 1 2 n Act= a,b,c,... S Act S állapotok halmaza akciók (címkék) halmaza címkézett állapotátmenetek Állapotátmenetek szokásos jelölése: s a s 1 2 7

Italautomata modelljei Act = {pénz, kávé, tea} LTS példák T1 T2 pénz pénz pénz kávé tea kávé tea 8

3. Kripke tranzíciós rendszer KTS, Kripke Transition System: Állapotok és átmenetek tulajdonságait is kifejezzük: címkézés atomi kijelentésekkel és akciókkal Egy állapothoz sok címke rendelhető, egy átmenethez egy címke rendelhető KTS ( S,, L) és AP, Act, ahol AP Act P, Q, R,... a, b, c,... 1 2 3 atomi kijelentések halmaza (domén-specifikus) akciók halmaza S s, s, s,... s állapotok halmaza S Act S L: S 2 AP n állapotátmeneti reláció állapotok címkézése atomi kijelentésekkel 9

KTS példa Italautomata modellje állapot címkékkel Act = {pénz, kávé, tea} AP = {Start, Választ, Stop} {Start} kávé pénz {Választ} tea {Stop} {Stop} 10

Időzített automaták és az UPPAAL eszköz 12

Automaták és változók Cél: Állapot alapú viselkedés modellezése Alap formalizmus: Véges állapotú automata (FSM) Állapotok (névvel hivatkozhatók) Állapotátmenetek Nyelvi kiterjesztés: Egész értékű változók használata Változók értéktartománya megadható Konstansok definiálhatók Egész aritmetika használható Használat állapotátmeneteken: Őrfeltétel hozzárendelése: A változókon kiértékelhető predikátum Az átmenet bekövetkezéséhez igaz kell legyen Akció hozzárendelése: Értékadás változóknak 13

Kiterjesztések óraváltozókkal Cél: Valósidejű viselkedés modellezése Idő telik az állapotokban Relatív időmérés (pl. time-out): Időzítő resetelése és leolvasása Az idő függvényében változó a viselkedés Ellenőrizendő: Adott időn belül (idő múlva) elérhető állapotok Nyelvi kiterjesztés: Óraváltozók Azonos rátával automatikusan haladó konkurens órák (időzítők) Használat állapotátmenetekben: Akciók: Óraváltozók nullázása (resetelés), egymástól függetlenül Őrfeltételek: Óraváltozók és konstansok használhatók a predikátumokban Használat állapotokban: Állapot invariánsok: Predikátum óraváltozókon és konstansokon, megadja, meddig állhat fenn az adott állapot 14

Időzített automata (az UPPAAL eszközben) Állapot név clock x; Őrfeltétel Állapot invariáns Akció 15

Az invariánsok és őrfeltételek szerepe clock x; Őrfeltétel Invariáns Az open állapot elhagyásakor a [4, 8] tartományban lehet x óra értéke 4 8 t 16

Kiterjesztések elosztott rendszerekhez Cél: Együttműködő automaták hálózatának modellezése Szinkronizáció az egyes automaták között Együttlépő átmenetek (randevú): szinkron kommunikáció Üzenet küldés és fogadás csak együtt valósulhat meg (küldő vár) Ezzel aszinkron kommunikáció is leírható Nyelvi kiterjesztés: Szinkronizált akciók Csatornák definiálása (szinkron csatorna) Üzenetküldés:! operátor a csatornára Üzenetfogadás:? operátor a csatornára Pl: az a nevű csatorna esetén a! és a? akciók Paraméterezés Csatornák paraméterezése (csatornatömb) Pl. a[id] csatorna egy id változó esetén Automaták paraméterezése: Példányosítás Pl. Door(bool &id) egy id változó értéke lesz a paraméter a! a? chan a 17

Példa óraváltozókra és szinkronizálásra Deklarációk: clock t, u; chan press; Kapcsoló: Üzenet fogadás Felhasználó: Üzenet küldés 18

További lehetőségek: Broadcast csatorna Broadcast csatorna: 1->N kommunikáció Üzenetküldés feltétel nélkül megtörténik Nem kell fogadó készenlétére (randevúra) várni Minden üzenetfogadásra kész partner erre szinkronizálódik Üzenetfogadáshoz szükséges az üzenetküldés Használati feltétel: Nem szerepelhet őrfeltétel a broadcast csatornára hivatkozó üzenetfogadó átmeneten broadcast chan a; a! a? a? a? 19

További lehetőségek: Urgent csatorna Urgent csatorna: Nem enged késleltetést Késleltetés nélkül, azonnal végrehajtandó szinkronizáció (de előtte más átmenetek azonnali végrehajtása lehet) Használati feltételek: Nem szerepelhet időzítés őrfeltétel azon az átmeneten, ami ilyen csatornára hivatkozó akcióval van címkézve Nem szerepelhet invariáns azon az állapoton, ahonnan olyan átmenet indul, ami ilyen csatornára hivatkozó akcióval van címkézve urgent chan a; a! Nem szerepelhet itt invariáns Nem szerepelhet itt időzítés őrfeltétel 20

További lehetőségek: Speciális állapotok Urgent állapot: késleltetés korlátozása Nem telhet idő az adott állapotban Ekvivalens modell: Óraváltozó bevezetése: clock x; Minden bemenő élen resetelve: x:=0 Állapot invariáns hozzárendelése: x<=0 Committed állapot: átmenetek egybefogása Bemenő és kimenő átmenet egy atomi műveletként végrehajtva A bemenő és kimenő átmenetek végrehajtása között más automata átmenete nem lehet végrehajtva U C 21

Az UPPAAL eszköz Fejlesztése (1999-): Uppsala University, Svédország Aalborg University, Dánia Web lap (információk, letöltés, példák): http://www.uppaal.org/ Kapcsolódó eszközök: UPPAAL CoVer: Tesztgenerálás UPPAAL TRON: On-line tesztelés UPPAAL PORT: Komponens alapú rendszerek tervezése Kereskedelmi verzió: http://www.uppaal.com/ 22

Automata modell 23

Szimulátor 24

Verifikáció 25