download - SPES 2020
download - SPES 2020
download - SPES 2020
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Untersuchung des State-of-the-Art zur Erstellung von domänenspezifischen Modellierungssprachen<br />
und UML/SysML-Profilen<br />
Neue Modellelemente können nach Bedarf definiert werden oder veraltete/unbenutzte<br />
herausgenommen werden.<br />
3.2 Methode nach Alanen und Porres<br />
Alanen und Porres schlagen in [AlPo08] eine Methode zur Entwicklung von domänenspezifischen<br />
Modellierungssprachen durch Erweiterung eines bestehenden Metamodells<br />
vor. In ihrem Beispiel in [AlPo08] verwenden die Autoren als bestehendes<br />
Metamodell das UML/SysML-Metamodell MOF (Meta Object Facility, [OMG06]), das<br />
hauptsächlich nach dem Prinzip der Spezialisierung, bekannt aus objektorientierten<br />
Programmierungssprachen, aufgebaut ist. Dabei ist zu beachten, dass diese Form<br />
der Erweiterung von Metamodellen (sogenannte Heavyweight Extension) nicht zu<br />
einem UML/SysML-Profil führt, sondern vielmehr zu einer MOF-basierten DSML, die<br />
orthogonal zur UML ist.<br />
Alanen und Porres zeigen, dass der Ansatz sich auch allgemein für die Entwicklung<br />
domänenspezifischen Modellierungssprachen eignet. In diesem Ansatz existiert ein<br />
Metamodell mit Modellelementen, die auf einer sehr hohen Abstraktionsebene spezifiziert<br />
sind, und enthält z.B. Konzepte wie „Namespace“, „OwnedElement“, etc. Durch<br />
Spezialisierung dieser generischen Metamodellelemente kann man das Metamodell<br />
eines erwünschten Modells herausarbeiten.<br />
Abbildung 1. Heavyweight Metamodell Extension nach Alanen und Porres [AlPo08].<br />
Abbildung 1 schematisiert die Erweiterung eines bestehenden Metamodells beispielhaft.<br />
Es wird gezeigt, wie die Metamodellelemente, die in einem UML-<br />
Klassendiagramm dargestellt sind, die bereits bestehenden generischeren Metamodellkonzepte<br />
„Namespace“ und „Element“ durch eine Spezialisierung erweitern. Die<br />
Packages „Core“ und „Class“, die die beiden Metamodelle umranden, dienen der<br />
besseren Organisation und logischen Trennung der Metamodelle. Bei einer Spezialisierung<br />
„erbt“ das Unterelement (z.B. das Element „Class“ in Abbildung 1) alle Eigenschaften<br />
des Oberelements (z.B. das Element „Namespace“ in Abbildung 1) und<br />
fügt neue hinzu. Die Spezialisierung von dem Metaelement „Element“ ist aufgeteilt in<br />
Zuletzt geändert: 09.02.2011 09:59 9/19