Přístupnostní navigace
E-application
Search Search Close
Bachelor's Thesis
Author of thesis: Bc. Norman Babiak
Acad. year: 2025/2026
Supervisor: RNDr. Marek Rychlý, Ph.D.
Reviewer: Ing. Vladimír Bartík, Ph.D.
This bachelor's thesis presents the design and implementation of a tool for visual modeling of diagrams in PlantUML notation as a Visual Studio Code extension built on the Eclipse Graphical Language Server Platform. The tool allows users to interactively edit class diagrams and sequence diagrams in a graphical editor, with changes automatically reflected in the PlantUML source code upon saving. The server component uses the public PlantUML API to parse source code into an internal model, which is then transformed into a graph model rendered by the client. The solution includes a language server implementing the LSP protocol for syntax validation and autocompletion in the text editor. The tool is designed with a modular architecture supporting dynamic loading of new diagram types and validation rules. Functionality was verified through automated tests and manual testing. The resulting project is published as open-source on GitHub.
PlantUML, Eclipse GLSP, GLSP, LSP, Visual Studio Code extension, PlantUML grammar, PlantUML API, Graphical Language Server Platform
Date of defence
15.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 Information Systems
Study programme
Information Technology (BIT)
Composition of Committee
doc. Ing. František Zbořil, Ph.D. (předseda) doc. Mgr. Kamil Malinka, Ph.D. (místopředseda) Ing. Jiří Matoušek, Ph.D. (člen) Ing. Vladimír Veselý, Ph.D. (člen) doc. Ing. Vítězslav Beran, Ph.D. (člen)
Supervisor’s reportRNDr. Marek Rychlý, Ph.D.
Student byl aktivní a pracoval svědomitě. Celkově považuji jeho přístup k řešení práce za lehce nadprůměrný. Navrhuji hodnotit práci stupněm velmi dobře (B).
Cílem práce bylo implementovat GLSP a LSP server a rozšíření pro podporu formátu PlantUML v editoru Visual Studio Code/Codium. Náročnou částí řešení bylo zejména studium a přizpůsobení komplikované a dosud ne moc ověřené technologie GLSP.
Při získávání a studiu relevantních zdrojů byl student aktivní a oceňuji zde zejména jeho odhodlání při zpracování dokumentace GLSP.
Řešení bylo průběžně a často konzultováno. Závěry z konzultací byly zapracovány a všechny termíny byly dodrženy.
Práce byla dokončena včas a její výsledná podoba byla dostatečně konzultována.
Bez publikací či ocenění. Programové řešení bylo zveřejněno jako open source.
Grade proposed by supervisor: B
Reviewer’s reportIng. Vladimír Bartík, Ph.D.
Předložená bakalářská práce je kvalitní a vytvořený nástroj je funkční. S přihlédnutím k celkové náročnosti navrhuji mírně nadprůměrné hodnocení stupněm B (velmi dobře).
Evaluation level: moderately difficult assignment
Cílem bakalářské práce bylo vytvoření nástroje, který umožní zobrazit UML diagramy specifikované pomocí textové notace PlantUML, a zároveň tyto diagramy editovat s tím, že se změny promítnou do zápisu v PlantUML. Editor byl vytvořen jako plugin do nástroje Visual Studio Code s využitím platformy GLSP. Bylo potřeba se s touto platformou důkladně seznámit, což nebylo jednoduché vzhledem ke špatnému stavu dokumentace.
Technická zpráva je dobře strukturovaná a text je srozumitelný, bez faktických chyb. Kapitoly na sebe dobře navazují a jejich rozsahy jsou také v pořádku. Mám snad jedině dvě drobné výtky. V textu práce mohlo být více popsáno, co by obnášelo rozšíření nástroje o další UML diagramy, a mohlo také být uděláno nějaké souhrnné srovnání vytvořeného nástroje s existujícími, které jsou zmíněny v kapitole 5. Nejde však o závažné nedostatky.
K jazykové a typografické stránce technické zprávy nemám výhrady, text je bez chyb, ani větších typografických nedostatků jsem si nevšiml. Jedinou drobností jsou místy lehce rozmazané obrázky.
Výsledkem je editor UML diagramů, jehož změny se promítají do kódu v PlantUML a naopak. Aktuálně řešení pracuje s diagramy tříd a sekvenčními diagramy. Ne vše je možné v diagramech editovat, je to však pravděpodobně způsobeno omezeními použité platformy. Celkově je vše funkční a rozšiřitelné o další UML diagramy.
Vytvořený nástroj je přínosem v oblasti modelování pomocí jazyka UML. Po rozšíření o další diagramy může být v praxi využitelný.
Evaluation level: assignment fulfilled
Všechny body zadání byly splněny.
Evaluation level: meets the minimum requirements only
Rozsah technické zprávy přesahuje 40 normostran, požadavek týkající se rozsahu je tedy splněn. Práce je sice stručnější, ale nic zásadního v ní nechybí.
Student pro práci využil zejména literaturu týkající se využívaných technologií, jsou však uvedeny i některé odborné publikace. K výběru literaturu nemám výhrady, nedošlo ani k porušení citační etiky.
Grade proposed by reviewer: B
Responsibility: Mgr. et Mgr. Hana Odstrčilová