Abstract
Die Modelltransformation ist ein wesentlicher Teil der modernen Softwareentwicklung.
Gerade im Bereich des Model-Driven Development (MDD) gibt es einige spannende
neue Themen und Inhalte. Diese Arbeit legt den Fokus dabei auf die Entwicklung eines
graphbasierten Modelltransformationsframeworks.
Im Zuge dieser Arbeit werden dafür die Grundlagen der Modelltransformation beschrieben.
Darunter fällt auch die Definition von Modellen, Metamodellen, aber auch
welche Arten von Transformationen existieren. Darüber hinaus werden einige theoretische
Konzepte wie Triple Graph Grammar (TGG) analysiert, aber auch detailliert
auf bestehende Frameworks wie Atlas Transformation Language (ATL) und Epsilon
Transformation Language (ETL) eingegangen.
Zusätzlich dazu wird ein Konzept vorgestellt, wie die Graphdatenbank Neo4J zur
Modelltransformation verwendet werden kann, beziehungsweise wie sie sich mit einem
Modelltransformationsframework verbinden lässt.
Das Kernthema dieser Arbeit ist dabei das Design und die Implementierung der
Graphtransformationsbibliothek. Dabei wird auf die entwickelten Konzepte und verwendeten
Entwurfsmuster eingegangen, sowie die Analogien zu den zuvor analysierten
Frameworks aufgezeigt. Diese Bibliothek wird dann anhand zweier Beispiele, der Transformation
eines Graphen in ein XML Modell und der Transformation eines 2D Bauplanes
in ein 3D Modell, welche im Zuge einer Forschungsarbeit entstand, evaluiert.
Abschließend wird auf die jeweiligen Vor- und Nachteile der Bibliothek eingegangen
und ein Ausblick für zukünftige Entwicklungen gegeben. Dabei zeigt sich, dass vor
allem die Unabhängigkeit zu anderen Technologien, sowie die lose Koppelung der Komponenten
ein wesentlicher Vorteil der Bibliothek ist. Es zeigt sich aber auch, dass große
Modelltransformationsframeworks wesentlich mehr Funktionalität zur Transformation
bieten, diese aber häufig auch mit großem Overhead verbunden sind.
Titel in Übersetzung | Graph-based transformations for model-driven software development |
---|---|
Originalsprache | Deutsch |
Herausgeber (Verlag) | |
Publikationsstatus | Veröffentlicht - 2019 |