Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
nisch umsetzbar, da die bisherigen Arbeiten an der Implementierung eine klare<br />
Schnittstelle zum verwendeten Metamodell nutzen. Die Hauptarbeit zur Anpassung<br />
von ODL an weitere Entwicklungswerkzeuge betrifft diese Schnittstelle.<br />
Wir werden die Portierung anh<strong>and</strong> der Unified Modeling Language (UML)<br />
motivieren.<br />
Wie wir gesehen haben, ist ODL als Transformationssprache für Modelle mit<br />
diesen über das Metamodell verbunden. ODL ist im Falle von AutoFocus 2 über<br />
eine generische Schnittstelle mit dem AutoFocus 2-Metamodell gekoppelt, d.h.<br />
die durch das Metamodell vorgegebenen Assoziationen zwischen Modellelementen<br />
werden zur Laufzeit ermittelt. Sie sind also nicht fester Best<strong>and</strong>teil des ODL-<br />
Moduls. Diese lose Bindung zwischen ODL und dem Metamodell ermöglicht eine<br />
leichte Adaption der Transformationssprache für <strong>and</strong>ere Modellierungssprachen.<br />
In [HS05] wird neben der hier vorgestellten Modelltransformation für AutoFocus<br />
2, auch ein Beispiel für eine Modelltransformation für UML-Modelle<br />
gegebenen. Sowohl die AutoFocus 2-Modellierungssprache als auch die UML<br />
(vgl. [OMG03a]) sind mit Hilfe eines Metamodells beschrieben. Beide Metamodelle<br />
können dabei als Instanzen eines Meta-Metamodells angesehen werden, wie<br />
es die MetaData Architektur in der MetaObject Facility Specification [OMG04]<br />
definiert. Diese Ähnlichkeit der Metamodelle ermöglicht es, dass ODL auch als<br />
Transformationssprache in UML-Werkzeuge integriert werden kann, wenn die<br />
entsprechende ODL-Metamodell-Schnittstelle angepasst wird.<br />
Die Integration von ODL in UML-Werkzeuge könnte dabei ohne große Zusatzarbeiten<br />
durchgeführt werden, weil in einem Systementwicklungsprojekt am<br />
Lehrstuhl eine einheitliche Schnittstelle zu mehreren UML-Werkzeugen (Rational<br />
Rose Enterprise 2003, argoUML 0.16.1, . . . ) geschaffen wurde (vgl. [Dun05]).<br />
Dennis Dungs hat hierbei für seine Schnittstelle eine Implementierung des<br />
UML Metamodells geschaffen. Diese ist im Gegensatz zum AutoFocus 2-Metamodell<br />
allerdings nicht zur Laufzeit als Instanz des Meta-Metamodells vorh<strong>and</strong>en.<br />
Die Kopplung von ODL über diese generische Schnittstelle sollte aber<br />
möglich sein und daher einer genaueren Betrachtung, möglicherweise in Form<br />
eines Systementwicklungsprojekts, unterzogen werden.<br />
Nach einer ersten Analyse zeigten sich folgende Arbeitspakete:<br />
• Spezifikation und Implementierung der Schnittstelle zwischen ODL und<br />
dem UML Metamodell, wobei die analytischen Fähigkeiten von Java (Reflection-API)<br />
Anwendung finden könnten um die fehlende Beschreibung<br />
der Meta-Metamodell-Instanz zu ersetzen. Alternativ kann das Metamodell<br />
möglicherweise auch mit ArgoUML reverse-engineered werden, um<br />
dann mit dem in AutoFocus 2 verwendeten MMGen-Verfahren eine Laufzeitinstanz<br />
des Metamodells zu erhalten, was die Kopplung von ODL erheblich<br />
vereinfachen würde.<br />
• Nutzung der UML Schnittstelle zur Integration des ODL Editors in die<br />
UML Werkzeuge. Besonderes Augenmerk richtet sich hier auf die Integration<br />
in den GUI des jeweiligen UML-Werkzeugs.<br />
• Nachweis der Funktionsfähigkeit durch Umsetzung der in [HS05] beschriebenen<br />
Modelltransformation für UML Modelle (MoveUpFeature-Transformation).<br />
60