Bachelor's Thesis

Editor blokových schémat a stavových strojů s generováním kódu pro MicroPython s možností monitorování událostí

Final Thesis 13.89 MB

Author of thesis: Ariana Tomen

Acad. year: 2025/2026

Supervisor: doc. Ing. Vladimír Janoušek, Ph.D.

Reviewer: Ing. Radek Kočí, Ph.D.

Abstract:

This bachelor's thesis focuses on the design and implementation of a visual editor for block diagrams and state machines with support for automatic MicroPython code generation and runtime event monitoring on a target device.

The proposed approach is inspired by the DEVS formalism, the IEC 61499 standard, and the Eclipse 4diac/FORTE environment. Unlike the conventional IEC 61499 approach, data and event ports are not distinguished; instead, any change in a port value is interpreted as an event. This simplifies the execution model and brings it closer to the semantics of DEVS.

The editor is implemented in Python using the PyQt6 framework and generates standalone MicroPython code intended for the Raspberry Pi Pico W microcontroller. The solution also includes an event monitoring component communicating via network interfaces or a serial connection.

The functionality of the proposed system is verified on the Waveshare PicoGo educational robot, demonstrating its applicability for controlling simple embedded applications.

Keywords:

visual editor, block diagrams, state machines, DEVS, IEC 61499, MicroPython, code generation, embedded systems

Date of defence

16.06.2026

Result of the defence

Defended (thesis was successfully defended)

znamkaCznamka

Grading

C

Process of defence

Studentka nejprve prezentovala výsledky, kterých dosáhla v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Studentka následně odpověděla na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studentky na položené otázky rozhodla práci hodnotit stupněm C.

Topics for thesis defence

  1. Uvažovala jste o možnosti změny kódu za běhu? Např. při výměně jednoho bloku v modelu za jiný se stejnými vstupy a výstupy.
  2. V části testování uvádíte, že občas dochází k přerušení monitorovací komunikace. Čím si to vysvětlujete?
  3. Kolik řádků kódu jste v rámci práce reálně napsala?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Jan Kořenek, Ph.D. (předseda)
doc. Ing. Ondřej Lengál, Ph.D. (místopředseda)
Ing. Bohuslav Křena, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. David Bařina, Ph.D. (člen)

Studentka prokázala schopnost samostatně navrhnout, realizovat, otestovat a zdokumentovat netriviální nástroj, který splňuje zadané požadavky.

Evaluation criteria Verbal classification
Informace k zadání

Zadání považuji za obtížnější, protože kombinuje low-code programování, generování kódu, jeho distribuci na mikrokontroler a vzdálené monitorování událostí. 

Přes jisté nedokonalosti, týkající se hierarchické kompozicionality a způsobu distribuce kódu a jeho interpretace, konstatuji, že zadání bylo splněno.

Práce s literaturou

Studijní materiály si studentka na základě doporučení vedoucího dohledala sama a smysluplně je použila.

Aktivita během řešení, konzultace, komunikace

Během řešení proběhlo několik konzultací, kde byl vždy upřesněn další postup. Oceňuji cílevědomý přístup.

Aktivita při dokončování

Práce byla dokončena včas, i když s finální verzí jsem byl obeznámen až po odevzdání.

Publikační činnost, ocenění

-

Points proposed by supervisor: 80

Grade proposed by supervisor: B

Reviewer’s report
Ing. Radek Kočí, Ph.D.

Celkově hodnotím práci jako zdařilou, studentka splnila zadání a vytvořila použitelný výsledek, na který lze navazovat. Některé části mohly být více rozpracovány (např. hierarchické komponenty), kladně hodnotím realizaci editoru a možnost injekce dat do modelu za běhu.

Evaluation criteria Verbal classification Points
Náročnost zadání

Evaluation level: průměrně obtížné zadání

Náročností odpovídá zadání standardní bakalářské práci, nicméně lze jej uchopit různě. Pro použitelný výsledek vyžaduje zadání poměrně dost práce, kromě nastudování problematiky zejména vytvoření robustního editoru s možností generování kódu. Studentka vše zvládla, některé části jsou pojaty jednodušším způsobem.

Prezentační úroveň technické zprávy

Text práce je psán jasně a srozumitelně, kapitoly na sebe navazují. Demonstrační příklad je do textu vhodně zakomponován. Kladně hodnotím i popis instalace výsledného řešení.

85
Formální úprava technické zprávy

Typografická i jazyková stránka práce má standardní úroveň.

75
Realizační výstup

Řešení odpovídá požadavkům zadání, vytvořený editor je velmi dobře zpracován a nabízí intuitivní ovládání. Demonstrační aplikace je jednodušší, ale plně funkční. Model se omezuje pouze na atomické komponenty, chybí možnost hiearchického zanoření.

75
Využitelnost výsledků

Vhodná alternativa k existujícím nástrojům. Velmi dobrý základ, na který by bylo dobré navázat.

Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce s literaturou

Výběr studijních materiálů je dostatečný a odpovídá tématu práce. Studentka cituje všechny uvedené zdroje (kromě [14], který není v textu nikde citován) a odlišuje převzaté prvky a vlastní výsledky.

80
Topics for thesis defence:
  1. Uvažovala jste o možnosti změny kódu za běhu? Např. při výměně jednoho bloku v modelu za jiný se stejnými vstupy a výstupy.
  2. V části testování uvádíte, že občas dochází k přerušení monitorovací komunikace. Čím si to vysvětlujete?
Points proposed by reviewer: 78

Grade proposed by reviewer: C

Responsibility: Mgr. et Mgr. Hana Odstrčilová