Grilling, K. (2025). Typescript-based bigUML model management [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2025.129429
E194 - Institut für Information Systems Engineering
-
Date (published):
2025
-
Number of Pages:
127
-
Keywords:
Model driven engineering; Web-based modeling; TypeScript; Graphical Language Server Platform (GLSP); bigUML; Model Management; Generic operation handlers; Configurable architecture; Single source of truth; Code generation
en
Abstract:
Modellgetriebene Entwicklung kombiniert üblicherweise textuelle Sprachen und grafische Notationen, um Softwaresysteme zu beschreiben. Derzeit findet eine Verlagerung hin zu webbasierten Tools und Frameworks wie Langium und GLSP statt. Diese ermöglichen eine einfache textuelle und grafische Modellierung im Browser. Trotzdem ist die Modellverwaltung auf der Serverseite oft nicht gut strukturiert, was die Wartbarkeit und Erweiterbarkeit beeinträchtigt. Diese Arbeit entwirft und evaluiert eine generische und wiederverwendbare Architektur für die Modellverwaltung für Tools, die GLSP und Langium verwenden und in der Modellierungsumgebung bigUML realisiert sind. Sie verbessert die CRUD-Operationen sowie die Eigenschaftenpalette, die Gliederungsansicht und die Validierung auf einheitliche Weise. Die Lösung verwendet eine einzige Definitionsdatei, die Elemente, Containments und viele Metadaten beschreibt. Aus dieser Definition erstellen Generatoren Zuordnungen und Typdeskriptoren, die in abstrakten CRUD-Handlern und -Diensten verwendet werden, anstatt doppelte und nicht konfigurierbare Handler pro Element. Die Architektur ist in den bigUML-Modellserver und die VS Code-Erweiterung integriert und wird für UML-Klassen- und Paketdiagramme mit nur kleinen Konfigurationsklassen instanziiert. Diese Arbeit wird anhand von Funktionstests der Generatoren und Handler, einem quantitativen Vergleich mit einer früheren bigUML-Version und Szenarien bewertet. Dieser Ansatz reduziert Boilerplate-Code und Handler-Duplikate, die Code-Teile bleiben dank der einzigen Quelle der Wahrheit synchronisiert und das Hinzufügen neuer Diagrammtypen wird dank des konfigurierbaren Musters für die Modellverwaltung in webbasierten Modellierungstools vereinfacht.
de
Model driven engineering commonly combines textual languages and graphical notations to describe software systems. A shift toward web-based tools and frameworks like Langium and GLSP is happening. These enable simple textual and graphical modeling in the browser. In spite of this, model management on the server side is often not well-structured, what hurts maintainability and extensibility. This thesis designs and evaluates a generic and reusable architecture for model management for tools using GLSP and Langium realized in the bigUML modeling environment. It improves the CRUD operations as well as property palette, outline view, and validation in unified way. The solution uses a single definition file, which describes elements, containments, and many metadata. From this definition, generators create mappings and type descriptors used in abstract CRUD handlers and services, instead of duplicated and not configurable per element handlers. The architecture is integrated into the bigUML model server and VS Code extension and instantiated for UML Class and Package Diagrams with only small configuration classes. This work is evaluated using functional tests of the generators and handlers, a quantitative comparison with an earlier bigUML version, and scenarios. This approach reduces boilerplate and handler duplication, the code parts stay synchronized thanks to the single source of truth file and the addition of new diagram types becomes simple all thanks to the configurable pattern for model management in web-based modeling tools.