Přístupnostní navigace
E-přihláška
Vyhledávání Vyhledat Zavřít
bakalářská práce
Autor práce: Bc. Ivan Chodák
Ak. rok: 2024/2025
Vedoucí: Ing. Petr John
Oponent: Ing. Jiří Hynek, Ph.D.
Táto práca sa zaoberá návrhom a implementáciou užívateľsky definovaných funkcií (UDF) vo vizuálnom programovacom jazyku (VPL) v kontexte Internetu vecí (IoT) a inteligentných miest. Stavia na existujúcom Pocketix vizuálnom editore a je integrovaná do RIoT systému. Hlavným cieľom je umožniť technicky nezdatným užívateľom intuitívne vytvárať, spravovať a využívať vlastné procedúry spravujúce a ovládajúce IoT zariadenia v múdrych ekosystémoch. Analýzou existujúcej implementácie v kontraste voči existujúcim systémom, ako sú Blockly a Node-RED, identifikuje kľúčové požiadavky na prístupnosť, flexibilitu a plynulú interakciu pre užívateľa. Navrhované riešenie je integrované do systému RIoT a poskytuje užívateľsky prívetivý spôsob pre na vytváranie opakovane použiteľných procedúr prostredníctvom vizuálneho editoru. Výsledné riešenie podporuje logickú enkapsuláciu, škálovateľnosť a efektívnu interakciu so zariadeniami IoT, čím umožňuje používateľom jednoducho definovať znova použitelné procedúry. Tieto užívateľské procedúry môžu byť spustené za pomoci RIoT interpretu v Go kóde, ktorý je vhodný pre prácu v múdrych prostrediach.
vizuálne programovacie jazyky, IoT, inteligentné mestá, užívateľsky definované funkcie
Termín obhajoby
19.06.2025
Výsledek obhajoby
obhájeno (práce byla úspěšně obhájena)
Klasifikace
B
Průběh obhajoby
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.
Otázky k obhajobě
Jazyk práce
angličtina
Fakulta
Fakulta informačních technologií
Ústav
Ústav informačních systémů
Studijní program
Informační technologie (BIT)
Složení komise
doc. Dr. Ing. Dušan Kolář (předseda) doc. Ing. Vladimír Janoušek, Ph.D. (člen) Ing. Radek Hranický, Ph.D. (člen) doc. Ing. Jan Kořenek, Ph.D. (člen) Ing. Zdeněk Materna, Ph.D. (člen)
Posudek vedoucíhoIng. Petr John
Student pracoval v průběhu projektu samostatně a prokázal schopnost rychle pochopit širokou škálu technologií a netriviálních konceptů. Výsledné řešení umožňuje uživatelům přenášet procedury mezi programy, a tím zjednodušuje použití existujícího grafického editoru. Student také integroval své řešení s různými existujícími kódovými projekty, včetně interpretu, backendové platformy a frontendového systému. Doporučuji udělit studentovi známku B.
Cílem této bakalářské práce bylo rozšířit stávající vizuální programovací editor a konkrétní platformu o opakovaně použitelné funkce vyvinuté koncovým uživatelem, které umožňují abstrakci zařízení na základě jeho typu. Za tímto účelem student nejprve prozkoumal oblast internetu věcí a související koncepty jako jsou 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 techniky vizuálního programování. Následovala analýza aktuálně využívaných přístupů k vytváření vlastních uživatelsky definovaných funkcí v nástrojích vizuálního programování pro IoT, stávajícího editoru, backendové platformy RIoT a interpretu pocketix-go. Úspěšné splnění práce vyžadovalo, aby se student seznámil s řadou technologií, zahrnující TypeScript a Lit.js na frontendové straně a Golang, GraphQL a RabbitMQ na backendové straně. Student poté navrhl a implementoval řešení na obou platformách. Zadání hodnotím jako průměrně obtížné a student úspěšně splnil všechny požadavky.
Student prostudoval doporučenou literaturu a sám aktivně vyhledával další relavatní zdroje.
Student komunikoval po celý akademický rok. Konzultace s vedoucím práce probíhaly online přibližně jednou za dva týdny v zimním semestru a každý týden v letním semestru. Student také často informovalprostřednictvím zpráv o dalším vývoji a poskytoval podrobné zprávy o stavu práce. Student řádně plnil zadané úkoly a práce postupovala přijatelným tempem.
Student potřeboval týdenní odklad na dokončení a řádnou konzultaci práce i jejího provedení. Na druhou stranu mělo toto prodloužení pozitivní dopad na kvalitu práce.
Student vycházel z předchozího výzkumu a poznatky z testování jeho řešení poslouží jako podklad pro další úpravy editoru.
Známka navržená vedoucím: B
Posudek oponentaIng. Jiří Hynek, Ph.D.
Bakalářská práce obsahuje některé výše uvedené nedostatky. Výstupy jsou nicméně využitelné ve výzkumném projektu. Navrhuji hodnocení stupněm B.
Stupeň hodnocení: obtížnější zadání
Cílem práce bylo rozšířit vizuální jazyk projektu Pocketix o podporu uživatelsky definovaných procedur a integrovat jej do systému RIoT pro řízení IoT zařízení v prostředí chytrých měst. Student navázal na předchozí bakalářské práce [1, 2], které dále rozvinul o podporu procedur. Rozšíření vizuálního editoru implementoval v jazyce TypeScript s využitím knihovny Lit, rozšíření serverové části pak v jazyce Go. 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.[2] BUREŠ, Michal. Systém pro zpracování dat z chytrých 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.
Technická zpráva je rozumně členěná na teoretickou a praktickou část. Teoretická část je informačně hodnotná. Analýza požadavků je diskutována obecně, uvítal bych seznam požadavků. Implementace částečně popisuje návrh.
Práce je psána v anglickém jazyce. Jazyková a typografická úprava je kvalitní. Občas se vyskytují překlepy nebo špatné velikosti písmen (např. „Iot“, „Rabbitmq“ nebo „Graphql“). Některé obrázky v kapitole 5 obsahující schémata by mohly být ve vektorech a nepoužívat dekorativní písmo.
Výstupy se skládají z (1) rozšíření projektu RIoT na serverové a klientské části a (2) úprav vizuálního editoru. Výstupy hodnotím spíše pozitivně. Uživatelské definice procedur nicméně neuvažují typy zařízení, což shledávám jako hlavní nedostatek řešení.
Výstupy jsou využitelné v rámci výzkumného projektu Pocketix/RIoT.
Stupeň hodnocení: zadání splněno
Stupeň hodnocení: je v obvyklém rozmezí
Student provedl nadprůměrnou rešerši dostupných odborných zdrojů týkajících se IoT a vizuálního programování.
Známka navržená oponentem: B
Odpovědnost: Mgr. et Mgr. Hana Odstrčilová