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
Informace k zadání

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.

Práce s literaturou

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

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

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ě.

Aktivita při dokončování

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

Publikační činnost, ocenění

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
Náročnost zadání

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

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.

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

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

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

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
Realizační výstup

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

90
Využitelnost výsledků

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í.

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

Evaluation level: zadání splněno

Autor splnil všechny body zadání.

Rozsah technické zprávy

Evaluation level: přesahuje obvyklé rozmezí

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

Práce s literaturou

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á