title: Coupled Transformations of Graph Structures applied to Model Migration
title: Gekoppelte Transformationen von Graphstrukturen angewandt zur Modellmigration
Creators: name: Mantz, Florian
Publisher: name: Philipps-Universität Marburg
Year: 2014
Subjects: Informatik
algebraische Graphtransformation
Meta-modell-Evolution
Modelltransformation
Modellgetriebene Entwicklung
meta-model evolution
Modellmigration
model migration
algebraic graph transformation
Software Engineering
MDA

description: 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.
description: 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 and devices from classical
      desktop PCs to smart phones. In addition, they interact with
      other applications. To easier cope with these new
      requirements, software applications are specified in MDE at a
      high abstraction level in so called models prior to their
      implementation. Afterward, model transformations are used to
      automate recurring development tasks as well as to generate
      software artifacts for different runtime environments.
      Thereby, software artifacts are not necessarily files
      containing program code, they can also cover configuration
      files as well as machine readable input for model checking
      tools. However, MDE does not only address software
      engineering problems, it also raises new challenges. One of
      these new challenges is connected to the specification of
      modeling languages, which are used to create models. The
      creation of a modeling language is a creative process that
      requires several iterations similar to the creation of
      models. New requirements as well as a better understanding of
      the application domain result in an evolution of modeling
      languages over time. Models developed in an earlier version
      of a modeling language often needs to be co-adopted
      (migrated) to language changes. This migration should be
      automated, as migrating models manually is time consuming and
      error-prone. While application modelers use ad-hoc solutions
      to migrate their models, there is still a lack of theory to
      ensure well-defined migration results. This work contributes
      to a formalization of modeling language evolution with
      corresponding model migration on the basis of algebraic graph
      transformations that have successfully been used earlier as
      theoretical foundations of model transformation. The goal of
      this research is to develop a theory that considers the
      problem of modeling language evolution with corresponding
      model migration on a conceptual level, independent of a
      specific modeling framework.