Technische
Universität München, Institut für Informatik |
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.
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.
Peter Braun, Frank Marschall, Juli 2002