18.01.2014 Aufrufe

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

Metamodellbasierte und hierarchieorientierte ... - RosDok

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

12 Gr<strong>und</strong>lagen: Modellierung in ausgewählten Gebieten<br />

Klassendiagramme zur Datenmodellierung ein Beleg. Geht es dann um die Umsetzung der grafischen<br />

Datenmodelle können z.B. die textuellen sehr populären XML-Techniken eingesetzt werden. Hier gibt es<br />

z.B. Transformationstechniken von UML-Klassendiagrammen zu XSD-Schemata [Mal03]. Diese Technik<br />

wird ebenfalls eingesetzt um mit XML in Verbindung mit Metamodellen Austauschformate für UML-<br />

Modelle festzulegen. Hat man ein werkzeugunabhängiges XML-basiertes Austauschformat, so lassen sich<br />

Modelle zwischen unterschiedlichen Tools austauschen.<br />

Das UML-Metamodell beschreibt mit Sprachmitteln des UML-Klassendiagramms die eigene UML-Modellierungssprache<br />

[UML10]. Wird das UML-Metamodell in ein XSD-Schema transformiert, erhält man ein<br />

Austauschformat für UML-Modelle. Die dann erhaltenen XML-Dateien stellen UML-Modelle dar. Mit XMI<br />

wurde diese Vorgehensweise verfolgt, mit dem Ziel, ein verlässliches Austauschformat für UML-Modelle<br />

zu erhalten [XMI05].<br />

Metamodelle werden aber nicht nur zur Definition von Austauschformaten im Zusammenhang mit XML<br />

genutzt. Sie können ebenfalls (domänenspezifische) Sprachen definieren [Kle08]. Analog dazu wie Backus-<br />

Naur-Form Grammatiken eingesetzt werden, um Programmiersprachen zu definieren, können Metamodelle<br />

Modellierungssprachen definieren. Aus einer Grammatik werden Programme <strong>und</strong> aus Metamodellen Modelle<br />

abgeleitet. In Metamodellen wird üblicherweise erst die strukturellen Eigenschaften der Modelle festgelegt.<br />

Die operationale Semantik der einzelnen Modellelemente bleibt zumindest beim Metamodell für die<br />

UML [UML10] unterspezifiziert. Diese Eigenschaft der Metamodelle ist analog zu Grammatiken für<br />

Programmiersprachen zu sehen, bei denen in der Regel die Semantik der einzelnen Kommandos auch noch<br />

nicht definiert ist.<br />

Ist der von der Grammatik abgeleitete Compiler vorhanden, in dem zusätzlich auch die Semantiken der<br />

Kommandos umgesetzt sind, können Programme übersetzt <strong>und</strong> gestartet werden, die daraufhin im Computer<br />

ablaufen. Analog gibt es auf Modellseite auch ausführbare Modelle. Die dafür notwendigen Ausführungssprachen<br />

sind mit Alf [OMG10] oder SOIL [Büt11] für die UML vorhanden, die die operationale Semantik<br />

für Modelle definieren. Mit einem entsprechenden UML-Tool lassen sich diese Modelle dann ausführen <strong>und</strong><br />

testen.<br />

Mit Query View Transformation (QVT) [QVT08] <strong>und</strong> diverse Tools können in Verbindung mit Metamodellen<br />

Transformationen definiert werden, die Veränderungen des Systemzustands bewirken. Bei solchen<br />

Transformationen wird das gleiche Metamodell für Quelle <strong>und</strong> Ziel genutzt. Ursprünglich ist QVT jedoch<br />

dafür vorgesehen, verschiedene Metamodelle als Quelle <strong>und</strong> Ziel zu nutzen. Damit soll auf Basis von<br />

Metamodellen ermöglicht werden, Modelle einer Sprache in eine andere zu transformieren (z.B. von UML-<br />

Klassendiagramme zu Entity-Relationship-Diagramme). Seiteneffektfreie Sprachen wie OCL [OCL10]<br />

reichen für die Umsetzung von Modelltransformationen nicht aus, so dass für QVT eine imperative Version<br />

von OCL entwickelt wurde um die Modelltansformationen umzusetzen [QVT08].<br />

Metamodelle kann man des Weiteren auch zur Beschreibung von textuell dargestellten Sprachen nutzen.<br />

So ist für die OCL selber ein UML-basiertes Metamodell entwickelt worden, um die Syntax der textuellen<br />

Sprache zu beschreiben [Ric01]. Es gibt noch viele weitere Bereiche, in denen Metamodelle Anwendung<br />

finden, die hier jedoch nicht weiter aufgeführt werden. Die Einsatzmöglichkeiten von Metamodellen reichen<br />

von sehr informellen Ansätzen, die rein konzeptionell Sachverhalte ausdrücken zu eher formalen Ansätzen,<br />

die eine modellzentrierte Entwicklung mit Modelltransformationen beinhaltet.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!