Coupled Transformations of Graph Structures applied to Model Migration

Model-Driven Engineering (MDE) is a relatively new paradigm in software engineering that pursues the goal to master the increased complexity of modern software products. While software applications have been developed for a specific platform in the past, today they are targeting various platforms an...

Full description

Saved in:
Bibliographic Details
Main Author: Mantz, Florian
Contributors: Taentzer, Gabriele (Prof. Dr.) (Thesis advisor)
Format: Doctoral Thesis
Language:English
Published: Philipps-Universität Marburg 2014
Subjects:
Online Access:PDF Full Text
Tags: Add Tag
No Tags, Be the first to tag this record!

Die modellgetriebene Softwareentwicklung (MSE) ist ein relativ neues Paradigma in der Anwendungsentwicklung, welches zum Ziel hat die gestiegene Komplexität moderner Softwareprodukte zu meistern. Während Softwareanwendungen früher für eine bestimmte Laufzeitumgebung entwickelt wurden, sollen Anwendungen heute auf unterschiedlichsten Laufzeitumgebung und Plattformen vom klassischen Desktop-PC bis hin zum Smartphone laufen und mit anderen Anwendungen interagieren. Um diese neuen Anforderungen besser beherrschbar zu machen werden Softwareanwendungen in der MSE zunächst vor ihrer Entwicklung auf einem hohen Abstraktionsniveau in sogenannten Modellen spezifiziert. Anschließend kommen Modelltransformationen zum Einsatz, die sowohl dafür genutzt werden können um wiederkehrende Entwicklungsaufgaben zu automatisieren, als auch um Softwareartefakte für verschiedene Laufzeitumgebungen zu erzeugen. Hierbei sind Softwareartefakte nicht zwangsläufig auf Dateien die Programmcode enthalten beschränkt, sondern können auch Konfigurationsdateien sowie maschinenlesebare Problembeschreibungen für Modellverifikationswerkzeuge umfassen. Allerdings geht die MSE nicht nur Softwareentwicklungsprobleme an, sondern sie bringt auch neue Herausforderungen mit sich. Eine dieser neuen Herausforderungen ist an die Entwicklung von Modellierungssprachen geknüpft, die dazu verwendet werden um Modelle zu erstellen. Die Entwicklung einer Modellierungssprache ist, wie als auch die Entwicklung von Modellen, ein kreativer Prozess, der gewöhnlich nicht nach einer Iteration abgeschlossen ist. Neue Anforderungen sowie ein besseres Verständniss der Anwendungsdomäne, führen dazu, dass Modellierungssprachen im Laufe der Zeit weiterentwickelt werden. Modelle, die in einer früheren Version der Modellierungssprache erstellt wurden, müssen oft anschließend entsprechend angepasst (migriert) werden. Da die manuelle Migration von Modellen zeitaufwendig und fehleranfällig ist, ist es sinnvoll diese Migration zu automatisieren. Während Modellierer ihre Modelle mit ad-hoc Lösungen migrieren, fehlt es noch immer an einer Theorie, die ein wohldefiniertes Migrationsergebnis garantiert. In dieser Arbeit steht die Formalisierung der Modellierungssprachenevolution mit korrespondierender Modellmigration auf Basis von algebraischen Graphtransformationen, welche in der Vergangenheit bereits erfolgreich genutzt wurden um Modelltransformationen theoretisch zu fundieren, im Vordergrund. Ziel der Arbeit ist es eine Theorie zu entwickeln, die das Problem der Modellierungssprachenevolution mit korrespondierender Modellmigration auf einer konzeptuellen Ebene betrachtet unabhängig von einem konkreten Modellierungsframework.