Bachelor's Thesis

Backend Processing of Visual Programming Language

Final Thesis 2.42 MB

Author of thesis: Bc. Matúš Tábi

Acad. year: 2024/2025

Supervisor: Ing. Petr John

Reviewer: RNDr. Libor Škarvada

Abstract:

This bachelor’s thesis focuses on server-side processing of a visual programming language (VPL) in the context of the Internet of Things (IoT). The aim is to enable end users, even without programming knowledge, to configure and automate the behavior of IoT devices using a simple visual interface. The thesis explores existing approaches and visual programming languages suitable for IoT, with emphasis on the concept of end-user development (EUD). The outcome is the design and implementation of a backend interpreter written in Go, which validates and evaluates programs. The solution has been integrated into the existing RIoT system, extending its capabilities in managing IoT devices. The thesis also presents potential future improvements and an evaluation of the chosen approach.

Keywords:

Internet of Things, IoT, visual programming, end-user development, Go, RIoT

Date of defence

20.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Jakým způsobem jste práci testoval (funkčně, uživatelsky)?

Language of thesis

Slovak

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. Vítězslav Beran, Ph.D. (předseda)
Ing. Radek Hranický, Ph.D. (člen)
doc. Ing. Tomáš Martínek, Ph.D. (člen)
Ing. Petr Veigend, Ph.D. (člen)
Ing. Filip Orság, Ph.D. (člen)

Supervisor’s report
Ing. Petr John

Bakalářskou práci hodnotím jako zdařilou. Student si osvojil potřebné technologie a na základě těchto znalostí vytvořil interpret a integroval ho do existujícího projektu jako další mikroslužbu. Tento interpret pomůže při testování přístupů použitých v rámci mého výzkumu. Navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification
Information about assignment

Cílem bakalářské práce bylo vytvoření interpretu pro serializovanou podobu visuálního programovacího jazyka, který vzniká v rámci mé disertační práce, a jeho integrace do projektu pro správu chytrých zařízení založeného na mikroslužbách. Za tímto účelem musel student nastudovat nejen interpretovaný jazyk, ale i zmiňovanou existující platformu. Z tohoto důvodu si musel osvojit práci s jazykem Golang, a také technologiemi jako je RabbitMQ, GraphQL a PostgreSQL. Zadání hodnotím jako průměrně obtížné a považuji jej za splněné ve všech bodech.

Work with literature

Student prostudoval doporučenou literaturu a sám aktivně vyhledával další relavatní zdroje.

Activity during solution, consultations, communication

Student během celého akademického roku aktivně komunikoval, a to prostřednictvím online konzultací. Konzultace probíhaly ve dvoutýdenních intervalech po oba semestry. Student pracoval samostatně.

Activity during completion

Student dokončil praktickou část bakalářské práce včas, což umožnilo provést integraci do existujícího projektu.

Publication activity, awards

Student navazuje na předchozí bakalářskou práci a existující software. Výsledkem je open source interpret pro daný jazyk, který bude dále využíván v rámci výzkumu.

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
RNDr. Libor Škarvada

Autor prostudoval principy vizuálního programování v kontextu IoT, architekturu systému RIoT, analyzoval původní interpret a navrhnul a implementoval funkční interpret VPL v jazyce Go.


Až na drobné formální nedostatky v textu a seznamu literatury hodnotím práci kladně a navrhuji hodnocení "B".

Evaluation criteria Verbal classification Points
The difficulty of the assignment

Evaluation level: moderately difficult assignment

Zadání práce je průměrně obtížné. Vedlo však k nutnosti prostudovat značné množství literatury a také navrhnout a realizovat vlasní řešení — interpret VPL.

Presentation level of the technical report

Text práce je srozumitelný a přehledně členěný do logických celků, zhruba odpovídajících bodům zadání.

95
Formal preparation of a technical report

Po formální stránce má práce poměrně dobrou úroveň, ale vyskytuje se v ní několik gramatických chyb (čárky v souvětí) a typografických nedostatků (zápis výrazů s procenty, dělení slov).

80
Realisation output

Výsledkem je systém, jehož funkčnost autor předvedl při osobní konsultaci.

90
Usability of results

Práce je součástí většího projektu zaměřeného na IoT. Realizovaný interpret může v praxi fungovat po zařazení do systému monitorujícího a řídícího jednotlivá zařízení v internetu věcí.

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

Evaluation level: assignment fulfilled

Autor splnil všechny body zadání.

Extent of the technical report

Evaluation level: exceeds the usual extent

Práce má 55 stran včetně seznamu použité literatury.

Work with literature

Seznam literatury má 59 položek, z nichž polovinu tvoří články v časopisech, čtvrtinu sborníky konferencí, knihy a závěrečné a výzkumné práce, zbytek jsou webové odkazy. U položky [36] je chyba v odkazu na web.

90
Points proposed by reviewer: 88

Grade proposed by reviewer: B

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