Podpora jazyku Promela v moderním IDE
Promela Support in Modern IDE
bakalářská práce (OBHÁJENO)
Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/213676Identifikátory
SIS: 290321
Kolekce
- Kvalifikační práce [12714]
Autor
Vedoucí práce
Oponent práce
Parízek, Pavel
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Informatika se specializací Systémové programování
Katedra / ústav / klinika
Katedra distribuovaných a spolehlivých systémů
Datum obhajoby
10. 9. 2026
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Čeština
Známka
Výborně
Klíčová slova (česky)
Promela|Spin|IntelliJ IDEAKlíčová slova (anglicky)
Promela|Spin|IntelliJ IDEATato bakalářská práce se zabývá návrhem a implementací rozšíření (pluginu) pro vývojovou platformu IntelliJ IDEA, které do tohoto prostředí integruje podporu pro for- mální verifikační nástroj Spin a jím využívaný modelovací jazyk Promela. Cílem práce je vytvořit moderní a uživatelsky přívětivé prostředí pro vývoj Promela modelů, které by svými funkcemi překonalo stávající nástroje. Výsledný plugin poskytuje komplexní podporu při psaní kódu v jazyce Promela, zahrnující zvýrazňování syntaxe, kontextové našeptávání, sémantickou analýzu referencí mezi deklaracemi a užitími prvků, automa- tické formátování kódu a zobrazování dokumentace. Plugin dále interaguje s nástrojem Spin pro účely simulace a verifikace modelů. Uživateli nabízí rozhraní pro interpretaci spouštěných simulací, které zahrnuje vizualizaci zasílaných zpráv, sledování hodnot pro- měnných a stavů kanálů a dále pak rovněž konzolový výstup simulace. Verifikace jsou poté realizovány konzolovým výstupem. Plugin rovněž nabízí zobrazení modelů formou diagramů jejich stavových automatů.
This bachelor's thesis focuses on the design and implementation of an extension (plu- gin) for the IntelliJ IDEA development platform, which integrates support for the Spin formal verification tool and the Promela modeling language. The goal of the work is to create a modern and user-friendly environment for developing Promela models that surpasses existing tools in its functionality. The resulting plugin provides comprehen- sive support for writing Promela code, including syntax highlighting, context-aware code completion, semantic analysis of references between declarations and usages, automatic code formatting, and documentation display. Furthermore, the plugin interacts with the Spin tool for model simulation and verification purposes. It offers the user an interface for interpreting running simulations, which includes visualization of sent messages, tracking of variable values and channel states, and console output of the simulation. Verifications are then implemented via console output. The plugin also offers the display of models in the form of their state machine diagrams.
