Bachelor's Thesis

Visual Programming of IoT devices

Final Thesis 4.9 MB

Author of thesis: Bc. Lukáš Podvojský

Acad. year: 2023/2024

Supervisor: Ing. Jiří Hynek, Ph.D.

Reviewer: Ing. Petr John

Abstract:

This thesis aims to provide end-users with a visual programming tool to simplify the process of creating programs for Internet of Things (IoT) devices. There are a lot of different types of IoT devices that use various communication protocols. The lack of standardization for these devices forces companies to create customized solutions. Users are then presented with a predefined functionality that can be only slightly altered. One of the solutions for this lack of ability for end users to customize device behaviour is to give them more freedom through the concept called visual programming. This thesis results in a new library implementing a visual programming language and a visual editor whose output is a serialized program form that can then be transformed into the language of the target devices. The resulting library is created using web technologies and can be integrated into existing solutions.

Keywords:

visual programming, internet of things, IoT, visual editor, graphical editor, web application, JavaScript, TypeScript, Lit, web components

Date of defence

11.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

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

Topics for thesis defence

  1. Ve svém řešení podporujete uživatelem definované procedury, které jsou závislé na konkrétním jazyce, což je limitující z pohledu využití v jiných jazycích. Jakým způsobem by bylo možné zlepšit podporu dalších jazyků?
  2. Není Scratch a Blockly to stejné?
  3. Pro jaký typ uživatelů je vaše řešení navrženo?
  4. Jaký je možný postup do budoucna?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology (BIT)

Composition of Committee

doc. Ing. František Zbořil, Ph.D. (předseda)
Ing. Libor Polčák, Ph.D. (člen)
doc. Mgr. Lukáš Holík, Ph.D. (člen)
doc. Ing. Vítězslav Beran, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Hynek, Ph.D.

Student ke své práci přistupoval svědomitě. Řešil netriviální téma. Výsledky publikoval na studentské konferenci. Navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification
Informace k zadání

Zadání bakalářské práce vzniklo v návaznosti na výstupy projektu řešeného ve spolupráci s firmou Logimic [1]. Cílem práce bylo navrhnout a implementovat novou verzi vizuálního editoru pro tvorbu jednoduchých programů určených pro chytrá zařízení. Student se musel seznámit s problematikou IoT a principy vizuálního programování. Pro implementaci vizuálního editoru student dále prostudoval knihovnu Lit a jazyky TypeScript, HTML a CSS. Za hlavní přínos oproti výstupům projektu [1] považuji zejména pokročilou podporu tvorby výrazů. Zadání hodnotím jako obtížnější a považuji ho za splněné.

[1] Služby pro systém řízení a monitoringu vody v retenčních nádržích, Logimic, s.r.o., 2022-2023, ukončen, zahájení: 2022-11-01, ukončení: 2023-04-30

Práce s literaturou

Student prostudoval doporučenou literaturu a aktivně si dohledával další zdroje týkající se IoT, vizuálního programování a použitých technologií.

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

Student byl aktivní během celého akademického roku a účastnil se pravidelných online porad.

Aktivita při dokončování

Některé části technické zprávy byly dokončovány na poslední chvíli.

Publikační činnost, ocenění

Dosažené výsledky byly publikovány na studentské konferenci Excel@FIT 2024.

Points proposed by supervisor: 90
Display more

Grade proposed by supervisor: A

Reviewer’s report
Ing. Petr John

Pan Podvojský vytvořil novou verzi vizuálního programovacího jazyka a editoru zaměřeného na programování chytrých zařízení koncovým uživatelem. Výsledek je možné za tímto účelem jednoduše integrovat do existujících systémů díky zvolené technologii. Navrhuji hodnocení stupněm A.

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

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

Zadání hodnotím jako průměrně obtížné.

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

Práce má obvyklou strukturu. Nejprve jsou představeny teoretické základy potřebné pro řešení práce, a to problematika internetu věcí (použití chytrých zařízení, používané architektury a používané technologie pro komunikaci a přenos dat) a problematiku vizuálního programování (typy existujících vizuálních jazyků a existující editory). Dále následují kapitoly analýzy, návrhu, implementace a testování. Kapitoly na sebe vhodně navazují, text je pro čtenáře pochopitelný. V některých částech práce se nacházejí vizualizace, které nejsou zcela vysvětleny v textu.

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

Formální úprava technické zprávy je na velmi dobré úrovni.

95
Realizační výstup

Realizační výstup splňuje zadání práce a působí velmi dobrým dojmem. Student implementoval dvě knihovny. První z nich obsahuje typové definice pro práci s jazykem a druhá editor, který je schopný jazyk vizualizovat uživateli přívětivým způsobem v grafickém editoru. Na implementaci knihovny editoru student využil minimalistické knihovny Lit, díky čemuž je možné tuto knihovnu využít v široké škále existujících aplikačních rámců (jako jsou Angular, nebo React) bez nutnosti reimplementace knihovny. Svůj přístup student otestoval s reálnými uživateli. Celkově hodnotím řešení jako velmi propracované.

95
Využitelnost výsledků

Práce navazuje na projekt Služby pro systém řízení a monitoringu vody v retenčních nádržích, objednaný společností Logimic, s.r.o. Student se inspiroval existujícím návrhem, implementoval nové knihovny a upravil předchozí modely jazyků. Výstup tak hodnotím jako velmi povedený a využitelný jak v praxi, tak jako základ pro další výzkum.

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

Evaluation level: zadání splněno

Práce splňuje zadání, a to ve všech bodech.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce je v typickém rozsahu pro bakalářskou práci.

Práce s literaturou

Student cituje 35 zdrojů, které se skládají převážně z vědeckých článků a knižních publikací. Zvolené zdroje vhodně pokrývají popisovanou problematiku.

95
Topics for thesis defence:
  1. Ve svém řešení podporujete uživatelem definované procedury, které jsou závislé na konkrétním jazyce, což je limitující z pohledu využití v jiných jazycích. Jakým způsobem by bylo možné zlepšit podporu dalších jazyků?
Points proposed by reviewer: 95
Display more

Grade proposed by reviewer: A