Bachelor's Thesis

Diagram Modelling Tool with PlantUML Notation and GLSP

Final Thesis 4.04 MB

Author of thesis: Bc. Norman Babiak

Acad. year: 2025/2026

Supervisor: RNDr. Marek Rychlý, Ph.D.

Reviewer: Ing. Vladimír Bartík, Ph.D.

Abstract:

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.

Keywords:

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)

znamkaBznamka

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

  1. Jak složité by aktuálně bylo přidání dalších UML diagramů do vašeho nástroje? Zvládl by to i člověk, který není odborníkem na použité technologie?
  2. Pokrývá vaše řešení všechny artefakty, které jsou součástí daných UML diagramů (např. všechny typy vztahů, omezení, stereotypy...)?
  3. Jaké části systému jste vytvořil a které jste převzal?

Language of thesis

Czech

Faculty

Department

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 report
RNDr. 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).

Evaluation criteria Verbal classification
Information about assignment

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.

Work with literature

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.

Activity during solution, consultations, communication

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

Activity during completion

Práce byla dokončena včas a její výsledná podoba byla dostatečně konzultována.

Publication activity, awards

Bez publikací či ocenění. Programové řešení bylo zveřejněno jako open source.

Points proposed by supervisor: 85

Grade proposed by supervisor: B

Reviewer’s report
Ing. 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 criteria Verbal classification Points
The difficulty of the assignment

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.  

Presentation level of the technical report

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. 

80
Formal preparation of a technical report

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. 

90
Realisation output

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. 

82
Usability of results

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

The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

Všechny body zadání byly splněny. 

Extent of the technical report

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

Work with literature

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. 

90
Topics for thesis defence:
  1. Jak složité by aktuálně bylo přidání dalších UML diagramů do vašeho nástroje? Zvládl by to i člověk, který není odborníkem na použité technologie?
  2. Pokrývá vaše řešení všechny artefakty, které jsou součástí daných UML diagramů (např. všechny typy vztahů, omezení, stereotypy...)?
Points proposed by reviewer: 82

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová