Benutzer Diskussion:MilanKarow
Der Begriff Metamodell setzt sich zusammen aus dem Präfix Meta (in diesem Zusammenhang [griech.] "über", bzw. "neben"), welches die mit diesem Modell getroffenen Aussagen auf einer inhaltlich höher gestellten Ebene indiziert, und dem Modellbegriff der (Wirtschafts-) Informatik.
Modelle beziehen sich grundsätzlich auf ein irgendwie geartetes Original (vgl. Stachowiak 1973), 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 von konzeptuellen oder formalen Beschreibungsmodellen. 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.
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.
Sprachbasiertes Metamodell
[Quelltext bearbeiten]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.
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).
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
[Quelltext bearbeiten]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 dynamisches Modell, welches Handlungsanweisungen und Reihenfolgevorgaben für die Erstellung eines Modells (bspw. des Modells einer betrieblichen Organisation, oder einer zu entwickelnden Software) spezifiziert. 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) oder beim Semantischen Objektmodell (Ferstl/Sinz 2001). 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. Bei Holten wird diese Komposition als Technik bezeichnet, wobei sich Methoden nach seiner Auffassung aus verschiedenen solcher Techniken zusammensetzen können.
Weitere Metamodellauffassungen
[Quelltext bearbeiten]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. 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.
Selbstfererentielle Metamodelle
[Quelltext bearbeiten]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
[Quelltext bearbeiten]Die Erstellung von Metamodellen ist zentraler Bestandteil des Method Engineering im Bereich der konzeptuellen Modellierung.
Siehe auch
[Quelltext bearbeiten]Literatur
[Quelltext bearbeiten]- Álvarez, J., Evans, A., Sammut, P.: Mapping between Levels in the Metamodel Architecture, In: Gogola, M. (Hrsg.); Kobryn, C. (Hrsg.): UML 2001 - The Unified Modeling Language: Modeling Languages, Concepts and Tools. Lecture Notes in Computer Science 2185, Springer, Berlin 2001 S.34-46
- Atkinson, C., Kühne, T.: Model-Driven Development: A Metamodeling Foundation, 2003
- Ferstl, O. K.; Sinz, E. J.: Grundlagen der Wirtschaftsinformatik 4., überarbeitete und erweiterte Auflage, Oldenbourg, München; Wien 2001
- Greiffenberg, S.: Methodenentwicklung in Wirtschaft und Verwaltung. Verlag Dr. Kovac, Hamburg 2003
- Holten, R., Entwicklung von Führungsinformationssystemen. Ein methodenorientierter Ansatz, Wiesbaden 1999.
- Karagiannis, D., Kühn, H. (2002): Metamodelling Platforms - ausführliche Diskussion hinsichtlich Software Engineering
- Scheer, A. W.: Architektur integrierter Informationssysteme. Springer, Berlin 1992, ISBN 3-540-55401-7
- Stachowiak, H.; Allgemeine Modelltheorie, Wien 1973. ISBN 3-211-81106-0
- Strahringer, S.: Metamodellierung als Instrument des Methodenvergleichs: Eine Evaluierung am Beispiel objektorientierter Analysemethoden. Shaker Verlag Aachen,1996