Metamodell
Die Benennung Metamodell setzt sich zusammen aus dem Präfix Meta- (in diesem Zusammenhang griechisch für „über“, oder „neben“) und dem Modellbegriff der (Wirtschafts-)Informatik. Das Präfix deutet an, dass in diesem Modell Aussagen auf einer inhaltlich höher gestellten Ebene getroffen werden als in Modellen sonst üblich.
Modelle beziehen sich grundsätzlich auf ein irgendwie geartetes Original (vgl. Stachowiak 1973),[1] die Besonderheit des Metamodells ist, dass dessen Original der Bestandteil einer Modellbildung ist. Dieses Original ist jedoch selbst kein Modell – die Aussage, ein Metamodell sei ein "Modell über Modelle", ist daher nur mittelbar zutreffend.
Das Metamodell beschreibt modellhaft einen bestimmten Aspekt der Erstellung konzeptueller oder formaler Beschreibungsmodelle. Dabei können verschiedene Aspekte der Modellierung dargestellt werden. Am weitesten verbreitet ist das Konzept des sprachbasierten Metamodells, im Rahmen der Entwicklung von Modellierungsmethoden werden auch prozessbasierte Metamodelle spezifiziert. Strahringer prägt den Begriff der Metaisierung bzw. des Metaisierungsprinzips für die Modellbildung über Abstraktionsebenen hinweg. Das Metaisierungsprinzip legt dabei fest, über welchen Aspekt (Vorgehen oder Sprache) abstrahiert wird (Strahringer). Der Begriff Metamodell schreibt demzufolge einem Modell keine absolute Eigenschaft zu, sondern kennzeichnet die Beziehung des Modells zu anderen Modellen.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/30/Metamodell.png/220px-Metamodell.png)
Als Beispiel: Beschreibt ein Modell M1 (unmittelbar) die Sprache S0, in der ein Modell M0 formuliert wird, so ist M1 ein (sprachbasiertes) Metamodell zu M0 (mittelbares Modell). Beschreibt ferner ein Modell M2 (unmittelbar) die Sprache S1 in der M1 formuliert wurde, so ist M2 entsprechend Metamodell zu M1, gegenüber M0 ist M2 jedoch Meta-Metamodell.
Begriffsabgrenzung
Das Referenzmodell ist ein beispielhaftes Modell. Zum Beispiel könnte M0 durch Anpassung eines Modells M02 entwickelt worden sein, das wie M0 in Sprache S0 formuliert ist. M0 und sein Referenzmodell M02 hätten dann dasselbe Metamodell M1.[2]
Das Standardmodell ist ähnlich dem Referenzmodell ein bestimmtes einzelnes Modell, das jedoch anders als das Referenzmodell mehr oder weniger verbindlich ist.[3]
Das Metamodell ist also mit einem Baukasten vergleichbar. Referenzmodelle und Standardmodelle sind (beispielhafte bzw. verbindliche) Gebilde aus Elementen dieses Baukastens.
Sprachbasiertes Metamodell
![](http://upload.wikimedia.org/wikipedia/de/thumb/a/a5/Meta_sprabas.png/220px-Meta_sprabas.png)
Ein sprachbasiertes Metamodell stellt die Elemente einer Modellierungssprache und ihre Beziehungen in einem Modell dar – das modellierte Original ist also eine Modellierungssprache. Es handelt sich dabei in der Regel um ein statisches Modell des konzeptionellen Aspektes dieser Sprache bzw. deren abstrakte Syntax.[4]
Sprachbasierte Metamodelle sind bspw. das Metamodell der Unified Modeling Language oder das Common Warehouse Metamodel. Beide Modelle sind unter Verwendung der Meta-Beschreibungssprache MOF der Object Management Group spezifiziert. Zur Metamodellierung kommen des Weiteren auch Entity-Relationship-Modelle zum Einsatz (bspw. bei Scheer, innerhalb der Spezifikation der ARIS-Modellarchitektur[5]).
Fasst man den Begriff des Modells weiter und bezieht auch textuelle Darstellungen ein, so kann beispielsweise auch eine XML-DTD oder eine XML-Schema-Definition als sprachbasiertes Metamodell gelten, da sie für eine Menge von Modellen (in Form von XML-Dokumenten) die Sprache definiert. Ähnliches lässt für andere formale Zeichensysteme (z. B. Programmiersprachen) entwickeln.
Prozessbasiertes Metamodell
![](http://upload.wikimedia.org/wikipedia/de/thumb/b/b1/Meta_prozbas.png/220px-Meta_prozbas.png)
Ein prozessbasiertes Metamodell beschreibt den Vorgang der Modellerstellung mit einer bestimmten Modellierungsmethode – das Original ist ein realweltlicher Prozess (nämlich der der Modellierung durch einen Modellersteller). Es handelt sich also um ein ablaufbeschreibendes Modell, das Handlungsanweisungen und Reihenfolgevorgaben für die Erstellung eines Modells (bspw. des Modells einer betrieblichen Organisation, oder einer zu entwickelnden Software) spezifiziert.[6] Man spricht in diesem Zusammenhang auch von Vorgehensmodellen.
Beispiele für solche Vorgehensmodelle finden sich bspw. bei ARIS (vgl. Scheer 1992; dort ist das prozessbasierte Metamodell als Ereignisgesteuerte Prozesskette modelliert[5]) oder beim Semantischen Objektmodell (Ferstl/Sinz 2001).[7] Der UML fehlt ein konkretes Vorgehensmodell – ein standardisiertes Vorgehen zur Erstellung von UML-Modellen ist nicht Bestandteil der UML-Spezifikation, welche sich rein auf den sprachlichen Aspekt der Modellierung beschränkt. Vorgehensmodelle wie der Rational Unified Process (RUP) basieren jedoch auf der Verwendung von UML als Modellierungssprache und können als prozessbasierte Metamodelle zu in UML formulierten Modellen gelten.
In der Softwaretechnik wird in diesem Zusammenhang auch von Methoden gesprochen – die Begriffe werden jedoch uneinheitlich verwendet. Greiffenberg (2003) fasst bspw. die Methode als Komposition aus Sprache (also sprachbasiertem Metamodell) und Vorgehen (prozessbasiertem Metamodell) auf.[8] Bei Holten wird diese Komposition als Technik bezeichnet, wobei sich Methoden nach seiner Auffassung aus verschiedenen solcher Techniken zusammensetzen können.[9]
Weitere Metamodellauffassungen
Neben einer sprachbasierten Metaisierung schlagen Atkinson und Kuehne eine Abstraktion auf ontologischer Basis vor. Dabei werden die Typen nicht über die repräsentierenden Zeichen und Zeichensysteme gebildet, sondern im Sinne einer fachlichen Generalisierung/Spezialisierung abstrahiert.[10] Sprachbasierte und Ontologiebasierte Metaisierung sind dabei jedoch nicht komplett trennscharf, da sprachlichen Zeichen häufig ebenfalls eine fachliche Abstraktion zu Grunde liegt (insbesondere bei Sprachen, die zur Modellierung realweltlicher Phänomene eingesetzt werden). Insbesondere bei domänenspezifischen Sprachen spielt dieser Aspekt eine zentrale Rolle, da hier das sprachbasierte Metamodell gezielt auf abstrahierte Konzepte der Domäne und deren Beziehungen abgestimmt wird.
Alvarez betrachtet die Metaisierung vornehmlich auf einer technischen Ebene und bricht die strenge, schichtenartige Hierarchie der Metamodell-Beziehungen auf. Insbesondere auf Implementationsebene von Modellierungs- bzw. allgemeiner Systementwicklungswerkzeugen sind die unterschiedlich abstrakten Elemente häufig nicht voneinander getrennt.[11]
In der Simulationstechnik und dem Bereich Computersimulation versteht man unter Metamodellen zumeist Approximationsmethoden wie z. B. Splines, Regression und Neuronale Netze, da mit ihrer Hilfe aufwendige Simulationen auf weniger rechenintensive Berechnungen "heruntergerechnet" werden können. Das Original-Modell wird dabei mit Hilfe von definierten Rechenregeln iterativ oder batchartig vereinfacht.
Selbstreferentielle Metamodelle
Das Konzept der Metaisierung lässt potentiell unendlich viele Abstraktionsstufen zu, da die verwendete Modellierungssprache immer wieder Gegenstand eines neuen (Meta-)Modells sein kann. Auf höheren Stufen der Metaisierung ist eine solche Abstraktion jedoch nicht mehr sinnvoll. Hier wird auf selbstreferentielle Metamodelle zurückgegriffen. Beispiel hierfür ist MOF, welche als Meta-Beschreibungssprache nicht nur untergeordnete Sprachen wie UML oder CWM beschreibt, sondern auch sich selbst.
Ein anderes Beispiel wäre ein ERM, welches die Beziehungen von Entitytypen, Relationshiptypen und Kardinalitäten strukturell abbildet. Selbstreferentielle Metamodelle sind in der Regel sprachbasiert.
Metamodellierung im Method Engineering
Die Erstellung von Metamodellen ist zentraler Bestandteil des Method Engineering im Bereich der konzeptuellen Modellierung.[8][12]
Siehe auch
Literatur
- J. Álvarez, A. Evans, P. Sammut: Mapping between Levels in the Metamodel Architecture. (PDF; 137 kB). In: M. Gogola, C. Kobryn (Hrsg.): UML 2001 - The Unified Modeling Language: Modeling Languages, Concepts and Tools. (= Lecture Notes in Computer Science. 2185) Springer, Berlin 2001, S. 34–46.
- C. Atkinson, T. Kühne: Model-Driven Development: A Metamodeling Foundation. (Memento vom 22. Juli 2007 im Internet Archive) (PDF; 185 kB). 2003.
- O. K. Ferstl, E. J. Sinz: Grundlagen der Wirtschaftsinformatik. 4., überarbeitete und erweiterte Auflage. Oldenbourg, München/ Wien 2001.
- S. Greiffenberg: Methodenentwicklung in Wirtschaft und Verwaltung. Verlag Dr. Kovac, Hamburg 2003.
- R. Holten: Entwicklung von Führungsinformationssystemen. Ein methodenorientierter Ansatz. Wiesbaden 1999.
- D. Karagiannis, H. Kühn: Metamodelling Platforms. (Memento vom 10. August 2007 im Internet Archive) (PDF; 153 kB). 2002. ausführliche Diskussion hinsichtlich Software Engineering
- A. W. Scheer: Architektur integrierter Informationssysteme. Springer, Berlin 1992, ISBN 3-540-55401-7.
- H Stachowiak: Allgemeine Modelltheorie. Wien 1973, ISBN 3-211-81106-0.
- S. Strahringer: Metamodellierung als Instrument des Methodenvergleichs: Eine Evaluierung am Beispiel objektorientierter Analysemethoden. Shaker Verlag, Aachen 1996.
- S. Strahringer: Ein sprachbasierter Metamodellbegriff und seine Verallgemeinerung durch das Konzept des Metaisierungsprinzips. (Memento vom 9. September 2013 im Internet Archive) (PDF; 206 kB). In: K. Pohl, A. Schürr, G. Vossen (Hrsg.): CEUR Workshop Proceedings zur Modellierung '98. 1998.
Einzelnachweise
- ↑ H. Stachowiak: Allgemeine Modelltheorie. Wien 1973, ISBN 3-211-81106-0.
- ↑ Alexander Hars: Referenzdatenmodelle: Grundlagen effizienter Datenmodellierung. In: books.google.de. S. 15, abgerufen am 14. August 2015.
- ↑ Transaktionen und Workflows – Prozessstandardisierung und Prozessmodelle. (PDF) In: vsis-informatik.uni-hamburg.de. Abgerufen am 14. August 2015.
- ↑ S. Strahringer: Metamodellierung als Instrument des Methodenvergleichs: Eine Evaluierung am Beispiel objektorientierter Analysemethoden. Shaker Verlag, Aachen 1996.
- ↑ a b A. W. Scheer: Architektur integrierter Informationssysteme. Springer, Berlin 1992, ISBN 3-540-55401-7.
- ↑ S. Strahringer: Metamodellierung als Instrument des Methodenvergleichs: Eine Evaluierung am Beispiel objektorientierter Analysemethoden. Shaker Verlag, Aachen 1996.
- ↑ O. K. Ferstl, E. J. Sinz: Grundlagen der Wirtschaftsinformatik. 4., überarbeitete und erweiterte Auflage. Oldenbourg, München/ Wien 2001.
- ↑ a b S. Greiffenberg: Methodenentwicklung in Wirtschaft und Verwaltung. Verlag Dr. Kovac, Hamburg 2003.
- ↑ R. Holten: Entwicklung von Führungsinformationssystemen. Ein methodenorientierter Ansatz. Wiesbaden 1999.
- ↑ C. Atkinson, T. Kühne: Model-Driven Development: A Metamodeling Foundation. (PDF; 185 kB). 2003.
- ↑ J. Álvarez, A. Evans, P. Sammut: Mapping between Levels in the Metamodel Architecture. In: M. Gogola, C. Kobryn (Hrsg.): UML 2001 - The Unified Modeling Language: Modeling Languages, Concepts and Tools. (= Lecture Notes in Computer Science. 2185). Springer, Berlin 2001, S. 34–46.
- ↑ M. A. Jeusfeld, M. Jarke, J. Mylopoulos (Hrsg.): Metamodeling for Method Engineering. MIT Press, Cambridge MA 2009, ISBN 978-0-262-10108-0. Open access via http://conceptbase.sourceforge.net/2021_Metamodeling_for_Method_Engineering.pdf