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: Bc. 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
Information about assignment

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.

Work with literature

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

Activity during solution, consultations, communication

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.

Activity during completion

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

Publication activity, awards

-

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 Max. points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

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.

Presentation level of the technical report

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 100
Formal preparation of a technical report

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

75 100
Realisation output

Ř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 100
Usability of results

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

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Extent of the technical report

Evaluation level: is within the usual extent

Work with literature

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