ČVUT FEL, K December 12, Radek Mařík Ověřování modelů II December 12, / 30

Podobné dokumenty
ČVUT FEL Katedra telekomunikační techniky, K prosince Radek Mařík Ověřování modelů II 6. prosince / 39

Temporální logiky. Czech Technical University Faculty of Electrical Engineering Department of Telecommunication Engineering Prague CZ

Temporální logiky. ČVUT FEL Katedra telekomunikační techniky, K prosince 2017

Verifikace Modelů a UPPAAL

Verifikace Modelů a UPPAAL

Verifikace Modelů a UPPAAL

Model Checking pro Timed Automata. Jiří Vyskočil 2011

10. Techniky formální verifikace a validace

IV113 Validace a verifikace. Převod LTL formule na Büchi automat. Jiří Barnat

Výpočet globálního stavu

Unbounded Model Checking

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Predikátová logika dokončení

Výroková a predikátová logika - II

4.2 Syntaxe predikátové logiky

Temporální Logiky. Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19

Matematická logika. Rostislav Horčík. horcik

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Matematická logika. Rostislav Horčík. horcik

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Matematická logika. Rostislav Horčík. horcik

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

Výroková a predikátová logika - II

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20

Výroková a predikátová logika - VI

Úvod do teoretické informatiky

Výroková logika. Teoretická informatika Tomáš Foltýnek

Výroková logika. Sémantika výrokové logiky

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

Výroková a predikátová logika - II

VzorTest-1. Prohlídka náhledu

Okruh č.3: Sémantický výklad predikátové logiky

Rezoluce ve výrokové logice

LOGIKA VÝROKOVÁ LOGIKA

Úvod do informatiky. Miroslav Kolařík

UPPAAL příklady. Jiří Vyskočil 2010

Výroková a predikátová logika - IV

Výroková a predikátová logika - VIII

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Výroková a predikátová logika - VIII

Testování a verifikace softwaru

Spojování výroků (podmínek) logickými spojkami

Výroková logika - opakování

Matematická logika. Miroslav Kolařík

Úvod do logiky (VL): 7. Ekvivalentní transformace

Matematická logika. Miroslav Kolařík

Kapitola Výroky

9. Praktická verifikace

Local Interconnect Network - LIN

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

Základy logiky a teorie množin

Základní popis ovládání GPS jednotky na rally

Úvod do logiky (VL): 11. Ověřování, zda je formule tautologií metodou protipříkladu

Klasická výroková logika - tabulková metoda

Matematika B101MA1, B101MA2

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Výroková a predikátová logika - X

TVS zkouška 2010/2011 Vypracoval: Radek Nguyen

teorie logických spojek chápaných jako pravdivostní funkce

platné nejsou Sokrates je smrtelný. (r) 1/??

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Klasická predikátová logika

Pro každé formule α, β, γ, δ platí: Pro každé formule α, β, γ platí: Poznámka: Platí právě tehdy, když je tautologie.

Markl: Petriho sítě s prioritami /nnpn43.doc/ Strana 1

TÉMATICKÝ OKRUH TZD, DIS a TIS

Matematická logika. Miroslav Kolařík

Úvod do logiky (VL): 4. Zjištění průběhu pravdivostních hodnot formule tabulkovou metodou

2.5 Rezoluční metoda v predikátové logice

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Praktické úlohy- programování PLC

Číselné obory, množiny, výroky

Výroková a predikátová logika - IX

Diagnostika síťových aplikací - Zkouška

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Výroková a predikátová logika - XIII

Ověřování modelu pomocí automatů. Tomáš Masopust

- existuje..., negace: pro všechny neplatí,... - pro všechna..., negace: existuje, že neplatí,...

Náhled testu. Přijímací zkouška magisterského studia. konečný automat bez zbytečných stavů, který přijímá jazyk popsaný tímto výrazem, má:

Matematická indukce, sumy a produkty, matematická logika

* dosah závisí na místních podmínkách a nemusí vždy dosahovat uvedené hodnoty

9. Rozšiřující desky Evb_Display a Evb_keyboard

Nepřijde a nedám 100 Kč měl jsem pravdu, o této

Naladění programů na přijímači GoSAT GS-7050 HDi

Výroková a predikátová logika - IX

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka

Výroková a predikátová logika - IX

1. Matematická logika

1.4.6 Negace složených výroků I

Převodník Ethernet ARINC 429

Úvod do predikátové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 1

Matematika pro informatiky KMA/MATA

Výroková a predikátová logika - III

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

Úvod do logiky (PL): analýza vět mimo logický čtverec

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky

ELIMINACE VLIVU DRUHÉ ROTACE PŘI AFINNĚ INVARIANTNÍM 2D ROZPOZNÁVÁNÍ

Transkript:

