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.
Modellschnittstellen Datentypen, Terme und Ports sind manchmal über eine<br />
weitere Abstraktionsschicht, der Modellschnittstelle (Model InterFace, MIF)<br />
mit den übrigen Modellelementen verknüpft. Abbildung 2.4 zeigt die entsprechenden<br />
Metamodellelemente. Durch diese Abstraktion ist es möglich unvollständige<br />
AutoFocus 2-Modelle zu erstellen, d.h. zum Beispiel Modelle die Ports<br />
enthalten, deren Datentypen noch nicht definiert sind. Für das MIF-Element<br />
wäre in diesem Falle die Model-Assoziation nicht gesetzt, sondern nur das Text-<br />
Attribut belegt.<br />
MIFType<br />
text: String<br />
MIFTerm<br />
text: String<br />
MIFPort<br />
text: String<br />
Model<br />
Model<br />
Model<br />
Type<br />
Term<br />
Port<br />
Abbildung 2.4: Metamodell für Modellschnittstellen<br />
Bei unseren Betrachtungen werden wir diese Möglichkeit nicht weiter beachten.<br />
Wir gehen von vollständigen Modellen aus, d.h. alle MIF-Elemente besitzen<br />
ein entsprechende Model-Repräsentation.<br />
2.3 Die Transformationssprache Operation Definition<br />
Language<br />
Die Transformationssprache Operation Definition Language (ODL) ist in [Sch01]<br />
definiert und durch mehrere Studentenarbeiten in AutoFocus/Quest und AutoFocus<br />
2 implementiert worden. Sie erlaubt ähnlich, wie die Object Constraint<br />
Language (OCL, [OMG03b]), die Definition von Modellnebenbedingungen<br />
(Constraints), aber auch von Modelltransformationen. Besonderheit der ODL ist<br />
dabei die Integration einer Nutzerschnittstelle, sodass Analysen und Transformationen<br />
interaktiv durchgeführt werden können.<br />
2.3.1 Grundlagen<br />
Die Operation Definition Langauge ist ein typbasierter Relationenkalkül mit<br />
den Mengen der Modellelemente eines Metamodells als Typen und den Assoziationen<br />
und Attributen als Relationen. Sie ähnelt, in ihrer Anlehnung an die<br />
Prädikatenlogik erster Stufe, der aus dem Bereich der Datenbanken bekannten<br />
Structured Query Language.<br />
Die Auswertung von ODL Ausdrücken geschieht immer in Verbindung mit einer<br />
Metamodellinstanz, also mit einem konkreten Modell. Die Konzeption stellt<br />
dabei sicher, dass alle Ausdrücke garantiert terminieren. Ein eigenes Typsystem<br />
erlaubt aus den Modellelementmengen komplexere Typen, wie beispielsweise<br />
Produkttypen, aufzubauen. Dieses Typsystem wird in [Höl05] genau erläutert.<br />
12