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


Diplomarbeit: Konzeption und Realisierung eines Werkzeugs für 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ässt sich hieraus der Code für einen passenden Modelltransformator generieren.

Konkrete Themenstellung:

Ziel dieser Diplomarbeit ist die Entwicklung eines Java-Werkzeug, welches den Code des gewünschten Modelltransformators generiert. Das Werkzeug muss in der Lage sein BOTL-Beschreibungen und Metamodelle in Form von XML bzw. XMI-Dokumenten einzulesen. Die Regeln werden durch eine in einem parallel stattfinden SEP entstehende, externe Komponente auf ihre Anwendbarkeit geprüft. Im Erfolgsfall wird aus dem Regelsatz und den Metamodellen der zu integrierenden Anwendungen der Code für den Transformator generiert.

Der so erzeugte Modelltransformator muss in der Lage sein im Ursprungsmodell Objektmuster zu erkennen, diese anhand der vorliegenden Regeln in Strukturen des Zielmodells transformieren und diese neuen Objektfragmente in geeigneter in das Zielmodell zu integrieren. Für die Funktionalität der Objektmustererkennung kann auf ein bereits vorhandenes Framework zurückgegriffen werden.

Der Umfang der Arbeit umfasst eine funktionsfähige Implementierung des Codegenerators sowie die Umsetzung eines durchgängigen Anwendungsbeispiels. Denkbar ist hierbei die Demonstration der Funktionsfähigkeit anhand eines existierenden Szenarios zur Integration eines Palm Handhelds mit einem SOAP-Server.

Im einzelnen:

Voraussetzungen:

Betreuer:

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

Aufgabensteller:

Prof. Dr. Manfred Broy


Peter Braun, Frank Marschall, Juli 2002