Verifikace Modelů a UPPAAL

Podobné dokumenty
Verifikace Modelů a UPPAAL

Verifikace Modelů a UPPAAL

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

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

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

10. Techniky formální verifikace a validace

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

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

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

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

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

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í.

SIGNÁLY A LINEÁRNÍ SYSTÉMY

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

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

Testování a verifikace softwaru

Strukturování Petriho Nadpis 2 Nadpis 3

Matematická logika. Rostislav Horčík. horcik

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

9. Praktická verifikace

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

NP-úplnost problému SAT

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

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

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

Paralelní programování

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

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

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

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

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

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

Paralelní programování

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

1 Nejkratší cesta grafem

VeriFIT Automatizovaná analýza a verifikace

Matematická logika. Rostislav Horčík. horcik

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

Algoritmizace a programování

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

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

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

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

3. Sekvenční logické obvody

5. Sekvenční logické obvody

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

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

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

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

Sekvenční logické obvody

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

Logický důsledek. Petr Kuchyňka

Reliance 3 design OBSAH

Matematická logika. Rostislav Horčík. horcik

Local Interconnect Network - LIN

Datové struktury 2: Rozptylovací tabulky

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

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

Usuzování za neurčitosti

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

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

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

Algoritmizace prostorových úloh

Sdílení dat mezi podprogramy

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

TVS zkouška 2010/2011 Vypracoval: Radek Nguyen

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

7.5 Diagram tříd pokročilé techniky

Program a životní cyklus programu

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

Algoritmizace prostorových úloh

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

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

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

Sémantika predikátové logiky

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

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

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

Logika a logické programování

EXTRAKT z technické normy CEN ISO

Úvod do informatiky. Miroslav Kolařík

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

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

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

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

Konzistentnost. Přednášky z distribuovaných systémů

Základy logiky a teorie množin

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

Controlweb. Úvod. Specifikace systému

7.6 Další diagramy UML

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

7.5 Diagram tříd pokročilé techniky

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 α

Vzorový příklad. Postup v prostředí ISE. Zadání: x 1 x 0 y. Rovnicí y = x 1. x 0. Přiřazení signálů: ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

IMOSI - MODELACE A SIMULACE LEARN 2013 správně možná špatně

Transkript:

Verifikace Modelů a UPPAAL Radek Mařík ČVUT FEL, K13132 October 2, 2014 Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 4 / 51 Úvod Motivace Cíle kladené na požadavky [Cam10] Demonstrace, že požadavky jsou správné, úplné, přesné, konzistentní, testovatelné. Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 5 / 51

Úvod Motivace Metody zajištění kvality [Cam10] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 6 / 51 Princip formální verifikace Úvod Motivace [Cam10,?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 8 / 51 Úvod Motivace Řešitelnost temporálně logických formalismů [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 11 / 51 Úvod Úvod do verifikace modelů Verifikace modelů v praxi [Cam10] Aplikace ověření hardwaru (obvody), ověření protokolů, analýza specifikace softwarových systémů. Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 12 / 51

Úvod Úvod do verifikace modelů Přístupy verifikace modelů [Cam10] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 16 / 51

Úvod Formální popis Stavový prostor [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 18 / 51 Úvod Formální popis Kripkeho struktura - mikrovlná trouba [?] Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 19 / 51

Úvod Formální popis Kripkeho struktura [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 20 / 51 Úvod Formální popis Kripkeho přechodový systém [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 21 / 51

UPPAAL - Přehled Základní vlastnosti Nástroj v kostce [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 23 / 51 UPPAAL - Přehled Základní vlastnosti Modely systémů [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 24 / 51

UPPAAL - Přehled Základní vlastnosti Implementace [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 25 / 51 UPPAAL - Přehled Základní vlastnosti Průmyslové studie [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 26 / 51

UPPAAL - Přehled Architektura Komponenty systému [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 28 / 51 UPPAAL - Přehled Architektura Systémový editor [?] Editor tvorba grafického i textového popisu systémů Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 29 / 51

UPPAAL - Přehled Architektura Grafický systémový editor [?] Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 30 / 51 UPPAAL - Přehled Architektura Grafický simulátor [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 31 / 51

UPPAAL - Přehled Architektura Verifikátor [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 32 / 51 UPPAAL - Vybrané vlastnosti Systém a proces Výchozí principy [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 34 / 51

UPPAAL - Vybrané vlastnosti Systém a proces Časový automat [BDL05] Časový automat 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. Příklady y := 0... resetování hodin y, press? a press!... označují akci a ko-akci (zde kanálovou synchronizaci). Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 35 / 51 UPPAAL - Vybrané vlastnosti Systém a proces Hodiny časového automatu [BDL05] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 37 / 51 UPPAAL - Vybrané vlastnosti Systém a proces Specifikace systému [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 38 / 51

UPPAAL - Vybrané vlastnosti Systém a proces Komunikace 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 39 / 51 UPPAAL - Vybrané vlastnosti Systém a proces Síť časových automatů [BDL05] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 43 / 51

UPPAAL - Vybrané vlastnosti Manuál Speciální přechody [BDL05] Ří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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 44 / 51 UPPAAL - Vybrané vlastnosti Manuál Výrazy jazyka [BDL05] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 45 / 51

UPPAAL - Vybrané vlastnosti Manuál Tvorba automatu [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 46 / 51 UPPAAL - Vybrané vlastnosti Manuál Kompozice systému [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 47 / 51

UPPAAL - Vybrané vlastnosti Manuál Popis vzoru (template) [?] Parametrizovaný časový automat jméno, parametry, Lokální deklarace proměnné, synchronizační kanály, konstanty Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 48 / 51 UPPAAL - Vybrané vlastnosti Manuál Popis systému [?] Globální deklarace globální celočíselné proměnné, globální hodiny, synchronizační kanály, konstanty Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 49 / 51

UPPAAL - Vybrané vlastnosti Manuál Definice systému [?] 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@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 50 / 51 Literatura I UPPAAL - Vybrané vlastnosti Manuál Radek Mařík (marikr@fel.cvut.cz) Verifikace Modelů a UPPAAL October 2, 2014 51 / 51