Deadline Verification Using Model Checking
Deadline Verification Using Model Checking
dc.contributor.advisor | Ratschan Stefan | |
dc.contributor.author | Jan Onderka | |
dc.date.accessioned | 2020-06-14T10:41:02Z | |
dc.date.available | 2020-06-14T10:41:02Z | |
dc.date.issued | 2020-06-12 | |
dc.identifier | KOS-962290877005 | |
dc.identifier.uri | http://hdl.handle.net/10467/87989 | |
dc.description.abstract | V této práci je představena nová aplikace pro formální verifikaci splnění nejzazších termínů (deadlines) v jednoduchých programech pro mikrokontroléry, pracující na úrovni strojového kódu. V práci jsou studovány dosavadní techniky a nástroje pro formální verifikaci. Jsou identifikovány jejich slabé stránky. Nevýhodou verifikačních technik pracujících na úrovni zdrojového kódu je zejména jejich neschopnost zaručit časy provádění na úrovni cyklů procesoru. Současných nástrojů pro verifikaci na úrovni strojového kódu je málo, nejsou široce dostupné a většinou jsou specificky navrženy pro konkrétní procesor, což velmi snižuje jejich užitečnost. Aby nová aplikace nevykazovala nedostatky stávajících řešení, je navržen a implementován nový hybridní verifikační přístup. Techniky ověřování modelu na úrovni strojového kódu jsou použity pro reprezentaci stavového prostoru a verifikaci dodržení specifikace. Paměť mikrokontroléru a chování v rámci kroku jsou specifikovány pomocí jednoduchého imperativního jazyka, s kterým je možné manipulovat pomocí standardních technik na úrovni zdrojového kódu. Tím je umožněna kontrola splnění nejzazších termínů na úrovni cyklů procesoru, rozšiřitelnost na další mikrokontroléry vedle již implementovaného ATmega328P a implementace pokročilých technik bez závislosti na konkrétním použitém procesoru. Vedle základní funkcionality programu jsou implementovány pokročilé techniky pro zacházení s nedeterminismem, generování řídícího toku a redukci cest pro jednoduché cykly. Aplikace je testována pro prokázání její užitečnosti pro verifikaci splnění nejzazších termínů pro jednoduché programy. Je diskutován dopad použitých technik a jsou identifikovány slibné cesty pro další zlepšení. | cze |
dc.description.abstract | In this thesis, a new utility is presented for performing formal deadline checking of simple microcontroller programs at machine code level. The existing formal verification approaches and tools are studied and their weaknesses identified. Namely, source level techniques cannot guarantee cycle-count precise execution times, while machine code verification tools are few, not generally available, and usually heavily tailored to a specific processor, significantly reducing their usefulness. To counteract the weaknesses of current microcontroller verification tools, a novel hybrid approach is proposed and implemented. Machine code level model checking techniques are used for state space representation and verification of adherence to specification. Microcontroller memory and step behaviour is specified using a simple imperative language that can be manipulated using standard source code level techniques. This allows cycle-count based deadline checking, simple extension to other microcontrollers in addition to the implemented ATmega328P, and implementation of advanced techniques without dependence on the actual processor used. In addition to the core functionality, advanced techniques for handling nondeterminism, control flow generation, and simple cycle path reduction are implemented. The utility is tested, showing its usefulness for simple program deadline verification. The impact of various techniques used is discussed and promising future improvements are identified. | eng |
dc.publisher | České vysoké učení technické v Praze. Vypočetní a informační centrum. | cze |
dc.publisher | Czech Technical University in Prague. Computing and Information Centre. | eng |
dc.rights | A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.html | eng |
dc.rights | Vysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html | cze |
dc.subject | Ověřování modelu | cze |
dc.subject | ověřování splnění nejzazších termínů | cze |
dc.subject | formální verifikace mikrokontrolérů | cze |
dc.subject | formální verifikace na úrovni strojového kódu | cze |
dc.subject | přesnost na úrovni cyklů | cze |
dc.subject | hybridní technika | cze |
dc.subject | nedeterminismus | cze |
dc.subject | generování řídícího toku | cze |
dc.subject | redukce cest pro jednoduché cykly | cze |
dc.subject | Model checking | eng |
dc.subject | deadline checking | eng |
dc.subject | microcontroller formal verification | eng |
dc.subject | machine code level | eng |
dc.subject | cycle-accuracy | eng |
dc.subject | hybrid technique | eng |
dc.subject | nondeterminism | eng |
dc.subject | control flow generation | eng |
dc.subject | simple cycle path reduction | eng |
dc.title | Deadline Verification Using Model Checking | cze |
dc.title | Deadline Verification Using Model Checking | eng |
dc.type | diplomová práce | cze |
dc.type | master thesis | eng |
dc.contributor.referee | Schmidt Jan | |
theses.degree.discipline | Návrh a programování vestavných systémů | cze |
theses.degree.grantor | katedra číslicového návrhu | cze |
theses.degree.programme | Informatika | cze |