Verifikace Modelů a UPPAAL

Podobné dokumenty
Verifikace Modelů a UPPAAL

Verifikace Modelů a UPPAAL

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

Č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

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

10. Techniky formální verifikace a validace

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

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

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

Modelování procesů (2) Procesní řízení 1

Strukturování Petriho Nadpis 2 Nadpis 3

Testování a verifikace softwaru

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

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

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

9. Praktická verifikace

VeriFIT Automatizovaná analýza a verifikace

Unbounded Model Checking

SIGNÁLY A LINEÁRNÍ SYSTÉMY

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

TÉMATICKÝ OKRUH Softwarové inženýrství

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

Paralelní programování

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Matematická logika. Rostislav Horčík. horcik

IV113 Validace a verifikace. Detekce akceptujícího cyklu. Jiří Barnat

NP-úplnost problému SAT

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

Local Interconnect Network - LIN

Paralelní programování

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

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

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

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

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

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

C2142 Návrh algoritmů pro přírodovědce

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

3. Sekvenční logické obvody

5. Sekvenční logické obvody

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 jara 2016

Program a životní cyklus programu

1 Nejkratší cesta grafem

Matematická logika. Rostislav Horčík. horcik

U Úvod do modelování a simulace systémů

Sekvenční logické obvody

Algoritmizace a programování

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

Usuzování za neurčitosti

Pohled do nitra mikroprocesoru Josef Horálek

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

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

Profilová část maturitní zkoušky 2017/2018

7.5 Diagram tříd pokročilé techniky

Multimediální systémy

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

Dynamicky vázané metody. Pozdní vazba, virtuální metody

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

4.2 Syntaxe predikátové logiky

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Výroková logika syntaxe a sémantika

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

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

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

Sdílení dat mezi podprogramy

Logický důsledek. Petr Kuchyňka

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

Reliance 3 design OBSAH

Matematická logika. Rostislav Horčík. horcik

FORMÁLNÍ VERIFICKACE PLC PROGRAMŮ POMOCÍ SMV A UPPAAL. O. Šprdlík R. Šusta

7.5 Diagram tříd pokročilé techniky

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

Datové struktury 2: Rozptylovací tabulky

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 jara 2017

Teorie systémů TES 1. Úvod

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

postaveny výhradně na syntaktické bázi: jazyk logiky neinterpretujeme, provádíme s ním pouze syntaktické manipulace důkazy

Modelování procesů (1) Procesní řízení 1

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

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

EXTRAKT z technické normy CEN ISO

Úvod do informatiky. Miroslav Kolařík

Profilová část maturitní zkoušky 2013/2014

Institut teoretické informatiky (ITI) na FI MU

Algoritmizace prostorových úloh

Obsah. October 2, Polymorfizmus. Typologie testování. Problém polymorfizmu. Vady/Anomálie. Vazební sekvence ČVUT FEL, K13132

Logika a logické programování

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

TVS zkouška 2010/2011 Vypracoval: Radek Nguyen

12. VHDL pro verifikaci - Testbench I

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

Systém přirozené dedukce výrokové logiky

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 2016

Základy logiky a teorie množin

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

IV113 Validace a verifikace. Formální verifikace algoritmů. Jiří Barnat

Transkript:

Verifikace Modelů a UPPAAL Radek Mařík ČVUT FEL, K13133 September 6, 2011 Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 1 / 51

Obsah 1 Úvod Motivace Úvod do verifikace modelů Formální popis 2 UPPAAL - Přehled Základní vlastnosti Architektura 3 UPPAAL - Vybrané vlastnosti Systém a proces Manuál Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 2 / 51

Úvod Motivace Garantování správného chování systémů [Cam10] zvyšování složitosti softwarových systémů, chyby vedou ke ztrátám finančním, na lidských životech. typicky problém systémů s kritickou bezpečností letadla, satelity, lékařská zařízení. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 4 / 51

Úvod Cíle kladené na požadavky [Cam10] Motivace Demonstrace, že požadavky jsou správné, úplné, přesné, konzistentní, testovatelné. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 5 / 51

Úvod Metody zajištění kvality [Cam10] Motivace Testování a Simulace poskytuje pouze pravděpodobnostní zajištění. Verifikace za běhu... technika kombinující formální verifikaci s během programu. Formální verifikace... technika založená na formálních metodách stavějící na matematicky založených jazycích, které umožňují specifikaci a verifikaci systémů. Specifikace... zapsání požadavků na systém v matematickém jazyku. Verifikace... formální důkaz toho, že systém splňuje požadavky. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 6 / 51