Ověřování modelů II Radek Mařík ČVUT FEL, K13133 December 12, 2010 Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 1 / 30

Obsah 1 Temporální logiky LTL logika 2 UPPAAL detaily Jazyk modelů Vlastnosti ověřování modelů Čas v UPPAAL 3 UPPAAL příklady Přejezd vlaků přes most Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 2 / 30

LTL syntaxe [Voj10] Temporální logiky LTL logika LTL je sublogikou CTL* Povoluje pouze formule tvaru Aϕ, ve kterých stavové podformule jsou atomickými výroky LTL formule se vytváří dle následující gramatiky: ϕ ::= Aψ (A se často vynechává) ψ ::= p ψ ψ ψ ψ ψ X ψ F ψ Gψ ψuψ ψrψ, kde p AP. LTL se vyjadřuje o specifických cestách v dané Kripkeho struktuře tj. ignoruje větvění Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 4 / 30

LTL, CTL, CTL* [Voj10] Temporální logiky LTL logika LTL a CTL nelze vůči sobě porovnat: CTL nemůže např. vyjádřit LTL formuli A(FGp) LTL nemůže např. vyjádřit CTL formuli AG(EFp) CTL* pokrývá jak LTL, tak i CTL disjunkce (A(FGp)) (AG(EFp)) se nedá vyjádřit ani v LTL, ani v CTL. Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 5 / 30

UPPAAL detaily Podmínky nad hodinami [BDL05] Jazyk modelů C... množina hodin B(C)... množina konjunkcí nad jednoduchými podmínkami typu x c x y c kde x, y C, c N, {<,, =,, >} Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 7 / 30

Dotazovací jazyk [BDL05] UPPAAL detaily Jazyk modelů Stavové formule... popisují individuální stavy. Běhové formule... vyhodnocují se podél cest a stop modelu. dosažitelnost, bezpečnost, živost. Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 8 / 30

Stavové formule [BDL05] UPPAAL detaily Jazyk modelů výraz, který lze vyhodnotit pro daný stav, aniž by bylo nutné analyzovat chování modelu. nadmnožinou stráží, tj. nemá žádný postranní efekt, na rozdíl od stráží, použití disjunkcí není omezeno. Test, zda proces je v dané pozici... P.l P... proces l... pozice zablokování (deadlock)... speciální stavová formule, která je splněna pro všechny zablokované stavy, Stav je zablokovaný, jestliže neexistuje žádný akční přechod z daného stavu či jakéhokoliv jeho zpožděného následníka. Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 9 / 30

Dosažitelnost [BDL05] UPPAAL detaily Vlastnosti ověřování modelů nejjednodušší vlastnost, požaduje, zda-li existuje možnost, že daná stavová formule ϕ je splněná v každém dosažitelném stavu. tj. existuje cesta z počátečního stavu taková, že ϕ bude jednou splněná podél této cesty. kontrola základních vlastností modelu že platí alespoň základní chování příklad komunikačního protokolu s jedním vysílačem a jedním přijímačem je vůbec možné odeslat zprávu vysílačem zpráva má nadějí být prijmuta přijímačem. v UPPAAL: E[]ϕ Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 11 / 30

Bezpečnost [BDL05] UPPAAL detaily Vlastnosti ověřování modelů něco špatného nikdy nenastane příklad modelu jaderné elektrárny provozní teplota je vždy (invariantně) pod určitým prahem, nikdy nedojde k roztavení nádoby varianta: něco není možné, aby vůbec nastalo příklad hraní hry bezpečný stav je takový, že pokud můžeme ještě hru, pak už neexistuje možnost, abychom ji prohráli. v UPPAAL: formuluje se pozitivně nechť ϕ je stavová formule A[]ϕ E ϕ... ϕ by měla být pravdivá ve všech dosažitelných stavech E[]ϕ... existuje maximální cesta, podél které ϕ je vždy pravdivá Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 12 / 30

UPPAAL detaily Vlastnosti ověřování modelů Živost [BDL05] něco jednoho dne určitě nastane příklady stisknutí tlačítka on na dálkovém ovladačí způsobí, že se televize jednou zapne. v modelu komunikačního protokolu: jakákoliv vyslaná zpráva bude jednou přijmuta. v UPPAAL: A<>ϕ E ϕ... ϕ bude vždy jednou splněna ϕ --> ψ A (ϕ A ψ)... kdykoliv je splněna ϕ, potom bude jednou splněna i ψ Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 13 / 30

Pozorovatel [BDL05] UPPAAL detaily Čas v UPPAAL Příklad přidaný automat detekuje události, aniž by bylo nutné měnit vlastní model detekce resetování hodin navíc resetování hodin (x:=0) Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 15 / 30

UPPAAL detaily Výchozí varianta příkladu [BDL05] Čas v UPPAAL Cílem je zůstat v pozici, pokud platí podmínka na hodinách a poté opustit pozici Varianta 1: bez invariantu Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 16 / 30

