Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Spezifikationsmodule - Software and Systems Engineering - TUM
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
ebene stattfinden, indem beispielsweise ein Modell in eine <strong>and</strong>ere Modellierungssprache<br />
übertragen wird. Die Übertragung von AutoFocus-Modellen in die Modellierungssprache<br />
Promela, zum Zwecke des Model-Checking mit SPIN (vgl.<br />
[Str05]), ist hierfür ein Beispiel.<br />
Auch die Transformationssprache XSLT ([W3C99]) bringt eine Variante für<br />
Modelltransformationen. Sie definiert eine Sprache zur Umsetzung von XML Dokumenten<br />
in <strong>and</strong>ers strukturierte XML Dokumente. In diesem Zusammenhang<br />
kann man auch von einer Transformation in ein <strong>and</strong>eres Metamodell sprechen.<br />
Metamodelle beschreiben die Struktur von Modellen oder Datenmengen.<br />
Da der Begriff Modelltransformation sehr unterschiedlich interpretiert wird,<br />
wollen wir hier die folgende Festlegung für diese Arbeit treffen. Eine Modelltransformation<br />
ist eine Beschreibung einer modellverändernden Berechnung,<br />
wobei sich diese auf eine Instanz, also ein Modell, für ein festgelegtes Metamodell<br />
bezieht. Sie stellt gewissermaßen eine Relation zwischen Modellen dieses<br />
Metamodells dar. Wir sprechen also weder von der Umsetzung eines Modells<br />
zwischen verschiedenen Abstraktionsebene noch von der Übertragung des Modells<br />
in <strong>and</strong>ere Metamodelle. Somit stellt für uns bereits die Umbenennung eines<br />
Modellelements eine Modelltransformation dar. Allerdings gilt unser Interesse<br />
hier wesentlich komplexeren Transformationen, die sich aus verschiedenen primitiven<br />
Einzelveränderungen des Modells zusammensetzen und eine Vielzahl<br />
von Modellelementen gleichzeitig verändern, sowie neue Elemente erzeugen und<br />
in das Modell einfügen.<br />
2.2 Das Modellierungswerkzeug AutoFocus 2<br />
AutoFocus 2 ist der Prototyp eines Modellierungswerkzeuges zur Entwicklung<br />
und Simulation eingebetteter Systeme, das am Lehrstuhl für <strong>Software</strong> & <strong>Systems</strong><br />
<strong>Engineering</strong> entwickelt und zu Wissenschaftszwecken eingesetzt wird. Es<br />
stellt eine Weiterentwicklung des AutoFocus-Werkzeugs ([<strong>TUM</strong>02]) dar. Wie<br />
die meisten modernen CASE-Werkzeuge 1 bietet es zur Modellierung graphische<br />
Editoren und verschiedene Sichten auf das modellierte System an.<br />
Wir werden zunächst einen Blick auf die für das später folgende Beispiel<br />
relevanten Modellierungssichten werfen und im zweiten Schritt das AutoFocus 2<br />
Metamodell (Beschreibung der Struktur von Modellen) beleuchten, da dieses<br />
besondere Bedeutung für die Transformationssprache ODL hat.<br />
2.2.1 Sichten und Editoren<br />
Die Modellierungssichten von AutoFocus 2 sind für die weitere Arbeit wichtig,<br />
da wir unsere Erläuterungen immer wieder an deren Aufteilung orientieren<br />
werden. Die konkreten Editoren und deren Benutzung sind dagegen kaum von<br />
Interesse. Der Leser sei hier auf die Dokumentation von AutoFocus und AutoFocus<br />
2 verwiesen ([<strong>TUM</strong>02], [<strong>TUM</strong>05]).<br />
Struktursicht<br />
Die Struktursicht beschreibt den Aufbau von eingebetteten Systemen in AutoFocus<br />
2. Systeme bestehen aus einzelnen Komponenten, die eigenständige<br />
1 CASE: computer-aided software engineering, computer-unterstützte <strong>Software</strong>entwicklung<br />
7