Princip formální verifikace Úvod Motivace [Cam10, Čer09] Vstupy (matematický) model systému, formální model M, specifikace požadavků kladených na systém formule ϕ určité temporální logiky, Verifikace Ověření, že systém splňuje specifikaci. rozhodnutí, zda-li M je modelem formule ϕ, tj. M = ϕ Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 7 / 51

Úvod Motivace Typologie formální verifikace [Cam10] Techniky Statická analýza... ověření chování programu, aniž by se musel spustit. Abstraktní statická analýza... založená na abstraktní interpretaci používající aproximační abstrakní reprezentace k ověřování přibližných vlastností složitých systémů analýza ukazatelů v moderních kompilátorech. Ověřování modelů... úplné procházení dosažitelných stavů programu. Omezené ověřování modelů... úplné procházení dosažitelných stavů programu pouze do určité hloubky. Dokazování vět... nalezení důkazu vlastnosti, kdy systém i jeho vlastnosti jsou vyjádřeny jako formule v nějaké matematické logice. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 8 / 51

Úvod Motivace Řešitelnost temporálně logických formalismů [Hol06] Ověřování modelů Ptáme se, zda daný systém splňuje požadovanou vlastnost. Tj. pro strukturu reprezentující systém je třeba zjistit, jestli je modelem zadané formule. využitelné pro verifikaci existujících programů. Splnitelnost formuĺı Problém rozhodnutí, zda existuje nějaký model zadané formule. využitelné při automatické syntéze programů. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 9 / 51

Úvod Úvod do verifikace modelů Verifikace modelů [Cam10] Princip budování konečného modelu systému, kontrola, zda požadovaná vlastnost je modelem dodržena, založeno na úplném prohledání stavového prostoru. Základní vlastnosti manipulace s obrovskými prohledávacími prostory, odpověd je ano či ne, v záporném případě systém poskytuje protipříklad, tj. běh systému, který neodpovídá vlastnosti. analýza specifikace softwarových systémů. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 11 / 51

Úvod Verifikace modelů v praxi [Cam10] Úvod do verifikace modelů Aplikace ověření hardwaru (obvody), ověření protokolů, analýza specifikace softwarových systémů. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 12 / 51

Úvod Přístupy verifikace modelů [Cam10] Úvod do verifikace modelů Temporální verifikace modelů použití temporální logiky (vyjádření času), systémy modelovány jako přechodové systémy s konečným počtem stavů. Automatový přístup specifikace i model vyjádřen jako automaty, oba automaty se porovnávají jazyková inkluze, zjemňující uspořádání, pozorovací ekvivalence. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 13 / 51

Úvod Úvod do verifikace modelů Výhody/nevýhody verifikace modelů [Cam10] Výhody úplná automatizace, vysoká rychlost, možnost verifikace i částečných specifikací, produkuje protipříklady. Nevýhody problém exploze stavů, binární rozhodovací diagramy (BDD), nástroje jsou schopny zvládnout systémy s 100 200 stavovými proměnnými je možné zvládnout systémy s 10 120 stavy. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 14 / 51

Úvod Úvod do verifikace modelů Rozšíření metod verifikace modelů [Bie08] Odstraňování konečnosti spojité proměnné, spojitý čas, práce s pravděpodobností, parametrizace velikosti či počtu komponent, náhrada konečných automatů zásobníkovými automaty. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 15 / 51

Úvod Úvod do verifikace modelů Temporální logika [Bie08] Vyšetření sekvenčního či temporálního chování systému reaktivní, distribuované či paralelní systémy, A. Pnueli upozornil na tuto myšlenku jako první, Ověřované vlastnosti Bezpečnost... vlastnost stanovující, že určitá chyba či katastrofický stav není dosažitelný. všechny dosažitelné stavy splňují určitý invariant. Živost... něco jednou nastane, Férovost..., Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 16 / 51

Úvod Formální popis Stavový prostor [Čer09] Aplikovatelné jen na konečné stavové prostory Verifikovat se dají pouze ty parametry modelu, které jsou specifikovány. Stavový prostor lze formalizovat za použití atomických výroků a Kripkeho struktury Atomické výroky základní tvrzení popisující daný systém výrazy, konstanty, predikátové symboly. Každý atomický výrok je algoritmicky rozhodnutelný na základě daného stavu. Stav... ohodnocení všech proměnných. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 18 / 51

Úvod Formální popis Kripkeho struktura - mikrovlná trouba [?] Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 19 / 51

Úvod Formální popis Kripkeho struktura [Čer09] Kripkeho struktura je typ nedeterministického konečného automatu. Kripkeho struktura Je dána množina atomických propozic AP. Kripkeho struktura je trojice (S, T, I), kde S je konečná množina stavů, T S S je přechodová relace, I : S 2 AP je interpretace AP. Rozšířená Kripkeho struktura je čtveřice (S, T, I, s 0 ), kde (S, T, I) je Kripkeho struktura, s 0 je počáteční stav. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 20 / 51

Úvod Kripkeho přechodový systém [Čer09] Formální popis Máme-li danou množinu Act akcí proveditelných programem, můžeme Kripkeho struktury rozšířit o označení přechodu. Kripkeho přechodový systém je pětice (S, T, I, s 0, L), kde (S, T, I, s 0 ) je rozšířená Kripkeho struktura, L : T Act je značkovací funkce. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 21 / 51

Nástroj v kostce [UPP10] UPPAAL - Přehled Základní vlastnosti Nástroj integrující prostředí pro modelování, simulaci, a verifikaci, reálných systémů. Vývojové týmy Uppsala University, Švédsko, Aalborg University, Dánsko. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 23 / 51

Modely systémů [UPP10] UPPAAL - Přehled Základní vlastnosti Vlastnosti modelů sada nedeterministických procesů s konečnou řídicí strukturou a reálnými hodinami, komunikující pomocí kanálů nebo sdílených proměnných Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 24 / 51

UPPAAL - Přehled Základní vlastnosti Implementace [UPP10] Hlavní návrhová kritéria výkonnost, vyhledávací stroj za letu symbolické techniky snadno použitelné. diagnostický záznam může být generován verifikátorem a přehráván simulátorem Dostupnost První verze v roce 1995 Současná verze je 4.0.12 grafická rozhranní jsou implementována v Java verifikátor je implementován v C++ dostupné pro Linux, SunOS, MS Windows (95/98/NT/2000/XP/Vista/7) Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 25 / 51

Průmyslové studie [UPP10] UPPAAL - Přehled Základní vlastnosti Případové studie audio/video protokol komunikace mezi audio/video komponentami pomocí jediné sběrnice protokol vysílání s ohraničeným opakováním, protokol pro vyhnutí se kolizím média založená na Eternetu řadič spojky automobilů, protokol řízení audio komponent (Philips) TDMA(Time Division Multiple Access) protokol mechanismu start-up synchronizace 3 komunikujících stanic s libovolného počátečního stavu. Typické aplikace řadiče reálného času, komunikační protokoly. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 26 / 51

UPPAAL - Přehled Komponenty systému [UPP10] Architektura Jazyk popisu jazyk nedeterministických podmíněných příkazů jednoduché datové typy (ohraničená celá čísla, pole, atd.) sítě automatů s hodinami a datovými proměnnými. Simulátor vyšetřování možných dynamických běhu nějakého systému, detekce vad modelů před jeho verifikací, umožňuje analýzu záznamů běhů vedoucích k nežádaným stavům. Verifikátor modelu prověření všech možností dynamického chování modelu, kontrola invariantů a živosti prohledáváním stavového prostoru, dosažitelnost symbolických stavů reprezentovaných omezeními. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 28 / 51

Systémový editor [UPP10] UPPAAL - Přehled Architektura Editor tvorba grafického i textového popisu systémů Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 29 / 51

UPPAAL - Přehled Grafický systémový editor [UPP10] Architektura Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 30 / 51

Grafický simulátor [UPP10] UPPAAL - Přehled Architektura Simulátor grafická vizualizace a záznam možného dynamického chování popisu systému, sekvence symbolických stavů systému, možnost vizualizace trasy generované verifikátorem. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 31 / 51

Verifikátor [UPP10] UPPAAL - Přehled Architektura Verifikátor Editor specifikace požadavků, Stroj verifikátoru modelu automatické ověření živosti a ohraničené živosti pomocí dosažitelnosti v symbolickém stavovém prostoru. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 32 / 51

Výchozí principy [UPP09] UPPAAL - Vybrané vlastnosti Systém a proces Model Časový automaty konečný stavový automat s hodinami, čas je spojitý, hodiny měří postup času. Vzory procesů - Automat pozice a hrany, symbolické proměnné a konstanty jako parametry, lokální proměnné a hodiny, daný process je pak instancí vzoru. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 34 / 51

Časový automat [BDL05] UPPAAL - Vybrané vlastnosti Systém a proces Časový automat Příklady je šestice (L, l 0, C, A, E, I), kde L je množina pozic, l 0 L je počáteční pozice, C je množina hodin. A je množina akcí, ko-akcí a interní τ-akce, E L A B(C) 2 C L je množina hran mezi pozicemi s akcí, stráží a množinou hodin, které se resetují, a I : L B(C) přiřazuje invarianty k pozicím. y := 0... resetování hodin y, press? a press!... označují akci a ko-akci (zde kanálovou synchronizaci). Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 35 / 51

UPPAAL - Vybrané vlastnosti Hodiny časového automatu [BDL05] Systém a proces Hodiny Ohodnocení hodin je funkce u : C R 0 z množiny hodin do nezáporných reálných čísel. Nechť R C je množina všech ohodnocení hodin. Nechť u 0 (x) = 0 pro všechna x C. Zápis u I(l) bude znamenat, že u splňuje I(l). Z daného stavu je možné provést přechod pomocí akce nebo zpoždění. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 36 / 51

UPPAAL - Vybrané vlastnosti Systém a proces Sémantika časového automatu [BDL05] Sémantika časového automatu Nechť (L, l 0, C, A, E, I) je časový automat. Sémantika... přechodový systém s označením S, s 0,, kde S L R C je množina stavů, s 0 = (l 0, u 0 ) je počáteční stav, S (R 0 A) S je přechodová relace taková, že (l, u) d (l, u + d) if d : 0 d d = u + d I(l) (l, u) a (l, u ) if e = (l, a, g, r, l ) E e g, u = [r 0]u, u I(l ), u + d zobrazuje každé hodiny x C na hodnotu u(x) + d, pro d R 0, [r 0]u označuje ohodnocení hodin, která mapuje každé hodiny v r na 0 a souhlasí s u nad C \ r. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 37 / 51

UPPAAL - Vybrané vlastnosti Specifikace systému [UPP09] Systém a proces Systém je kompozice souběžných procesů každý process je modelován jako automat automat má množinu pozic, změny pozic se dějí pomocí hran/přechodů. stav systému je charakterizován pomocí aktuální pozice každého automatu, hodnot proměnných, a stavu hodin. přechody je možné řídit pomocí stráží a synchronizací stráž je podmínka nad proměnnými a hodinami specifikující, kdy je přechod možný. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 38 / 51

UPPAAL - Vybrané vlastnosti Komunikace procesů [UPP09] Systém a proces Synchronizace synchronizace je mechanismus kdy dva procesy provedou současný přechod 1 synchronizační kanál a, 2 první process vyvolá přechod zprávou a! 3 druhý proces provede přechod přijetím zprávy a? během přechodu je možné přiřadit do proměnných nebo resetovat hodiny. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 39 / 51

UPPAAL - Vybrané vlastnosti Síť časových automatů [BDL05] Systém a proces Sada automatů Společná množina hodin a akcí. n časových automatů A i = (L i, l 0 i, C, A, E i, I i ), 1 i n poziční vektor l = (l 1,, l n ) společná funkce invariantů I(l) = i I i (l i ) l[l i/l i ]... i-tý element l i vektoru l je nahrazen l i Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 40 / 51

UPPAAL - Vybrané vlastnosti Systém a proces Sémantika sítě časových automatů [BDL05] Síť časových automatů n časových automatů A i = (L i, l 0 i, C, A, E i, I i ) počáteční vektor pozic l 0 = (l 0 1,, l0 n) Sémantika... přechodový systém s označením S, s 0,, kde S (L 1 L n ) R C je množina stavů, s 0 = (l 0, u 0 ) je počáteční stav, S S je přechodová relace taková, že (l, u) d (l, u + d) if d : 0 d d = u + d I(l), a (l, u) a (l[l i/l i ], u τgr ) if l i l i u g, u = [r 0]u, u I(l[l i/l i ]), (l, u) a (l[l j/l j, l i/l i ], u c?g i r i ) if l i l c!g j r j i a l j l j u (g i g j ), u = [r i r j 0]u, u I(l[l j/l j, l i/l i ]), Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 41 / 51

