[Back]


Diploma and Master Theses (authored and supervised):

A. Altenhuber:
"Improving the Comprehension of Domain-Specific Languages by Utilizing Visualizations";
Supervisor: G. Kappel, T. Mayerhofer; Institut für Softwaretechnik und Interaktive Systeme, 2017; final examination: 2017-01-27.



English abstract:
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.

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

Keywords:
textueller Syntax, grafischer Syntax, domän-spezifische Sprache

Created from the Publication Database of the Vienna University of Technology.