Composite Modeling based on Distributed Graph Transformation and the Eclipse Modeling Framework

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 gro...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
1. Verfasser: Jurack, Stefan
Beteiligte: Taentzer, Gabriele (Prof.Dr.) (BetreuerIn (Doktorarbeit))
Format: Dissertation
Sprache:Englisch
Veröffentlicht: Philipps-Universität Marburg 2012
Schlagworte:
Online Zugang:PDF-Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!

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.