Abstract
dc:description.abstractIn dieser Arbeit wird ModGraph vorgestellt. Es bietet einen ganzheitlichen, leichtgewichtigen und hochgradig integrativen Ansatz zur totalen modellgetriebenen Softwareentwicklung. Der ModGraph-Ansatz bietet eine echte Erweiterung des EMF-Rahmenwerks, einem in Industrie und Forschung etablierten Werkzeug zur Strukturmodellierung (und anschließender Quelltextgenerierung) mit Ecore-Klassendiagrammen. Dabei steht die Vervollständigung von EMF um die - bislang fehlende - Verhaltensmodellierung im Vordergrund. Diese wird durch einen hybriden Ansatz aus regelbasierter und prozeduraler Verhaltensmodellierung erreicht, der programmierte Graphtransformationsregeln zur Spezifikation von Verhalten anbietet und gleichzeitig eine strikte Trennung der Regeln und der prozeduralen Elemente fordert. Dazu setzt sich ModGraph zum Ziel, bestehende Konzepte zu erweitern und zu nutzen, statt diese nochmals zu reimplementieren. ModGraph konzentriert sich dabei auf den Mehrwert der Graphtransformationsregeln im Kontext der Verhaltensmodellierung. Die Regeln stellen komplexe Änderungen an Objektstrukturen deklarativ dar, indem lediglich der Zustand der Objektstruktur vor und nach ihrer Ausführung angegeben wird. In dieser Arbeit wird eine ausführbare Sprache zur Modellierung von Verhalten, basierend auf Graphtransformationsregeln für und mit EMF entwickelt, die nahtlos integriert sind. Den Ansatzpunkt bieten die strukturellen Ecore-Modelle. Jede Regel wird als Implementierung einer darin deklarierten Operation aufgefasst. Sie spezifiziert das Verhalten der Operation, die auf der Modell-Instanz ausgeführt wird. Hierbei wird die Instanz als Graph aufgefasst und eine kompakte Darstellung der Regel genutzt, die es erlaubt, Struktur und Änderungen in einem zusammengeführten Diagramm darzustellen. Dazu werden ein- und mehrwertige Knoten, die Objekte und Objektmengen repräsentieren, sowie Links, die Instanzen von Referenzen darstellen, und Pfade, die für abgeleitete Referenzen stehen, angeboten. Neben Transformationen können auch Tests und Abfragen auf den Graphen spezifiziert werden, indem Regeln ohne explizite Angabe von Änderungen modelliert werden. Zudem ist es möglich, das Graphmuster durch Bedingungen zu ergänzen. Textuelle Vor- und Nachbedingungen, sowie durch Graphen repräsentierte negative Anwendbarkeitsbedingungen, erlauben eine Einschränkung der Anwendbarkeit der Regel. Zur Komposition der Regeln wird Xcore verwendet, das eine textuelle Syntax für Ecore anbietet und diese um die Sprachkonstrukte zur Verhaltensbeschreibung mit dem Java-nahen Xbase erweitert. Außerdem wird es zur Spezifikation von einfachen oder prozeduralen Operationen verwendet, so dass der Nutzer auswählen kann, welche Teilprobleme mit Regeln oder direkt in Xcore gelöst werden sollen. Dies führt zu einer geeigneteren Nutzung der Regeln. Zudem kann Xcore zur Strukturmodellierung, alternativ zu Ecore, verwendet werden. Die Unterstützung des Modellierens im Großen wird außerdem durch die Einbindung eines existierenden Paketdiagrammeditors erreicht. Paketdiagramme statten EMF mit einer Möglichkeit zur Architekturmodellierung aus. Die - zur Ausführung des Modells nötige - Zusammenführung der Struktur, der Regeln und der prozeduralen Elemente erfolgt entweder auf Modell- oder auf Quelltextebene. Dazu wird eine kompilierte Lösung verwendet, die zwei verschiedene Modell-Transformationen anbietet. Einmal wird der EMF- oder Xcore-Generator genutzt, der Java-Quelltext erzeugt, in welchen der ModGraph-Generator den aus den Regeln generierten Quelltext nahtlos integriert. Alternativ kann eine bislang einzigartige Transformation der Regeln in die Modellierungssprache Xcore stattfinden. Sie werden übersetzt und nahtlos in das bestehende Modell integriert. Das so entstandene Xcore-Modell kann interpretiert oder in Java-Quelltext übersetzt werden. Bei der Generierung nach Java (via Xcore) setzt ModGraph einen, bislang im Graphtransformationskontext nicht verfügbaren, stufenweisen Übersetzungsprozess der Regeln um, der zur Unabhängigkeit von der Zielprogrammiersprache führt. Die Eclipse-basierte Werkzeugumgebung zum ModGraph-Ansatz bietet - neben einem intuitiv zu bedienenden grafischen Editor zur Erstellung kommentierter Regeln - eine eigene, auf die Entwicklung der Regeln zugeschnittene Ansicht, die den Nutzer in die Abläufe der Entwicklung mit ModGraph einführt und ihn anleitet (Cheat Sheets, Dashboard). Dadurch wird dem Modellierer ein einfacher, schrittweiser Übergang von der reinen Modellierung mit EMF in die Modellierung mit ModGraph ermöglicht. Zur Evaluation der Arbeit werden zwei größere Anwendungen der ModGraph-Regeln betrachtet. Zum Einen werden propagierende Refactorings für und mit ModGraph erstellt. Dabei wird ein reflektiver Ansatz verfolgt, der komplexe Refactoring-Operationen an Ecore-Modellen auf die Regeln propagiert. Zum Anderen wird die Anwendung der Graphtransformationsregeln im Kontext der szenarienbasierten Modellierung zur Simulation von Echtzeitsystemen untersucht.
Degree
thesis:*- Level thesis:degree_level
- thesis.doctoral
- Grantor dc:publisher
- Universität Bayreuth
- Year
- 2015
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Winetzhammer, Sabine
- Contributors dc:contributor
-
- Westfechtel, Bernhard
Identifiers
dc:identifier.*- Repository record source_url
- https://epub.uni-bayreuth.de/id/eprint/2142/
- OAI identifier oai:identifier
- oai:epub.uni-bayreuth.de:2142