Přístupnostní navigace
E-application
Search Search Close
Master's Thesis
Author of thesis: Ing. Filip Štolfa
Acad. year: 2024/2025
Supervisor: Ing. Petr John
Reviewer: Ing. Jiří Hynek, Ph.D.
As the popularity and number of smart devices grows, so does the need for robust tooling aimed at novice and experienced users alike, allowing them to utilize their devices to their full potential. Users of IoT systems create user defined programs to connect their devices into a useful smart system. This master's thesis deals with creating a user-friendly debugger and simulator for a visual programming language, which enables end users to test and better understand their programs using visual cues. It focuses especially on how different programs interact with each other and how they affect devices in the system. The goal of this thesis is to design and implement a library for parsing, evaluating and debugging user defined programs inside a simulated environment, to prevent potential harm of running faulty programs on real devices. The library also contains visual components, which can be used to build a responsive user interface for the underlying debugger and simulator. An example application is built to showcase the capabilities of the implemented solution.
debugger, simulator, IoT, visual programming, smart devices, TypeScript, Lit, responsive design
Date of defence
24.06.2025
Result of the defence
Defended (thesis was successfully defended)
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
Language of thesis
English
Faculty
Fakulta informačních technologií
Department
Department of Information Systems
Study programme
Information Technology and Artificial Intelligence (MITAI)
Specialization
Machine Learning (NMAL)
Composition of Committee
prof. Dr. Ing. Jan Černocký (předseda) doc. Ing. Lukáš Burget, Ph.D. (člen) doc. Ing. Vladimír Janoušek, Ph.D. (člen) Ing. Michal Hradiš, Ph.D. (člen) Ing. Jaroslav Rozman, Ph.D. (člen) Ing. František Grézl, Ph.D. (člen)
Supervisor’s reportIng. Petr John
Student pracoval samostatně a v průběhu projektu prokázal důkladný a pečlivý přístup. Výsledkem je velmi kvalitně provedené řešení, které poskytuje vizuální ladicí program a simulátor pro automatizaci IoT jako samostatnou a nezávislou platformu. Navrhuji hodnocení stupněm A.
Cílem této diplomové práce bylo rozšířit stávající vizuální programovací editor o opakovaně použitelný vizuální simulátor a nástroj pro ladění (debugger), který by umožnil i ne-technickým uživatelům testovat své automatizace v prostředí internetu věcí (IoT). Aby tohoto student dosáhl, prozkoumal nejprve oblast IoT a související zastřešující koncepty, jako jsou chytrá města (Smart Cities), komunikační technologie, architektury a případy použití takových zařízení. Pro lepší pochopení dostupných přístupů a interakcí pak student potřeboval prostudovat současné přístupy k vývoji pro koncové uživatele, od programování spouštěcích akcí až po vizuální techniky programování. Následovala analýza aktuálně využívaných přístupů k ladění a simulaci jak obecně, tak v oblasti IoT. Poté student analyzoval stávající editor a stanovil požadavky na simulátor i debugger. Student se musel seznámit s technologiemi TypeScript a Lit.js. Student poté navrhl a implementoval samostatnou knihovnu, která poskytuje API pro integraci jak s vybraným editorem, tak s jakýmkoliv jiným editorem implementujícím toto API a využívajícím stejnou verzi jazyka. Zadání hodnotím jako obtížnější a student úspěšně splnil všechny jeho body.
Práce byla dokončena s dostatečným předstihem, aby mohla být otestována a nasazena. Dále byla také prezentována v IoT společnosti Logimic.
Student vycházel z předchozího výzkumu a jeho práce poslouží jako podklad pro další výzkum a následnou vědeckou publikaci.
Student prostudoval doporučenou literaturu a aktivně vyhledával další zdroje.
Student komunikoval po celý akademický rok. Konzultace s vedoucím práce probíhaly online přibližně jednou za dva týdny. Student také často komunikoval prostřednictvím zpráv a informoval o pokroku. Student řádně plnil zadané úkoly a práce postupovala dobrým tempem.
Grade proposed by supervisor: A
Reviewer’s reportIng. Jiří Hynek, Ph.D.
Diplomová práce je kvalitní jak po teoretické, tak po praktické stránce. Student významně rozšířil existující vizuální editor, čímž podstatně přispěl k výzkumnému projektu. Navrhuji hodnocení stupněm A.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Technická zpráva je členěna vhodně na teoretickou a praktickou část. Kapitoly na sebe navazují. Vytkl bych pouze nedostatečnou analýzu požadavků na nové řešení (bod zadání č. 3).
Práce je po jazykové a typografické stránce na vysoké úrovni. Obrázky jsou úhledné ve vektorech. Text obsahuje pouze některé zanedbatelné nedostatky (špatné uvozovky a pomlčky).
Student provedl nadprůměrnou rešerši odborných publikací týkajících se dané problematiky.
Realizační výstup je na vysoké úrovni. Byl implementovaný interpret jazyka Pocketix spolu s krokovacím nástrojem. Dále byl implementován simulátor událostí, přičemž všechny nástroje jsou uživatelsky vhodně integrované pro zlepšení použitelnosti celého prostředí, mimo jiné i pro mobilní telefony. Provedení hodnotím velmi kladně.
Výstupy jsou využitelné v rámci výzkumného projektu Pocketix.
Evaluation level: obtížnější zadání
Cílem práce bylo rozšířit vizuální editor projektu Pocketix o podporu krokování programů a simulací událostí vznikající na chytrých zařízeních. Student navázal na předchozí bakalářskou práci implementující základní vizuální editor [1] a významně ji rozšířil o interpret programů, debugger a simulátor. Pro tyto účely musel důkladně prostudovat principy tvorby takovýchto nástrojů. Rozšíření vizuálního editoru implementoval v jazyce TypeScript s využitím knihovny Lit. Zadání hodnotím jako obtížnější.
[1] PODVOJSKÝ, Lukáš. Vizuální programování IoT zařízení. Brno, 2024. Bakalářská práce. Vysoké učení technické v Brně, Fakulta informačních technologií. Vedoucí práce Ing. Jiří Hynek, Ph.D.
Grade proposed by reviewer: A
Responsibility: Mgr. et Mgr. Hana Odstrčilová