03.02.2014 Aufrufe

Spezifikationsmodule - Software and Systems Engineering - TUM

Spezifikationsmodule - Software and Systems Engineering - TUM

Spezifikationsmodule - Software and Systems Engineering - TUM

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!