Typy jazyka [BDL05] UPPAAL - Vybrané vlastnosti Manuál Typy Konstanty... const name value, celočíselná hodnota. Omezené celočíslené hodnoty... int[min, max] name, výchozí nastavení -32768 až 32768. Pole... hodiny, kanály, konstanty, celočíselné proměnné chan c[4]; clock a[2]; int[3,5] u[7];. Iniciátory... nastavení hodnot celočíselných proměnných a poĺı s celočíselnými proměnnými int i := 2; int k[3] := {1, 2, 3 };. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 43 / 51

UPPAAL - Vybrané vlastnosti Speciální přechody [BDL05] Manuál Řídicí elementy Binární synchronizace... chan c, hrany c! a c?, nedeterministicky pár. Broadcast synchronizace... broadcast chan c, jedna hrana c! se všemi možnými c?, neblokuje. Urgentní synchronizace... urgent chan c. Zpoždění není dovoleno, pokud je možný přechod na urgentním kanálu. Urgentní pozice... Čas systému nemůže plynout, pokud se systém nachází v urgentní pozici. Prováděcí pozice Prováděcí stav... alespoň jedna z pozic je prováděcí. Prováděcí stav se nemůže zpožďovat. Následující přechod musí zahrnovat jednu výstupní hranu vedoucí z prováděcí pozice. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 44 / 51

Výrazy jazyka [BDL05] UPPAAL - Vybrané vlastnosti Manuál Hodiny, celočíslené proměnné a konstanty Stráž... výsledkem je logiká hodnota. Synchronizace... synchronizační návěští Expression! nebo Expression? nebo prázdné. Výsledkem je kanál. Odkazovat může celá čísla, konstanty, kanály. Přiřazení... výrazy oddělená čárkou. Odkazovat může hodiny, celočíselné proměnné, konstanty. Hodinám může přiřadit pouze celočíselné hodnoty. Invariant... Konjunkce podmínek tvaru x<e nebo x<=e, kde x je odkaz na hodiny, e se vyčísĺı do celého čísla. Odkazovat může hodiny, celočíselné proměnné, konstanty. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 45 / 51

UPPAAL - Vybrané vlastnosti Tvorba automatu [UPP09] Manuál Automat počáteční pozice (dvojitá kružnice) Add Location pro přidání pozice Selection Tool pro pojmenování pozice Add Edge pro přidání hrany, prohnutí hran pomocí myši v okoĺı konců dolní tabulka Position a Description pro analýzu chyb Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 46 / 51

UPPAAL - Vybrané vlastnosti Kompozice systému [UPP09] Manuál Systém Systém... síť paralelních časovaných automatů (procesů). Proces... instance parametrizovaného vzoru. Proces Pozice... jméno, invarianty Hrany... podmínky stráží (x >= 7), synchronizace (go[id]?), přiřazení (x = 0), Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 47 / 51

UPPAAL - Vybrané vlastnosti Popis vzoru (template) [UPP09] Manuál Parametrizovaný časový automat jméno, parametry, Lokální deklarace proměnné, synchronizační kanály, konstanty Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 48 / 51

Popis systému [UPP09] UPPAAL - Vybrané vlastnosti Manuál Globální deklarace globální celočíselné proměnné, globální hodiny, synchronizační kanály, konstanty Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 49 / 51

Definice systému [UPP09] UPPAAL - Vybrané vlastnosti Manuál Přiřazení procesů deklarace instancí procesu, vzory s úplně/částečně specifikovanými parametry, Definice systému seznam procesů systému, Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 50 / 51

Literatura I UPPAAL - Vybrané vlastnosti Manuál 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. Armin Biere. Tutorial on model checking, modelling and verification in computer science. In Proc. 3rd Intl. Conf. on Algebraic Biology (AB 08). Lecture Notes in Computer Science (LNCS), volume 5147. Springer, 2008. Alarico Campetelli. Analysis techniques: State of the art in industry and research. techreport TUM-I1008, Technische Universität München, April 2010. Jiří Čermák. Porovnání modelovacích schopností verifikačních nástrojů. Master s thesis, Masarykova univerzita, Fakulta informatiky, Brno, 2009. Lukáš Hoĺık. Rozhodnutelnost v temporálních logikách. Master s thesis, Masarykova univerzita, Fakulta informatiky, Brno, 2006. UPPAAL 4.0: Small tutorial, November 2009. Tool environment for validation and verification of real-time systems (UPPAAL pamphlet). http://www.it.uu.se/research/group/darts/papers/texts/uppaal-pamphlet.pdf, September 2010. Radek Mařík (marikr@felk.cvut.cz) Verifikace Modelů a UPPAAL September 6, 2011 51 / 51