hodiny x 1. varianta příkladu [BDL05] UPPAAL detaily Čas v UPPAAL 4 2 2 4 6 8 čas Cílem je zůstat v pozici, pokud platí podmínka na hodinách a poté opustit pozici Varianta 1: bez invariantu A[] obs.taken imply x>=2 E<> obs.idle and x>3 Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 17 / 30

hodiny x 2. varianta příkladu [BDL05] UPPAAL detaily Čas v UPPAAL 4 2 2 4 6 8 čas Cílem je zůstat v pozici, pokud platí podmínka na hodinách a poté opustit pozici Varianta 2: s invariantem A[] obs.taken imply (x>=2 and x<=3) E<> obs.idle and x>2 E<> obs.idle and x>3... neplatí A[] obs.idle imply x<=3 Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 18 / 30

hodiny x 3. varianta příkladu [BDL05] UPPAAL detaily Čas v UPPAAL 4 2 2 4 6 8 čas Cílem je zůstat v pozici, pokud platí podmínka na hodinách a poté opustit pozici Varianta 3: bez invariantu se stráží A[] x>3 imply not obs.taken... zablokování A[] not deadlock... neplatí Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 19 / 30

hodiny x 4. varianta příkladu [BDL05] UPPAAL detaily Čas v UPPAAL 4 2 2 4 6 8 čas Cílem je zůstat v pozici, pokud platí podmínka na hodinách a poté opustit pozici Varianta 4: bez invariantu se stráží s rovností A[] x>2 imply not obs.taken... zablokování A[] not deadlock... neplatí Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 20 / 30

hodiny x 5. varianta příkladu [BDL05] UPPAAL detaily Čas v UPPAAL 4 2 2 4 6 8 čas Cílem je zůstat v pozici, pokud platí podmínka na hodinách a poté opustit pozici Varianta 5: s invariantem a se stráží s rovností A[] obs.taken imply x==2 E<> obs.idle and x>2... neplatí A[] obs.idle imply x<=2 Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 21 / 30

Myšlenka příkladu [BDL05] UPPAAL příklady Přejezd vlaků přes most Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 23 / 30

UPPAAL příklady Slovní zadání příkladu [BDL05] Přejezd vlaků přes most Zadání řízení přístupu k mostu pro několik vlaků most jako kriticky sdílený zdroj může být přejížděn pouze jedním vlakem systém je definován jako několik vlaků a řadič vlak nemůže být zastaven okamžitě, rovněž rozjezd trvá dobu. Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 24 / 30

UPPAAL příklady Časování a komunikace [BDL05] Přejezd vlaků přes most Časová omezení a komunikace při příjezdu k mostu vlak včas vyšle appr! signál poté vlak má 10 časových jednotek, aby přijal signál k zastavení umožňuje bezpečné zastavení před mostem po těchto 10 časových jednotkách, trvá dalších 10 jednotek, než vlak dojede k mostu, pokud není zastaven jestliže je vlak zastaven, vlak se rozjede po té, co přijme signál go! z řadiče mostu když vlak opouští most, vyšle signál leave! Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 25 / 30

UPPAAL příklady Synchronizační signály [BDL05] Přejezd vlaků přes most Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 26 / 30

Šablona vlaku [BDL05] UPPAAL příklady Přejezd vlaků přes most Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 27 / 30

UPPAAL příklady Šablona řadiče mostu [BDL05] Přejezd vlaků přes most Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 28 / 30

Ověření modelu [BDL05] UPPAAL příklady Přejezd vlaků přes most E<> Gate.Occ E<> Train(0).Cross E<> Train(1).Cross E<> Train(0).Cross and Train(1).Stop E<> Train(0).Cross and (forall (i : id_t) i!= 0 imply Train(i).Stop) A[] forall (i : id_t) forall (j : id_t) Train(i).Cross && Train(j).Cross imply i == j A[] Gate.list[N] == 0 Train(0).Appr --> Train(0).Cross Train(1).Appr --> Train(1).Cross Train(2).Appr --> Train(2).Cross Train(3).Appr --> Train(3).Cross Train(4).Appr --> Train(4).Cross Train(5).Appr --> Train(5).Cross A[] not deadlock Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 29 / 30

Literatura I UPPAAL příklady Přejezd vlaků přes most Gerd Behrmann, Alexandre David, and Kim G. Larsen. A tutorial on UPPAAL, updated 25th october 2005. Technical report, Department of Computer Science, Aalborg University, Denmark, October 2005. Tomas Vojnar. Formal analysis and verification. Lecture handouts, http://www.fit.vutbr.cz/study/courses/fav/public/, August 2010. Radek Mařík (marikr@felk.cvut.cz) Ověřování modelů II December 12, 2010 30 / 30