Alapszintű formalizmusok



Hasonló dokumentumok
Alapszintű formalizmusok

Alapszintű formalizmusok

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

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

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

Részletes szoftver tervek ellenőrzése

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

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

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

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

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

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

Futásidőbeli verifikáció

Részletes tervek ellenőrzése

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

TERMELÉSI MÉLYSÉG OPTIMALIZÁLÁSA ANT COLONY ALGORITMUS ALKALMAZÁSÁVAL BEVEZETÉS

Időzített rendszerek és az UPPAAL II

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

Foglalkozási napló a 20 /20. tanévre

Párhuzamos algoritmusmodellek Herendi, Tamás Nagy, Benedek

Telemetriai rendszer alkalmazási lehetősége a tűzoltók egészségvédelmének érdekében

Bevezetés a vonalkódok elméletébe. Melis Zoltán BCS Hungary (C)

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

Szakmai tétel A. 3. a. Az egyenáramú armatúra hurkos és hullámos tekercselése. b. Statikus és dinamikus stabilitás, szinkrongépek lengései.

Teszt generálás webes alkalmazásokhoz

Diszkrét termelési folyamatok ütemezési feladatainak modellezése és számítógépi megoldása

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: Szimbolikus technikák (ROBDD)

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

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

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

Digitális bemenetek: 2 darab 0-5V jelszintű digitális bemenet Pl. nyitásérzékelők, risztóközpontok, mozgásérzékelők, átjelzők, stb.

Méréstechnika. 3. Mérőműszerek csoportosítása, Elektromechanikus műszerek általános felépítése, jellemzőik.

3C / DIY DVR H.264 Multiplex 4CH/8CH Network DVR Mobiltelefon/PDA/Egér támogatás ET-DVR / ET-DVR-08200

Számítógépes adatbiztonság

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

TRP-C24 Felhasználói Kézikönyv

Vigilec Mono. Egyfázisú szivattyú vezérlő és védelmi doboz. I. A csavarok eltávolítása után csúsztassuk felfelé az előlapot a felső állásba (A ábra)

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

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

Kültéri időjárásálló kódkapcsoló DK-2861K és DK-2865K Használati utasítás (MK-II)

A számítógép-hálózatok használata

Hálózatkezelés: Távoli elérés szolgáltatások - PPP kapcsolatok

Számítógép programok katalógusa, 1972* ETO 621,39:881,3.06 (085)

Jövő Internet - kutatások az elmélettől az alkalmazásig. Eredménykommunikációs kiadvány

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

I 2 C, SPI, I 2 S, USB, PWM, UART, IrDA

Intelligens járművédelem. Biztonság és kényelem. Használati utasítás

A számítógépes hálózat célja

Ragasztóberendezések

Erdélyi Magyar TudományEgyetem (EMTE

SL7000. Intelligens kereskedelmi és ipari fogyasztásmérő

A matematika alapjai. Nagy Károly 2014

Magyar Sárkány A Magyar Sárkányhajó Szövetség évi tájékoztató kiadványa. info@sarkanyhajozas.

Csak felvételi vizsga: csak záróvizsga: közös vizsga: Mérnökinformatikus szak BME Villamosmérnöki és Informatikai Kar május 27.

2 - ELEKTROMOS BEKÖTÉSEK

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

1. számú melléket: Módosítások 2011

Arany Dániel Matematikai Tanulóverseny 2010/2011-es tanév 2. forduló haladók II. kategória

KING GATES ROLLS 650 ÉS 1200 PROGRAMOZÁS FIGYELMEZTETÉSEK

Dr. Jelasity Márk. Mesterséges Intelligencia I. Előadás Jegyzet (2008. október 6) Készítette: Filkus Dominik Martin

Nagy Zoltán Hibrid rendszerű járművek hajtásmódjának felépítése és veszélyforrásai

Rendelkezésre állás Magas szintű rendelkezésre állás bemutatása

Dinamikus routing - alapismeretek -

Informatika szintmérő-érettségi tételek február

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

VLT 6000 HVAC. Tartalom

X. Szigetelésdiagnosztikai Konferencia

QAX910. Lakásközpont. Building Technologies HVAC Products. Synco 900

HIRDETMÉNY A LAKOSSÁGI FORINT ALAPÚ KÁRTYÁKRÓL

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

MATEMATIKA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

WiLARM-ONE GSM Átjelző Modul Telepítői kivonat Version: 1.1

Kezelési útmutató. Kapcsolószerkezet

Kriptográfiai algoritmus implementációk időalapú támadása Endrődi Csilla, Csorba Kristóf BME MIT

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

DIÁKIGAZOLVÁNY. Felhasználói dokumentáció verzió 3.7. Budapest, 2015.

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

Általános Szerződési Feltételek

Felhasználói leírás v1.0

Öntanuló szobatermosztát

ECO2 ECO-2 vezérlőelektronika beüzemelése

A készletezés Készlet: készletezés Indok Készlettípusok az igény teljesítés viszony szerint

Songo online zenebolt adatvédelmi és adatkezelési szabályzata

Ingrid Signo Felhasználói kézikönyv. Pénztári használatra

GSP9200. Számítógép vezérelt LCD Kerékkiegyensúlyozó. Csökkenti a kiegyensúlyozás költségét és növeli a profitot. SmartWeight

VÁLLALKOZÓI AKADÉMIA

Széchenyi István Szakképző Iskola

Tharanis API. v 2.2 ( ) Az eljáráshívás minden esetben SOAP-on keresztül történik. A kapcsolat létrehozása (PHP):

ATM hálózatra épülő Interaktív Televízió Szolgáltatás

ÍRÁSBELI VIZSGAKÉRDÉSEK 2013.

Beadható feladatok december Add meg az alábbi probléma állapottér-reprezentációját!

Az online közegek pszichológiai jellegzetességei. Az online kapcsolatok elınyei veszélyei

ACE6000. Intelligens kereskedelmi és ipari fogyasztásmérő

Kártyajátékok és bűvésztrükkök

Kazánház gázellátása. Tervezés október 2.

Átírás:

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

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 2

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

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 SS: állapotátmeneti reláció AP L: S 2 állapotok címkézése atomi kijelentésekkel 4

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ó} 5

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 6

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 7

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 8

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} 9

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

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 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ó Állapotátmenetek kiterjesztése: Ő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 11

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ó viselkedés modellezhető Ellenőrizhető: Adott időn belül (idő múlva) elérhető állapotok 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 12

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

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 értéke 4 8 t 14

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ó) 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 Automaták paraméterezése: Példányosítás Pl. Door(bool &id) egy id változó értéke lesz a paraméter Paraméterezhető csatornák Pl. a[id] egy id változó esetén a! a? chan a 15

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 16

További lehetőségek: Speciális állapotok Committed állapot: átmenetek egybefogása Tipikus használat: A kimenő átmenet végrehajtása előtt más automata átmenete nem lehet végrehajtva: bemenő és kimenő átmenet egy atomi műveletként végrehajtva C Urgent állapot: késleltetés korlátozása Nem telhet idő az adott állapotban, ha enélkül lehetséges a kilépés Ekvivalens modell: Óraváltozó bevezetése: clock x; Minden bemenő élen resetelve: x:=0 Állapot invariáns hozzárendelése: x<=0 U 18

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 átlapolt végrehajtás lehet) 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 a csomóponton, 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 19

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 Nem szerepelhet őrfeltétel a broadcast csatornára hivatkozó üzenetfogadó átmeneten broadcast chan a; a! a? a? a? 20

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/ 21

Automata modell 22

Szimulátor 23

Verifikáció 24