Metamodelle – Beschreiben und Verstehen eines Modells

Herzlich Willkommen zum ersten inhaltlichen Blog-Teil zur Promotion unseres Beraters Alexander Rauh. Es freut uns, dass Sie sich dazu entschlossen haben unserer kleinen Blogreihe zu folgen und wir wünschen Ihnen viel Spaß beim Lesen und Lernen.

Wie Sie bereits aus unserem kurzen Ausblick aus der Einleitung entnehmen konnten, gehen wir in diesem Teil auf Metamodelle und deren Anwendung, speziell auch im Rahmen des Requirements-Engineering, ein.

Doch was ist eigentlich ein Metamodell?

Ein Metamodell ist grob gesagt ein übergeordnetes Modell. Um das genauer zu verstehen, betrachten wir kurz die Wortbestandteile im Detail.

Ein Modell ist eine abstrakte Abbildung der Realität, um beispielsweise bestimmte Zusammenhänge oder Eigenschaften zu beschreiben.
Der Wortbestandteil meta kommt aus dem Griechischen und bedeutet so viel wie über, neben oder dahinter, daher auch die Bezeichnung übergeordnetes Modell. [1]

Ein Metamodell dient der Beschreibung (bzw. Abstraktion) einer Menge an gleichartigen Modellen, die nach der gleichen Modellierungstechnik erstellt wurden. Es beschreibt die Konzepte einer Modellierungstechnik, das heißt die verwendeten Modellelemente und erklärt deren Zusammenhänge, also die bestehende Syntax und Semantik der einzelnen Modellelemente.
Demnach gilt ein Modell A als Metamodell bezüglich eines anderen Modells B, wenn A ein Beschreibungsmodell der Sprache, in der B formuliert ist, darstellt. (vgl. [4])

Ein Metamodell selbst wiederum kann durch ein sogenanntes Metametamodell beschrieben werden. So könnte man diese Kette des Modells eines Modells immer weiter führen. Da es jedoch nicht hilfreich ist ein Modell immer wieder bis zur Unendlichkeit mit einem weiteren zu beschreiben, hat die Object Management Group (OMG) die Meta Object Facility (MOF) als oberste Instanz der Metamodellierung festgelegt. [1]

Schichten_ModellbildungAbbildung 1: Schichten zur Modellbildung am Beispiel der UML

Auf der Ebene 0 steht die darzustellende Realität, in diesem Fall ist es unser Buch „UML 2 Glasklar“. Die Ebene 1 definiert, wie die Realität beschrieben wird, in unserem Beispiel durch „Buch“ mit dem Attribut „Titel“. In der Ebene darüber steht das Metamodell der UML, das die verwendeten Modellelemente beschreibt, die in Ebene 1 genutzt werden. Auf Ebene 3 wiederum werden die Elemente des Metamodells der UML definiert. Zugegeben, dieses Konzept mag auf den ersten Blick sehr theoretisch und aufwändig erscheinen, ist aber aufgrund der damit verbunden Wiederverwendbarkeit sehr sinnvoll.

Aber wofür kommen Metamodelle, speziell beim Requirements-Engineering und -Management, zum Einsatz?

Durch unsere Projekterfahrung können wir sagen, dass im Requirements-Engineering häufig Modelle verwendet werden, um Systeme, ihre Funktionen oder Systemzusammenhänge anschaulich darzustellen. Dazu wird sehr oft mit der Unified Modeling Language (UML) gearbeitet, der ebenfalls ein Metamodell zugrunde liegt. Das Metamodell der UML definiert die einzelnen Diagrammarten, die jeweils verwendbaren Elemente sowie deren Syntax und Semantik. [3] Das Metamodell der UML basiert wiederum auf der MOF (siehe Abb.1). [1]

Doch das ist nicht die einzige Verwendung von Metamodellen im Requirements-Engineering. In typischen Auftraggeber-/Auftragnehmerverhältnissen ist es zwingend erforderlich Anforderungen an ein zu entwickelndes System zu übermitteln. Sie müssen also dementsprechend zwischen OEM, Kunden, Zulieferer, etc. mit ggf. unterschiedlichen Requirements-Management Tools ausgetauscht werden, ohne dass es zu Inkonsistenzen durch verschiedene Versionen einer Anforderung kommt. Außerdem ist es sinnvoll für die Übermittlung Standardattribute für Anforderungen vorzugeben, um die Kommunikationen zwischen Auftraggeber und Auftragnehmer zu unterstützen.

Wir wollen an dieser Stelle noch nichts vorwegnehmen, denn im nächsten Teil geht es genau darum. Und zwar genauer gesagt um das Requirements Interchange Format (ReqIF).[2] Neugierig? Dann folgen Sie unserer Blogserie auch weiterhin.

Viele Grüße!
Ihre SOPHISTen

Teil 1: Die SOPHISTen forschen wieder
Teil 3: ReqIF – Struktur in Spezifikationen mal anders
Teil 4: Dokumentierst du noch oder übermittelst du schon? – Spezifikationen kommunizieren mittels ReqIF
Teil 5: Das Metamodell der UML – Grammatik für Modellierer

Quellen:
[1]      IT-Wissen, das große Online-Lexikon für Informationstechnologie: Metamodell. Online verfügbar unter http://www.itwissen.info/definition/lexikon/Metamodell-meta-model.html , zuletzt geprüft am 10.02.2016.
[2]      Object Management Group, Inc. (2013): Requirements Interchange Format (ReqIF). Online verfügbar unter http://www.omg.org/spec/ReqIF/1.1/PDF/ , zuletzt geprüft am 10.02.2016.
[3]      Object Management Group, Inc. (2013): UML® Resource Page. Online verfügbar unter http://www.uml.org/ , zuletzt geprüft am 10.02.2016.
[4]      Strahringer, Susanne (2013): Metamodell. Enzyklopädie der Wirtschaftsinformatik Online-Lexikon. Online verfügbar unter http://www.enzyklopaedie-der-wirtschaftsinformatik.de/lexikon/is-management/Systementwicklung/Hauptaktivitaten-der-Systementwicklung/Problemanalyse-/konzeptuelle-modellierung-von-is/metamodell , zuletzt geprüft am 10.02.2016.

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert