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

Podobné dokumenty
Unbounded Model Checking

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

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

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

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

10. Techniky formální verifikace a validace

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

Predikátová logika dokončení

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

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

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

Matematická indukce a správnost programů. Základy diskrétní matematiky, BI-ZDM ZS 2011/12, Lekce 13

Vyhněte se katastrofám pomocí výpočetní matematiky

Obsah Předmluva Rekapitulace základních pojmů logiky a výrokové logiky Uvedení do predikátové logiky...17

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Konečný automat. Jan Kybic.

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

Deskripční logika. Petr Křemen FEL ČVUT. Petr Křemen (FEL ČVUT) Deskripční logika 37 / 157

Rekurentní rovnice, strukturální indukce

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

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

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

Matematická logika. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík

Algoritmizace prostorových úloh

Logický důsledek. Petr Kuchyňka

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

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

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

AUTOMATY A GRAMATIKY

Principy indukce a rekursivní algoritmy

Jednoduché specifikace

Informatika pro záchranu života

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Rekurentní rovnice, strukturální indukce

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

ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

9. Praktická verifikace

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

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010


Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Struktura a architektura počítačů (BI-SAP) 3

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

Logika III. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Základy vytěžování dat

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á:

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

Binární vyhledávací stromy pokročilé partie

Verifikace Modelů a UPPAAL

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ýpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Predikátová logika. prvního řádu

Logika XI. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

/1: Teoretická informatika(ti) přednáška 4

Kapitola 7: Návrh relačních databází. Nástrahy relačního návrhu. Příklad. Rozklad (dekompozice)

Fuzzy logika a reálný svět, aneb jsou všechny hromady skutečně malé?

4.2 Syntaxe predikátové logiky

Inference v deskripčních logikách

Rezoluce v predikátové logice

Výroková logika syntaxe a sémantika

2.8.6 Čísla iracionální, čísla reálná

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

Třídy složitosti P a NP, NP-úplnost

Implementace LL(1) překladů

ANOTACE vytvořených/inovovaných materiálů

3. Aritmetika nad F p a F 2

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

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

Základní datové struktury III: Stromy, haldy

Testování a verifikace softwaru

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

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

Reprezentace znalostí. Katedra kybernetiky, ČVUT v Praze.

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

Pumping lemma - podstata problému. Automaty a gramatiky(bi-aag) Pumping lemma - problem resolution. Pumping lemma - podstata problému

Algoritmizace a programování

Dijkstrův algoritmus

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE FORMALISMY PRO SYNTAXÍ ŘÍZENÝ PŘEKLAD: PŘEKLADOVÉ A ATRIBUTOVÉ GRAMATIKY.

Sémantika predikátové logiky

Verifikace Modelů a UPPAAL

Logické programy Deklarativní interpretace

7. Popis konečného automatu

Testování pamětí (Memory BIST)

Algoritmy. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 15. dubna / 39

Dynamické programování

/01: Teoretická informatika(ti) přednáška 5

Vytěžování znalostí z dat

Databázové systémy. Úvod do teorie normalizace. Vilém Vychodil

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

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

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

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

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

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Transkript:

Temporální Logiky Stefan Ratschan Katedra číslicového návrhu Fakulta informačních technologíı České vysoké učení technické v Praze 10. října 2011 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 1 / 19

Úvod Minulá přednáška: Modely na základě automatů I automaty, které mají jenom konečný počet stavů, můžou mít složité chování Složitější modely (např. nekonečný počet stavů) můžou mít ještě složitější chování Jak si můžeme si být jisti, že se daný model chová tak, jak chceme? 2 / 19

Specifikace chování systémů Specifikace chování klasických programů: Specifikace vstupů/výstupů (tj. dvoubodová specifikace) Ale tady: reaktivní systémy: nepřetržitá interakce s okoĺım: Reaktor se nebude přehřívat Pokud se volá výtah, časem se objeví Zítra bude hezké počasí Centrální zámek auta se otevře přímo po nehodě Airbag se otevře jen pokud se stane nehoda Potvrzení musí předcházet žádost Zkusíme to analyzovat! Vlastnosti (už v klasické specifikaci vstupů/výstupů) Temporální specifikace (táto přednáška) 3 / 19

Formalizace pojmu systém Definice z první přednášky: složité technické zařízení, jehož důležitou součást tvoří software/digitální elektronika Minulá přednáška: Automatové modely Dnes: Nejočesanější automatový model. Přechodový systém (transition system): Množina stavů S Množina I S počátečních stavů Přechodová relace R S S S může být nekonečnou množinou (např. N, R, seznam celých čísel). 4 / 19

Překlad programu do přechodového systému i, k N; r {prime, nonprime} 1 : r prime 2 : i 2 3 : while i < k and r = prime do 4 : if i divides k then r nonprime 5 : i i + 1 6 : done S : {1,..., 6} N N {prime, nonprime} I = {(1, i, k, r) i N, k N, r {prime, nonprime}} R = R 1,2 R 2,3 R 3,4 R 3,6 R 4,5 R 5,3 where R 1,2 = {((1, i, k, r), (2, i, k, r )) i = i k = k r = prime} R 2,3 = {((2, i, k, r), (3, i, k, r )) i = 2 k = k r = r} R 3,4 = {((3, i, k, r), (4, i, k, r )) i < k r = prime} R 3,6 = {((3, i, k, r), (6, i, k, r )) i = i k = k r = r (i < k r = prime)}... 5 / 19

Specifikace chování systémů Zítra bude hezké počasí Reaktor se nebude přehřívát Pokud se volá výtah, časem se objeví Centrální zámek auta se otevře přímo po nehodě Airbag se otevře jen pokud se stane nehoda Potvrzení musí předcházet žádost Vlastnosti Temporální specifikace 6 / 19

Specifying Properties Zatím ignorujeme čas. Jak můžeme specifikovat vlastnosti jednotlivého stavu? Příklady: přehřívání: {T S T > 800} hezké počasí: {(w, T ) S w = sunshine T 18 T 26} dělitelné: {x S p q N : p 2 p < x q 2 q < x pq = x} Tedy: podmnožiny množiny S Předpokládáme funkci I (interpretace), která každému názvu takové vlastnosti (tj. každé stavové vlastnosti) přirazuje množinu stavů. Stavová vlastnost g platí na stav s (s = g), pokud s I(g). 7 / 19

Specifikace temporálních vlastností systémů Zítra bude hezké počasí Reaktor se nebude přehřívát Pokud se volá výtah, časem se objeví Centrální zámek auta se otevře přímo po nehody Airbag se otevře jen pokud se stane nehoda Potvrzení musí předcházet žádost Vlastnosti Temporální specifikace Pro cestu π ve formě (s 0, s 1,... ), označujeme π i ( i-tý suffix cesty π), cestu (s i, s i+1,... ). π(i) i-tý prvek s i cesty π. 8 / 19

Vlastnosti a cesty Přídáme čas: Jak můžeme specifikovat vlastnosti celých cest? Je hezké počasí Stavová vlastnost g platí na cestě π (π = g), pokud platí na prvním elementu cesty: π(0) = g. Zítra bude hezké počasí Vlastnost g platí na dalším elementu: π 1 = g (π = Xg: next ). Vlak dosáhne časem plnou rychlost existuje k 0 tak, že π k = g (π = Fg: in the future ) 9 / 19

Vlastnosti a cesty Počet otáček motoru vždy zůstává v bezpečné oblasti pro každé k 0, π k = g (π = Gg: globally ) Vlak se časem zastaví a do té doby se dveře neotevírají existuje i tak, že π i = h, a pro každé j < i, π j = g (π = guh: until ) Pokud letadlo ještě neletí na normální výšce, znak fasten seat belts svítí pro každé j 0, pokud pro každé i < j, ne π i = g pak π j = h (π = grh: release ) 10 / 19

Kombinace operátorů Pokud se volá výtah, časem přijde (g Fh). Vlak nikdy nejede s otevřenými dveřmi G (g h) Booleová kombinace (,, ). Chceme také kombinovat temporální operátory. Například: FGg: Časem bude vlastnost g platit navždy. GFg: Vždy se lze vlastnosti g dočkat. At příjdu na stanici kdykoli, tak mi určitě dříve nebo později nějaký vlak přijede Výsledek: Linear Temporal Logic (LTL) Syntax: Každá stavová vlastnost je LTL formule Pokud g a h jsou LTL formule pak Xg, guh, grh, Fg, Gg i guh, g, g h, g h jsou také LTL formule. 11 / 19

Semantika Pro cestu π a LTL formule g, h, π = g právě když g je stavová vlastnost a π(0) = g π = Xg právě když π 1 = g π = Fg právě když existuje k 0 tak, že π k = g π = Gg právě když pro každé k 0, π k = g π = guh právě když existuje i tak, že π i = h a pro každé j < i, π j = g. π = grh právě když pro každé j 0, pokud pro každé i < j, ne π i = g pak π j = h π = g právě když ne π = g π = g h právě když π = g a π = h π = g h právě když π = g anebo π = h = g právě když pro každou cestu π přechodového systému, π = g 12 / 19

Redundance operátorů Theorem Pro každou LTL formuli existuje ekvivalentní formule, která obsahuje jen operátory,, X, U. Jak? f g ( f g) f Rg ( f U g) Ff True Uf Gf F f 13 / 19

Protipříklady Vzpomínáme: = g právě když pro každou cestu π přechodového systému T, π = g. Pokud neplatí = g, informace, která nám pomáhá najít chybu? π tak, že ne π = g (protipříklad, counter-example) Příklady: Gf : konečná cesta stačí ( safety property ) Ff : protipříklad s cyklem ( liveness property ) 14 / 19

Modelování času Tady: diskrétní čas Jednomu přechodu může odpovídat pevná časová jednotka (e.g., clock cycle, 1sec) akce (e.g., zmáčknutá klávesa) Pro mnoho aplikací potřebujeme flexibilnější model času (viz. další přednášky). 15 / 19

Závěrečné poznámky Další temporální logiky: CTL (computation tree logic): umí kvantifikovat přes všechny cesty z určitého vrcholu výpočetního stromu (CTL LTL, ale ani CTL LTL ani LTL CTL) CTL*: nadmnožina i LTL i CTL... Všechny ty logiky se definují na základě výrazů predikátové logiky na cesty. Proč nepoužíváme přímo tyto výrazy? Uživatel musí pochopit jen základní operátory a umí vyjádřit složité vlastnosti jako kombinace těchto základních operátorů. Účinné algoritmy a programy ( model checking ) pro prověřování temporální logiky na konečné přechodové systémy a částečně dokonce pro nekonečné přechodové systémy. 16 / 19

Poznámka ke literatuře My dáváme stavovým vlastnostem význam interpretací I. V literatuře (e.g.,[clarke et al., 1999]) se obvykle používá rozšířený přechodový systém, který každému stavu systému přiřazuje množinu všech stavových vlastností, které v něm platí. Výsledek se jmenuje Kripková struktura ( Kripke structure ) 17 / 19

Praktické využití LTL je základ pro různé specifikační jazyky, které se používají v hardwareovém průmyslu. Příklad: Property Specification Language (PSL) Demo 18 / 19

Literatura I Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking. MIT Press, 1999. Michael Huth and Mark Ryan. Logic in Computer Science. Cambridge University Press, 2004. 19 / 19