Bachelor's Thesis

Program Abstraction of Services Using Blocks of a Visual Programming Language

Final Thesis 2.52 MB

Author of thesis: Petr Nečas

Acad. year: 2025/2026

Supervisor: Ing. Petr John

Reviewer: Maksim Aparovich

Abstract:

In the contemporary landscape, Internet of Things platforms often allow users to create programs to automate interactions between smart devices. However, the simple combination of basic control logic and device-level functionalities is often insufficient for scenarios requiring the capabilities of the overarching management system, such as notifications or execution logging. This thesis addresses these limitations within the RIoT ecosystem through a programmatic abstraction designed to encapsulate complex system functions and present them as simplified components within a visual programming language. The implementation of a notification microservice and a program logging system demonstrates this approach. This architectural extension transforms complex backend functionalities into high-level, user-friendly blocks, enabling even non-technical users to create advanced automations. The work details the modifications to the RIoT architecture, the design of microservice communication via message queues, and the extension of the database schema for contact management. The results demonstrate that this abstraction layer enhances system modularity and scalability. Finally, the thesis concludes with an evaluation of the implemented solution and its impact on the extensibility of the RIoT ecosystem.

Keywords:

Internet of Things, IoT, visual programming, end-user development, program abstraction

Date of defence

17.06.2026

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 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í studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Jaký je Váš největší přínos v této práci?
  2. Navazuje Vaše práce na nějakou firemní spolupráci?

Language of thesis

English

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, CSc. (předseda)
doc. Ing. Michal Španěl, Ph.D. (místopředseda)
Ing. Jan Pluskal, Ph.D. (člen)
Ing. Aleš Smrčka, Ph.D. (člen)
Ing. Josef Strnadel, Ph.D. (člen)

Supervisor’s report
Ing. Petr John

I consider this bachelor’s thesis to be successful. The student has mastered the necessary technologies and, based on this knowledge, has expanded the existing visual editor, the interpreter, and the RIoT platform. The results of this work demonstrate that the trio can be successfully used to demonstrate the selected approach of the editor’s program abstraction. I recommend a grade of B.

Evaluation criteria Verbal classification
Informace k zadání

The goal of the thesis was to extend the existing visual editor, vpl-for-things, to support the functionality of any application that utilizes it, provided the required structures are supplied. In addition, the thesis aimed to extend the selected application, RIoT, to provide these necessary structures, as it was chosen as an example of such an application. To achieve this goal, the student needed to study the fields of IoT, smart cities, and current approaches to end-user development, primarily in the context of visual programming languages. This allowed the student to analyze the shortcomings of both the vpl-for-things editor and the canonical interpreter pocketix-go and RIoT. Based on his findings, the student proposed extending the canonical interpreter pocketix-go with the functionality already present in the base language of the vpl-for-things editor, fleshing out the abstraction layer in RIoT, and implementing new features, such as notifications and logging, in a new microservice and core responsibilities, respectively. To achieve this goal, the student needed to study both the aforementioned and complex systems, as well as tools such as the Go programming language, Lit.js, React.js, RabbitMQ, the browser notification API, and others. The student then implemented and tested the proposed extensions. This extension lies in improvements to pocketix-go and language construction in vpl-for-things, which enable dynamic injection of required structures. I consider the assignment to be fulfilled in its entirety. I rate the assignment's difficulty as slightly above average. This work builds on and expands upon the findings from my PhD thesis proposal [1].

[1] John, Petr. Optimising processes in IoT. Brno, 2024. PhD thesis proposal. Brno University of Technology, Faculty of Information Technology.

Práce s literaturou

The student studied the recommended literature and actively sought out additional relevant sources on his own.

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

The student maintained regular communication throughout the academic year. Consultations with the thesis advisor took place online approximately once every two weeks. The student also frequently sent messages to report on new developments. The student duly completed the assigned tasks, and the work progressed at a good pace.

Aktivita při dokončování

The student completed the practical portion of the bachelor’s thesis on time, enabling full integration of the solution into the existing project and deployment of the modified solution into production.

Publikační činnost, ocenění

-

Points proposed by supervisor: 82

Grade proposed by supervisor: B

Reviewer’s report
Maksim Aparovich

This is a solid and well-written thesis, noticeably above the average of comparable work. The engineering is well integrated and validated, the report is clear and honest about its own design choices, and the deployment makes the result tangible. The minor caveats - some UML notation issues and a few formal slips - do not detract from the overall quality.

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

Evaluation level: obtížnější zadání

The assignment is above standard difficulty, spanning three separate codebases plus a user study. It does build on an existing platform rather than starting from scratch, but the cross-component coordination keeps it demanding.

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

The structure is logical and easy to follow (theory -> analysis -> proposal -> implementation -> testing), and the chapters connect well. A genuine strength is that the author explicitly contrasts what was proposed with what was actually implemented, which is honest and helps the reader. The only real caveat is some inaccuracy in the UML diagrams, where the notation is not strictly correct, though the intended meaning is clear.

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

Typesetting and figures are clean and the English reads well. There are a few leftover issues (e.g. a couple of typos) that a final proofing pass would have caught.

85
Realizační výstup

The software is strong: three working artifacts integrated cleanly, with the contribution traceable through diff files and validated by a scenario-based user study. The student also deployed the application and made the system available to try, which is a plus. The main limitations are that verification relies on usability testing without automated tests and only one delivery channel is implemented so far.

95
Využitelnost výsledků

The work extends an existing direction (the RIoT platform and prior theses) rather than breaking new ground, so the contribution is incremental. That said, it delivers a working, reusable abstraction that the author argues can be extended to further services, and with a live deployment it has clear practical value.

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

Evaluation level: zadání splněno

All six points are addressed and the core of the work is solidly delivered. Point 4 is met only in part: of the shortcomings the author identifies, notifications and logging were implemented while the others were left out and notifications currently work over a single channel (WebPush). The narrowing is reasonable for a bachelor's thesis and the author is open about it.

Rozsah technické zprávy

Evaluation level: splňuje pouze minimální požadavky

The body text, from introduction to conclusion, sits at the lower end of the acceptable range, around the 40-page minimum once the many figures are counted. The content is relevant and information-rich, so the modest length is not a problem.

Práce s literaturou

The sources are relevant and well matched to the topic, tool use is disclosed and borrowed material is properly distinguished from the author's own work. A small number of entries lean on blog or vendor pages and one citation is malformed, but overall the literature work is sound.

85
Points proposed by reviewer: 95

Grade proposed by reviewer: A

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