|
Automata in Verification
Šmahlíková, Barbora ; Holík, Lukáš (referee) ; Lengál, Ondřej (advisor)
Regulární model checking je technika pro verifikaci nekonečněstavových systémů založená na automatech. Konfigurace systému jsou dány konečným automatem a přechody mezi nimi konečným převodníkem. Algoritmus pro verifikaci libovolných vlastností parametrických systémů specifikovaných v temporální logice LTL(MSO) již existuje. V této práci představíme rozšíření tohoto algoritmu, které umožňuje verifikaci hypervlastností parametrických systémů, tedy vlastností, ve kterých lze explicitně kvantifikovat nad několika cestami v systému. Specifikujeme podmínky, které musí platit pro dvojici tzv. advice bitů (složené z konečného automatu a konečného převodníku), která slouží jako svěděk toho, že je daná vlastnost v systému splněna. Algoritmus představený v této práci je implementovaný v nástroji ParaHyper - jediném existujícím nástroji pro verifikaci hypervlastností parametrických systémů. Tento nástroj využívá SAT solveru pro generování automatů a převodníků. Pokud je nalezen takový pár, který vyhovuje podmínkám pro advice bity, vlastnost je v systému splněna. Bylo provedeno experimentální vyhodnocení představeného algoritmu a bylo zjištěno, že ParaHyper je schopen generovat advice bity pro formule s abecedou až o 4 symbolech, pokud mají automat i převodník nejvýše 2 stavy. Pokud jsou však automat i převodník zadány uživatelem, ParaHyper umí efektivně zkontrolovat, zda vyhovují podmínkám i v případě větších abeced a většího počtu stavů.
|
|
New Parallel and Regulated Automata and Grammars
Kučera, Jiří ; Průša, Daniel (referee) ; Sawa, Zdeněk (referee) ; Meduna, Alexandr (advisor)
Tato práce zkoumá a zavádí čtyři nové jazykové modely se zaměřením na regulované a paralelní verze automatů a gramatik. První z modelů, stavově synchronizované systémy automatů , zavádí systémy složené z konečného počtu zásobníkových automatů jejichž činnost je řízena slovy z řídícího jazyka nad množinou stavů. Druhý model, neomezené hluboké zásobníkové automaty , je variantou hlubokých zásobníkových automatů z nichž bylo sejmuto omezení kladené na hloubku expanze na zásobníku. Třetí model, skákající čisté gramatiky , zavádí skákající gramatiky bez neterminálních symbolů. Poslední model, k#$-přepisující systémy , rozšiřuje #-přepisující systémy o přídavnou zásobníkovou paměť. Text této práce je členěn do tří částí. První část uvádí motivaci k zavedení studovaných jazykových modelů a zasazuje je do kontextu souvisejících oblastí teorie formálních jazyků. Je zde také uveden přehled o celkové organizaci práce, základních pojmů teorie formálních jazyků a současných poznatků souvisejících s předmětem výzkumu. Druhá část tvoří jádro této práce. Jsou v ní formálně definovány všechny nově zavedené jazykové modely a studována jejich vyjadřovací síla. Poslední část uzavírá tuto práci souhrnem získaných teoretických výsledků společně se souvisejícími otevřenými problémy a nastiňuje cesty dalšího výzkumu spolu s výhledy na možná využití.
|
| |
|
Tool for Abstract Regular Model Checking
Chalk, Matěj ; Rogalewicz, Adam (referee) ; Hruška, Martin (advisor)
Formal verification methods offer a large potential to provide automated software correctness checking (based on sound mathematical roots), which is of vital importance. One such technique is abstract regular model checking, which encodes sets of reachable configurations and one-step transitions between them using finite automata and transducers, respectively. Though this method addresses problems that are undecidable in general, it facilitates termination in many practical cases, while also significantly reducing the state space explosion problem. This is achieved by accelerating the computation of reachability sets using incrementally refinable abstractions, while eliminating spurious counterexamples caused by overapproximation using a counterexample-guided abstraction refinement technique. The aim of this thesis is to create a well designed tool for abstract regular model checking, which has so far only been implemented in prototypes. The new tool will model systems using symbolic automata and transducers instead of their (less concise) classic alternatives.
|
|
Game for Oculus Quest
Kryštůfek, Jakub ; Novák, Jiří (referee) ; Pomikálek, Jiří (advisor)
The aim of this bachelor thesis is to create a prototype of a videogame in virtual reality for target platform Oculus Quest 2. The game was created with game engine Unity with emphasis on optimalization and extensibility of implemented systems. Within the implemented game was created system of autonomous agents via finite state machines and planning architecture goal-oriented action planning. One of the most insteresting game mechanics is fire propagation system implemented with cellular automaton.
|
| |
|
Parsing Based on State Grammars
Svatý, Lukáš ; Vrábel, Lukáš (referee) ; Solár, Peter (advisor)
Syntax-directed translation based on state grammars is introduced in this bachelor's thesis. Theoretical section of this thesis is focused on the introduction of theoretical models that are necessary for understanding syntax analysis based on state grammars. The most important theoretical formal models in this thesis include deep pushdown transducer and translation grammar based on state grammar, which can be used in syntax analysis. Practical section of this thesis is focused on bottom-up syntax analysis using state grammar and its implementation.
|
|
Modified Deep Pushdown Automata
Škvařilová, Radka ; Horáček, Petr (referee) ; Meduna, Alexandr (advisor)
This thesis introduce two new modifications of deep pushdown automata - stateless deep pushdown automata and parallel deep pushdown automata. In theoretical part of this thesis is formal definition and research into power of these modification. Practical part consists of an implementation of simple automata program.
|
| |
|
Parallel Deep Pushdown Automata
Solár, Peter ; Křivka, Zbyněk (referee) ; Meduna, Alexandr (advisor)
This thesis introduces parallel deep pushdown automata as the parallel version of the deep pushdown automata. They are based on the rules, where the automaton can expand n topmost non-terminals in only one derivation step if there are enough non-terminals on the pushdown. The main advantage rests in a fact, that parallel automaton can makde a decission faster.
|