Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Kryštof Samek
Acad. year: 2025/2026
Supervisor: Ing. Josef Strnadel, Ph.D.
Reviewer: Ing. Rostislav Husa
This thesis presents the design and implementation of a~cross-platform library for remote procedure calls (RPC) in embedded systems. The goal is a~small, configurable, and portable C library deployable on ARM Cortex-M microcontrollers, ESP32 SoCs, and host platforms without modifying the core. The implementation is referred to as uRPC and is characterised by a~strictly layered architecture, the complete absence of dynamic memory allocation, a~stub generator from a~compact IDL, and four distribution paths (CMake, ESP-IDF component, PlatformIO, vendor IDE). The library supports both streaming transports (UART, USB-CDC) and transactional transports (SPI, I\textsuperscript{2}C). Experimental evaluation shows that the minimal configuration occupies approximately 4\,kB of \texttt{.text} on Cortex-M0+ and that the typical round-trip latency over UART at 115\,200~baud is around 1{,}3--1{,}4~ms.
remote procedure call, RPC, embedded systems, microcontroller, ARM Cortex-M, ESP32, STM32, CMSIS, cross-platform library, IDL, framing, COBS, CRC, C language, no dynamic allocation, MISRA C
Date of defence
18.06.2026
Result of the defence
Defended (thesis was successfully defended)
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
Language of thesis
Czech
Faculty
Fakulta informačních technologií
Department
Department of Computer Systems
Study programme
Information Technology (BIT)
Composition of Committee
prof. Ing. Lukáš Sekanina, Ph.D. (předseda) doc. Ing. Ondřej Lengál, Ph.D. (místopředseda) Ing. Marta Jaroš, Ph.D. (člen) Ing. Libor Polčák, Ph.D. (člen) Ing. Tomáš Milet, Ph.D. (člen)
Supervisor’s reportIng. Josef Strnadel, Ph.D.
S přihlédnutím k
navrhuji
Student prokázal schopnost samostatně využívat vedoucím doporučené i vlastním úsilím nalezené informační zdroje související s řešeným tématem, mj. orientovat se v nich, čerpat z nich a vhodně využívat informace v nich obsažené k řešení daného tématu.
Dané téma začal sice student zpracovávat, řešení však ani průběžně nekonzultoval, ani neinformoval o dílčích pokrocích a dalším směřování řešení. Student pracoval zcela samostatně, žádné konzultace neprobíhaly.
Výsledek práce studenta (tj. realizační výstup a technická zpráva) mi nebyl vůbec předkládán ke konzultacím ani k nahlédnutí, a to ani průběžně, ani před odevzdáním. O existenci výsledku jsem se dozvěděl až z informačního systému, nicméně jsem byl mile překvapen, že vzniklo nadprůměrně kvalitní a dále využitelné dílo.
-
Grade proposed by supervisor: B
Reviewer’s reportIng. Rostislav Husa
Práce se zabývá relevatní problematikou v oblasti vestavných systémů a mikrokontrolerů. Analýza existujících přístupů a srovnání navrženého řešení s nimi dostatečně zdůvodňuje, v čem je možný přínos a proč by vyvíjená knihovna, respektive některá její budoucí rozšíření, mohla být legitimní alternativou. Implementace poskytuje požadované základní funkcinality a dává dobrý základ pro jejich další rozvoj. Provedené experimenty naznačují, že požadavky multiplatformnosti a minimalizace režie se daří splnit, byť samotná prezentace těchto výsledků by mohla být realizována lépe.
Evaluation level: průměrně obtížné zadání
Zadání považuji za průměrně obtížné, mělo by být zvládnutelné se znalostmi z dosavadního studia a přiměřeným množstvím samostudia v rámci projektu.
Práce je dobře stukturovaná, její jednotlivé části na sebe logicky navazují, a umožňují čtenáři získat povědomí o problematice, navrženém řešení a jeho zhodnocení.
Negativem je absence jakékoliv vizualizace, ať již přehled struktury modulů, jak vypadá reálný hardware na kterém se testovalo, či grafy k výsledkům performačních testů. Podání jen formou popisů a tabulek citelně ubírá na celkové přehlednosti.
Typografická i jazyková úroveň je veskrze dobrá. I přes (přiznanou) jazykovou kontrolu nástrojem ChatGPT v práci zůstává několik gramaticky nestandardních výrazů, volné alternování mezi anglickou a českou terminologií (byte/bajt apod.), či výraz klocká (předpokládám počeštěné sloveso "clocks").
Realizačním výstupem je minimalistické implementační řešení úsporně poskytující požadovanou funkcinalitu, doplněné o podrobnou dokumentaci a poměrně robustní sadu jednotkových a integračních testů. Přesně to bylo z povahy práce žádoucí.
Absence podrobnějších komentářů (vč. param a returns) v některých zdrojových kódech se zdá být dostatečně vynahrazena v rámci markdown dokumentace.
Performační testy (experimenty) pro jednotlivé atributy výsledné knihovnou jsou dostatečné pro základní srovnání s existujícím alternativami a představu o možné uplatnitelnosti implementovaného řešení.
Práce se zabývá dlouhodobě známou problematikou a snaží se navrhout řešení které bude mít vůči existujícím řešením přínosy.
Pro praktickou využitelnost by bylo žádoucí implementovat aspoň některá z rozšíření která autor navrhuje. Stávající rozsah práce poskytuje dobrý základ pro další rozvoj knihovny.
Evaluation level: zadání splněno
Evaluation level: je v obvyklém rozmezí
Úvod do řešené problematiky, existující přístupy k jednotlivým podproblémům a zmiňované relevantní standardy jsou v plném rozsahu podloženy relevantními informačními zdroji. Na zdroje je vhodně odkazováno a převzaté zdroje jsou jasně odlišitelné od vlastních výstupů autora.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová