Altenhuber, A. (2016). Improving the comprehension of domain-specific languages by utilizing visualizations [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2016.38323
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2016
-
Number of Pages:
103
-
Keywords:
Domain-Specific Languages; Software Visualization; Software Comprehension; Model Engineering
de
Domain-Specific Languages; Software Visualization; Software Comprehension; Model Engineering
en
Abstract:
Domänen-spezifische Sprachen (DSS) zielen darauf ab, die Produktivität von Entwicklern zu verbessern und die Kommunikation mit Domänenexperten zu vereinfachen. DSS können in textuelle und grafische DSS unterteilt werden. Bei textuellen DSS werden Modelle mit Hilfe einer konkreten textuellen Syntax (KTS) formuliert. Grafische DSS zeigen das Modell mit Hilfe einer konkreten grafischen Syntax (KGS), welche auf grafischen Formen basiert und auch ein grafisches Editieren ermöglicht. Die Verwendung einer KTS kann die Produktivität durch Editorfunktionen wie Suchen und Ersetzen, Syntaxhervorhebung und Codevervollständigung verbessern. Textuelle Modelle können aber den Nachteil haben für neue Entwickler und speziell für Domänenexperten schwer verständlich zu sein. Grafische Repräsentationen von Modellen, z.B. in Form einer KGS, beabsichtigen das Verständnis von Modellen sowie die Kommunikation mit Domänenexperten zu verbessern. Eine KGS visualisiert aber vor allem strukturelle Aspekte des Modells indem eine Zuordnung zwischen semantischen Elementen und grafischen Elementen definiert wird. Weiters können Funktionen zum grafischen Editieren von Modellen das Design einer KGS einschränken. Eine KGS ist deshalb möglicherweise nicht die beste Möglichkeit, wenn nur die Verbesserung des Verständnisses angestrebt wird. Diese Arbeit untersucht einen Ansatz der beide Repräsentationen kombiniert und eine textuelle DSS für das Editieren des Modells, sowie nicht-editierbare grafische Repräsentationen, welche nur das Ziel haben das Verständnis der DSS zu verbessern, verwendet. Entwickler können sich dadurch ausschließlich darauf konzentrieren, grafische Repräsentationen zu entwerfen, welche einen spezifischen Aspekt eines Modells hervorheben und es dem Benutzer dadurch vereinfachen das Modell interpretieren zu können. Diese grafischen Repräsentationen werden in dieser Arbeit als Visualisierungen bezeichnet. Eine Visualisierung ist eine nicht editierbare, grafische Repräsentation, welche einen bestimmten Aspekt eines Modells hervorhebt. Diese Arbeit erforscht hauptsächlich, ob Visualisierungen das Verständnis von Benutzern für Modelle verbessern können. Weiters soll untersucht werden, ob JavaFX eine praktikable Technologie zur Entwicklung von Visualisierungen darstellt. Die Ergebnisse dieser Arbeit basieren auf zwei Anwendungsfällen. Der erste Anwendungsfall beabsichtigt die technischen Möglichkeiten von JavaFX bei der Entwicklung von Visualisierungen auszuloten. Der zweite Anwendungsfall soll die praktische Relevanz von Visualisierungen in der Domäne des Testens von Geräten im Automobilbereich analysieren. Dabei werden Visualisierungen für eine existierende DSS erstellt. Die Forschungsfragen dieser Arbeit werden anhand der Ergebnisse mehrerer Interviews beantwortet, welche mit Ingenieuren, die die DSS regelmäßig verwenden, durchgeführt werden.
de
Domain-specific languages (DSLs) are popular for many reasons such as increasing productivity for developers and improving communication with domain experts. DSLs can be divided into textual and graphical DSLs. Textual DSLs let users create models by using a textual concrete syntax (TCS). Graphical DSLs render the model by means of a graphical concrete syntax (GCS), which is based on graphical shapes and also facilitates graphical editing. Using a TCS may lead to higher productivity due to editor functionalities like search and replace, syntax highlighting, and code completion. Textual models, however, may be hard to understand for novice developers and domain experts in particular. Graphical representations of models, such as GCSs, aim at improving the comprehension of models and the communication with domain experts. A GCS, however, mostly visualizes structural aspects of the model by defining a mapping between semantic elements and graphical elements. Furthermore, graphical editing capabilities may impose restrictions on the design of a GCS. Therefore, a GCS might not be the best option when solely aiming at improving the comprehension. This thesis analyzes a way of combining both representations by using a textual DSL for editing purposes and read-only graphical representations which entirely aim at improving the comprehension of the DSL. This allows developers to fully concentrate on building graphical representations which highlight specific aspects of models and help users to better understand or interpret them. These graphical representations are referred to as visualizations in this thesis. A visualization is a graphical representation that cannot be edited and highlights a particular aspect. This thesis mainly aims at investigating if visualizations can increase users¿ comprehension of models. Furthermore, it intends to evaluate the feasibility of using JavaFX as a base technology for creating visualizations. The results of this work are evaluated based on two use cases. The first use case aims at exploring and illustrating the technical capabilities of using JavaFX as a technology for creating visualizations. The second use case intends to evaluate the practical relevance of visualizations in the domain of automotive testing by creating visualizations for an existing DSL. The answers to our research questions are based on the results of in-depth interviews, which have been conducted with engineers professionally using the DSL.
en
Additional information:
Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers