[Zurück]


Dissertationen (eigene und begutachtete):

P. Neubauer:
"A Framework for Modernizing Domain-Specific Languages From XML Schema to Consistency-Achieving Editors with Reusable Notations";
Betreuer/in(nen), Begutachter/in(nen): M. Wimmer, D. Di Ruscio, W. Retschitzegger; Institut für Information Systems Engineering, 2020; Rigorosum: 08.07.2020.



Kurzfassung deutsch:
Die Einführung von Extensible Markup Language (XML)-Schemadefinitionen (XSDs)
stellte einen enormen Fortschritt im Entwurf domänenspezifischer Sprachen (DSLs)
dar, da dadurch die formale Definition und maschinelle Verarbeitbarkeit von Domänen-
Modellen, wie zum Beispiel das Erfassen von Vokabular und gültigen Sätzen, möglich
wurde. Dadurch steigt die Notwendigkeit, integrierte Entwicklungsumgebungen (IDEs)
automatisiert zu erstellen und zu warten, um inhärente XML-Einschränkungen, wie zum
Beispiel die Syntax von starren Klammern, zu umgehen und um die Formalisierung von
gültigen Domänenmodellen zu ermöglichen.
Aktuelle Rahmenwerke modellgetriebener Entwicklung und Sprachentwicklung bieten
verschiedene Techniken und Tools, welche die Konstruktion von DSLs grundlegend
unterstützen. Nichtsdestotrotz ist es bisher nicht gelungen Unterschiede, welche durch
Metamodellen, durch der Transformation und Synthese von XSDs und Sprachgrammatiken
aufgedeckt werden, zu automatisieren. Metamodelle, welche von Grund auf
unterschiedlich zu Sprachgrammatiken sind, stellen für die Konstruktion und Anwendung
von Sprachnotationen somit eine Herausforderung dar. Aktuell sind wissenschaftliche Ansätze
aus dem Bereich modellgetriebenen Sprachentwicklung zwar in der Lage, dedizierte
Validatoren, Kontextassistenten und Quickfix-Anbietern nahtlos in domänenspezifische
IDEs zu integrieren, deren Implementierung und Wartung erfordert jedoch weiterhin
Expertise und Arbeitsaufwand im Bereich der Sprachentwicklung.
Im Rahmen dieser Arbeit werden drei Ansätze vorgeschlagen, welche die oben genannten
Probleme adressieren. Zunächst wird ein Ansatz vorgeschlagen, welcher die
Lücken in der Transformation von Strukturkomponenten schließt und Metamodelle mit
strukturellen Einschränkungen aus XSDs anreichert. Dadurch wird die Erstellung von
DSL-Grammatiken aus XSD-basierten Sprachen automatisiert. Als Nächstes wird eine
Herangehensweise präsentiert, bei der domänenspezifische IDEs mit genauen Validatoren,
sinnvollen Kontextassistenten und kostengünstigen Quickfix-Anbietern automatisch generiert
werden können, indem zur Laufzeit suchbasierte Softwareentwicklung eingesetzt
wird. Der Dritte Ansatz beschreibt wie im Rahmen der Modellierung von Sprachen
domänenstrukturunabhängige Textnotationen formuliert werden können. Das Entkoppeln
von Repräsentations- und Strukturinformationen in Grammatikdefinitionen sowie
das Bereitstellen eines Sprachstil-Rahmenwerkes automatisiert die Konstruktion von
Grammatiken aus beliebigen Metamodell- und Stilspezifikationen.

Die Nützlichkeit der vorgeschlagenen Ansätze ist demonstriert durch die Evaluierung
der entwickelten prototypischen Implementierungen auf Grundlage der Anwendung eines
umfassenden Industriestandards für die Klassifizierung und Beschreibung von Produkten,
dem Vergleichs mit aktuellen Rahmenwerken der Sprachentwicklung, der Integration
in ein Werkzeug der Unterstützten Modellierung sowie der Durchführung individueller
Einzelfallstudien wie Cloud-Topologie und Orchestrierungsmodellierung.

Kurzfassung englisch:
The introduction of Extensible Markup Language (XML) Schema Definitions (XSDs)
represented a tremendous leap towards the design of domain-specific languages (DSLs)
by enabling machine processibility of domain models conforming to formally described
language grammar, i.e. capturing vocabulary and valid sentences. Consequently, it
elevated the need for automating the creation and maintenance of dedicated and modern
integrated development environments (IDEs) evading inherent XML limitations, such
as rigid angle-bracket syntax, as well as enabling the support of valid domain model
construction.
Techniques and tools provided by model-driven engineering frameworks and language
workbench frameworks offer elementary assistance during the initial implementation of a
DSL. These frameworks, however, fail to automate DSL generation due to disparities
exposed by the transformation and synthesis of XSDs, language grammars, and metamodels.
Moreover, fundamental differences in the nature of language grammars and
metamodels challenge the construction and application of language notations. Although
language workbenches are capable of integrating seamlessly dedicated validators, context
assistants, and quick fix providers into domain-specific IDEs, their implementation and
maintenance still requires proficient language knowledge and development.
This thesis contributes towards addressing the above-mentioned problems. First,
it proposes an approach to generate automatically DSL grammars from XSD-based
languages by bridging gaps in the transformations of structural components, and by
enriching metamodels with structural constraints imposed by XSD restrictions. Second,
it proposes an approach to generate automatically domain-specific IDEs with accurate
validators, sensible context assistants, and cost-effective quick fix providers by employing
search-based software engineering at runtime. Third, it proposes an approach to formulate
domain structure-agnostic textual notations for modeling languages by decoupling
representational from structural information in grammar definitions, and by providing a
language style framework capable of generating grammars from arbitrary metamodels and
style specifications. In order to demonstrate the usefulness of the proposed approaches,
the developed prototypical implementations are evaluated based on a comprehensive
industrial standard for the classification and description of products, a comparison
with state-of-the-art language workbench frameworks, integration with model assistance
tooling, and individual case studies such as cloud topology and orchestration modeling.

Schlagworte:
XSD, IDE


Elektronische Version der Publikation:
https://publik.tuwien.ac.at/files/publik_289635.pdf


Erstellt aus der Publikationsdatenbank der Technischen Universitšt Wien.