title: Towards debugging facilities for graphical modeling languages in web-based modeling tools
Creators: name: Eder, Hansjörg
Publisher: name: TU Wien
Year: 2021
Subjects: subject: Modeling Languages
subject: MDE
subject: DSML

description: Die modellgetriebene Softwareentwicklung bietet Vorteile im Entwicklungsprozess, indem sie die Abstraktionsebene erhöht und damit die Komplexität einer bestimmten Domäne reduziert. Domänenspezifische Sprachen (DSSs) erhöhen die Produktivität für Entwickler und verbessern die Kommunikation mit Domänenexperten. DSSs können in textuelle Sprachen (TS) und grafische Sprachen (GS) unterteilt werden. Die für die Erzeugung von DSSs erforderlichen Tools und Editoren sind in der Regel tief in eine spezifische Entwicklungsumgebung (IDE) integriert. Diese IDEs verwenden verschiedene Programmierschnittstellen, um die gleichen Funktionen für verschiedene Sprachen zu implementieren, was zu mehreren Implementierungen für eine IDE führt. Zu diesem Zweck wurde das Language Server Protocol (LSP) für TS und das Graphical Language Server Protocol (GLSP) für GS eingeführt. Diese Protokolle trennen den Editor von den Sprachkonzepten und ermöglichen so die Wiederverwendung eines Sprachservers über mehrere IDEs. Die zunehmende Komplexität in der Softwareentwicklung führt zu einem erhöhten Auftreten von Fehlern in Programmen und Modellen und erfordert daher Debugging-Möglichkeiten sowohl für TS als auch für GS. Daher wurde das Debug Adapter Protocol (DAP) eingeführt, um die Kommunikation zwischen der IDE und einem konkreten Debugger zu standardisieren. Vergleichbar mit den Zielen des LSP und GLSP beabsichtigt das DAP eine generische grafische Benutzeroberfläche pro IDE zu verwenden und dieselben sprachspezifischen Debugger über mehrere IDEs hinweg wiederzuverwenden. Diese Arbeit analysiert wie das DAP für TS und das GLSP für GS kombiniert werden können, um Modelldebugging in einer webbasierten Umgebung zu unterstützen. Des Weiteren wird evaluiert, ob die bekannten Debugging-Konzepte zum Debuggen von TS auf GS übertragen werden können. Diese Arbeit zielt vor allem darauf ab zu untersuchen, ob das DAP auf GS angewendet werden kann. Darüber hinaus beabsichtigt diese Arbeit, bestehende Debugging-Komponenten und -Frameworks, die in Bezug auf TS entwickelt wurden, wiederzuverwenden. Die Ergebnisse dieser Arbeit werden anhand von zwei Anwendungsfällen ausgewertet. Der erste Fall zielt darauf ab zu untersuchen, ob das DAP für TS auf GS wiederverwendet werden kann. Der zweite Anwendungsfall zielt darauf ab, die Wiederverwendbarkeit des entwickelten Frameworks im Hinblick auf weitere GS und Domänenprobleme zu bewerten. Die Ergebnisse der Fallstudie zeigen, dass das DAP eine effiziente Multi-Editor-Integration ermöglicht. Darüber hinaus zeigen die Ergebnisse, dass das entwickelte Debugging-Framework die Anforderungen eines modernen Debuggers erfüllt und die Integration zusätzlicher Debugger für weitere Sprachen erleichtert.
description: Model-driven development (MDD) offers advantages in the development process by raising the level of abstraction and reducing the complexity of a specific domain. Domain-Specific Languages (DSLs) used in MDD raise the productivity for developers and improve communication with domain experts. DSLs can be divided into textual languages (TLs) and graphical languages (GLs). IDEs provide different application programming interfaces (APIs) for developing tool support for various languages. If tool support for a language is required in multiple IDEs, the implementation of the same language has to be repeated for each IDE based on their different APIs. For this purpose, the Language Server Protocol (LSP) for TLs separates the editor interface from the language logic and allows the reuse of one language server implementing the language logic across several LSP-based IDEs. Like the LSP, the Graphical Language Server Protocol (GLSP) was invented to transfer the advantages of extensibility and reusability to GLs. Increased complexity in software development leads to an increased number of errors in programs and models and, therefore, it requires debugging facilities for both TLs and GLs. Therefore, the Debug Adapter Protocol (DAP) was invented to standardize the communication between the IDE and a concrete debugger. The DAP intends that an IDE offers one generic graphical user interface for debugging functionality and that there is one debugger per language implementing the language-specific debug logic that can then be reused among IDEs. This thesis analyzes a way of combining the DAP for TLs and the GLSP for GLs to support model debugging in a web-based environment. Furthermore, it is evaluated whether the well-known debugging concepts for debugging source code can be transferred to GLs. The thesis intends to reuse existing debugging components and frameworks developed for TLs. The results of this work are evaluated in two use cases. The first use case is the running example and aims at investigating whether the DAP for TLs can be reused for GLs. The second use case intends to evaluate the reusability of the developed framework concerning further GLs and domain problems. The case study’s results indicate that the DAP enables efficient multi-editor integration of debuggers, i.e., one language-specific debugger can efficiently be integrated with a DAP-based debugging interface and that a DAP-based debugging interface can efficiently integrate with multiple language-specific debuggers. Further, the results show that the developed debugging framework meets the requirements of a modern debugger and facilitates the integration of debugging support for further GLs.