title: Composite Modeling based on Distributed Graph Transformation and the Eclipse Modeling Framework
title: Komponierte Modellierung basierend auf der Verteilten Graphtransformation und dem Eclipse Modeling Framework
Creators: name: Jurack, Stefan
Publisher: name: Philipps-Universität Marburg
Year: 2013
Subjects: Eclipse
Modellierung
Graphtransformation
Informatik
Modellgetriebene Entwicklung
Distributed graph
Eclipse Modeling Framework
Graphersetzungssystem
Composite modeling

description: Die modellgetriebenen
      Softwareentwicklung (MSD) ist ein vielversprechender Trend
      aus unterschiedlichsten Gründen. Modelle als die
      Schlüsselelemente in der MSD erlauben Entwicklern von
      irrelevanten Details zu abstrahieren, sich auf wichtige
      Aspekte der Zieldomäne zu konzentrieren und damit die
      Komplexität von Softwaresystemen zu meistern. Eine stetige
      Steigerung der Komplexität führt jedoch auch zu stetig
      wachsenden Modellen. Dies geht so lange gut, bis die Modelle
      dem Anspruch der guten Wartbarkeit und Verständlichkeit
      selbst nicht mehr genügen. In herkömmlicher
      Softwareentwicklung wird der Komplexität mit Verteilung
      begegnet, d.h. das Gesamtsystem wird eine Menge stark
      zusammengehörender Teile, den Softwarekomponenten, zerteilt.
      An diesen können dann verteilte Teams parallel arbeiten. Die
      Frage ist nun, ob und wie diese Strategie auch auf die
      modellgetriebene Softwareentwicklung angewendet werden kann.
      Entsprechend ist das große Ziel dieser Arbeit die Entwicklung
      eines formal fundierten Modularisierungskonzepts, welches die
      strukturierte und weitgehend unabhängige Entwicklung von
      miteinander verknüpften Modellen in großen Entwicklerteams
      ermöglicht und unterstützt. Diesen Zweck sollen
      Komponentenmodelle mit expliziten Import- und
      Exportschnittstellen erfüllen. Exporte identifizieren die
      Teile die veröffentlicht werden, währende Importe die Teile
      benennt, welche von außen benötigt und konsumiert werden.
      Letztendlich werden Komponentenmodelle nur durch das
      Verbinden ihrer zueinander kompatiblen Export- und
      Importschnittstellen verbunden. Ein solch entstehender
      Modellverband wird "composite model" genannt. Passend zu
      solchen Verbänden wird ein Transformationsansatz entwickelt,
      welcher das Beschreiben von Modelländerungen über einzelne
      Modellgrenzen hinweg erlaubt und damit das parallele Ändern
      beliebiger Modelle eines Verbands. Dieses Konzept wird von
      praktischer Seite mit besonderem Fokus auf eine bestehende
      Technologie entwickelt, dem Eclipse Modeling Framework (EMF).
      EMF ist in der MSD Welt weit verbreitet und erfreut sich
      weiter wachsender Beliebtheit. Beispielsweise bietet EMF,
      neben den Erweiterungen durch zahlreiche andere
      Eclipse-Projekte, eine vollständige Infrastruktur für das
      Generieren von Java Anwendungen basierend auf strukturierten
      Datenmodellen. Da Graphen auf natürlich Weise die
      unterliegende Struktur von (visuellen) Modellen darstellen
      können, basiert der Formalismus in dieser Arbeit auf den
      Theorien und Konzepte der Graphtransformation. Dabei ist der
      Verteilungsaspekt insbesondere durch die Arbeiten von
      Taentzer zu Verteilter Graphtransformation geprägt. Die
      wesentlichen Strukturelemente von EMF Modellen werden durch
      getypte Graphen beschrieben, die zusätzliche Strukturen zur
      Darstellung von Vererbungs- und Enthaltenseinsbeziehungen
      (Containment) bereitstellen. Gerade diese zusätzlichen
      Strukturen führen im Formalismus zu einer Reihe von
      Nebenbedingungen, denen auf geeignete Weise Rechnung getragen
      werden muss. So erlaubt das kategoriale Fundament in dieser
      Arbeit die Transformation auf Modellverbänden so zu
      definieren, dass auch nach der Transformation einer Vielzahl
      miteinander verbundener Modelle die Bedingungen bezüglich
      Vererbung und Containment überall erfüllt werden. Die Arbeit
      rundet die Implementierung der Konzepte in die Eclipse
      Werkzeuge CompoEMF und CompoHenshin ab, welche die
      Machbarkeit und Kohärenz zeigen.
description: Model-driven development (MDD) has
      become a promising trend in software engineering for a number
      of reasons. Models as the key artifacts help the developers
      to abstract from irrelevant details, focus on important
      aspects of the underlying domain, and thus master complexity.
      As software systems grow, models may grow as well and finally
      become possibly too large to be developed and maintained in a
      comprehensible way. In traditional software development, the
      complexity of software systems is tackled by dividing the
      system into smaller cohesive parts, so-called components, and
      let distributed teams work on each concurrently. The question
      arises how this strategy can be applied to model-driven
      development. The overall aim of this thesis is to develop a
      formalized modularization concept to enable the structured
      and largely independent development of interrelated models in
      larger teams. To this end, this thesis proposes component
      models with explicit export and import interfaces where
      exports declare what is provided while imports declare what
      it needed. Then, composite model can be connected by
      connecting their compatible export and import interfaces
      yielding so-called composite models. Suitable to composite
      models, a transformation approach is developed which allows
      to describe changes over the whole composition structure.
      From the practical point of view, this concept especially
      targets models based on the Eclipse Modeling Framework (EMF).
      In the modeling community, EMF has evolved to a very popular
      framework which provides modeling and code generation
      facilities for Java applications based on structured data
      models. Since graphs are a natural way to represent the
      underlying structure of visual models, the formalization is
      based on graph transformation. Incorporated concepts
      according to distribution heavily rely on distributed graph
      transformation introduced by Taentzer. Typed graphs with
      inheritance and containment structures are well suited to
      describe the essentials of EMF models. However, they also
      induce a number of constraints like acyclic inheritance and
      containment which have to be taken into account. The
      category-theoretical foundation in this thesis allows for the
      precise definition of consistent composite graph
      transformations satisfying all inheritance and containment
      conditions. The composite modeling approach is shown to be
      coherent with the development of tool support for composite
      EMF models and composite EMF model transformation.