Technische Universität München, Institut für Informatik  


SEP oder Bachelorarbeit:

Erweiterung eines graphischen UML-Werkzeugs zur Spezifikation von Modell-Transformationen


Thematische Einordnung:

Durch die immer stärkere Integration verschiedenster Anwendungen im Internet, nicht zuletzt im Bereich des B2B wird es notwendig Daten zwischen Systemen auszutauschen die ursprünglich nicht für den gemeinsamen Einsatz konzipiert waren. Neben der rein technischen Integration, die in diesem Umfeld zumeist durch Technologien wie HTTP, SOAP und XML gewährleistet wird ist es auf konzeptioneller Ebene notwendig die Anwendungsdaten der Systeme zu integrieren. In objekt-orientierten Systeme liegen diese Daten in der Regel in Form von Objektgeflechten vor, für die jeweils unterschiedliche Metamodelle, bzw. Klassenstrukturen existieren.

Mit der Bidirectional Object-oriented Transformation Language (BOTL) existiert eine auf einem Formalismus basierende Sprache zur Transformation von Objektmodellen. Mit Hilfe von BOTL ist es sehr leicht möglich die Transformation von Objektgeflechten mit Hilfe einer graphischen, an die UML angelehnten Sprache zu definieren. So lassen sich graphisch eine Reihe von Regeln definieren in denen festgelegt wird, wie einzelne Auschnitte von Objektmodellen zu transformiert sind. Auf Basis dieser Regeln und dem Ursprungs- und Zielmetamodell  lassen sich bereits Aussagen für beliebige Ursprungsmodelle machen: Ist eine Transformation von Modellen mit dem gegebenen Regelsatz generell möglich? Erzeugt die Transformation immer Modelle die konform zum Zielmetamodell sind? Lassen sich mit einem Regelsatz Modelle bijektiv ineinander überführen?  Erweist sich ein Regelsatz als anwendbar, so läßt sich hieraus der Code für einen passenden Modelltransformator generieren.

Konkrete Themenstellung:

Im Rahmen dieser Arbeit soll ein bestehenes UML-Modellierungswerkzeug (ArgoUML oder Together/J) um die Möglichkeit erweitert werden BOTL-Tranformationen zu spezifizieren. Hierzu ist eine Konzeption zu erstellen wie sich BOTL-Regeln auf Basis von UML-Objektdiagrammen in dem gewählten Werkzeug darstellen lassen. Ggf. muss das Werkzeug mit Hilfe vorhandener Erweiterungsmöglichkeiten angepasst werden. Beim modellieren von BOTL-Regeln wird durch das Werkzeug bereits die syntaktische Korrektheit der Modelle überprüft. Die Verifzierung der Regeln im Bezug auf Anwendbarkeit, Metamodellkonformität und Bijektivität ist nicht Teil der Aufgabenstellung, sondern wird in einem zusätzlichen SEP realisiert.

Darüber hinaus ist das Modellierungswerkzeug mit einer XML-Schnittstelle zu versehen, die es erlaubt, BOTL-Regelwerke (inklusive der verwendeten Metamodelle) zu exportieren und importieren. Die so erzeugten XML-Dokumente dienen als Eingabe für einen Codegenerator zur Erzeugung von Modelltransformatoren, welcher im Rahmen einer Diplomarbeit erstellt wird.

Vorgehensweise:

Voraussetzungen:

Betreuer:

Peter Braun, TU München
Frank Marschall, TU München

Aufgabensteller:

Prof. Dr. Manfred Broy


Peter Braun, Frank Marschall, Juli 2002