Diskussion:Metamodell
Es fehlt der Zusammenhang zu Neuronalen Netzen, Splines, und Regression, die im Bereich Ingenieurwissenschaften als Metamodelle bezeichnet werden. Auch fehlt der Zusammenhang zu Simulationstechnik und Computersimulationen. Werde das jetzt ergänzen. (nicht signierter Beitrag von 80.131.133.64 (Diskussion) 10:09, 19. Aug. 2010 (CEST))
Ich würde einige Punkte zur Überarbeitung / Ergänzung des Artikels vorschlagen, die ich vor einem Eingriff gerne zur Diskussion stellen möchte:
- Der verwendete Methodenbegriff ist nicht ganz eindeutig, der verlinkte Artikel stützt die Argumentation nicht
- Implizit wird behauptet, Metamodelle seien Modelle von "realen Systemen" (da sie Modelle von Methoden sind, welche nach Auffassung des Artikels reale Systeme seien). Dem ist aber nicht grundsätzlich so: sprachbasierte Metamodelle (z.B. das UML-Metamodell formuliert in MOF) beschreiben ausschließlich formale Systeme (im Fall der UML: ein Zeichensystem / eine Sprache). Metamodelle können also sowohl formale (Sprachen), als auch reale Systeme (Vorgehensmodelle) beschreiben.
- Das Konzept der selbstreferenziellen Metamodelle wird nicht klar genug beschrieben. Außerdem ensteht der Eindruck, Metamodelle wären grundsätzlich selbstreferenziell, was Sie per se aber nicht sind (jedoch sein können).
- Es wäre sinnvoll, auf die Unterscheidung zw. sprachbasierten und prozessbasierten Metamodellen einzugehen (siehe Punkt 2, Lit: z.B.: Strahringer)
- Der Verweis zu QVT ist hier nicht vordergründig relevant. Wenn man einen OMG-Standard zitieren will, wäre die Meta Objects Facility (MOF) deutlich interessanter in diesem Zusammenhang.
Gruß Milan
Die oben diskutierten Punkte sind in die überarbeitete Version des Artikels eingeflossen.
--MilanKarow 11:15, 25. Jan. 2010 (CET)
Die Angaben unter "Als Beispiel:" sind leider falsch. Ein Metamodell ist vereinfacht ein Modell eines Modells. Diese einfache, jedoch unpräzisierte Definition erlaubt die Darlegung des Beispiels: Beschreibt ein Modell M1 (unmittelbar) die Sprache S0, in der ein Modell M0 formuliert ist, so ist M1 sprachbasiertes Metamodell im Hinblick auf den Gegenstand (Miniwelt), den M0 repräsentiert. M1 ist und bleibt ein mittelbares Modell von M0. Es ist eben kein Metamodell im Hinblick auf M0. Wäre dem so, dann wäre M1 Metametamodell, also Metamodell im Hinblick auf M0 und Metametamodell im Hinblick auf den Gegenstand, den M0 abstrakt repräsentiert.
Stephan Schneider (nicht signierter Beitrag von 79.223.206.184 (Diskussion | Beiträge) 22:49, 28. Apr. 2010 (CEST))
@Stephan:
Die Frage hängt von der Auffassung des Metamodellbegriffs ab. Strahringer sieht darin die Beziehung eines Modells zu einem anderen Modell - d.h. ein Modell kann immer nur Metamodell zu einem anderen Modell (hinsichtlich Sprache oder Prozess) sein. Aus diesem Grund ist M1 nicht das Metamodell zum Gegenstandsbereich, sondern zu dessen Modell M0. Da die "Miniwelt" kein Modell ist, hat sie auch weder ein Metamodell noch ein Meta-Metamodell.
Die von Dir genannte Auffassung findet sich z.B. bei Holten wieder. Sie führt allerdings zu einem Problem: Ich benötige immer einen Bezug zu einem modellierten Original. D.h. es gibt nicht ein Metamodell (M1) z.B. für alle UML-Klassendiagramme (Menge der M0), sondern nur ein Metamodell (M1) für alle in UML-Klassendiagrammen darstellbare Originale (Menge der "Miniwelten"). Unter Umständen existieren diese Originale aber (noch) gar nicht, bzw. sind ohnehin nicht objektiv definierbar (siehe konstruktivistischer Modellbegriff).
Außerdem: Auf der nächsten Ebene müßte ich den Metamodell-Begriff konsequenterweise wieder auf den Gegenstandsbereich führen. Sei M0 ein Aktivitätsdiagramm (UML = Sprache S0), M1 ein sprachbasiertes Metamodell (nach dieser Auffassung: zur Miniwelt) formuliert als ER-Modell (S1), und M2 ein Petrinetz (S2) welches den Prozess der Erstellung von M1 darstellt.
Dann wäre das Petri-Netz M2 nach dieser Definition ein (prozessbasiertes) Metamodell zur Sprache Aktivitätsdiagramm (S0) - das wäre eine etwas verwirrende Aussage, stellt M2 doch die Erstellung von ER-Diagrammen dar.
Das Beispiel im Artikel ist also gemäß der Strahringerschen Begriffsauffassung korrekt.
p.s.: Umgangssprachlich wird der Begriff ja häufig (und zwar wirklich falsch) noch weiter verkürzt. Mit dem "Metamodell der UML" ist in der Regel das (unmittelbare) Modell der Sprache gemeint. Metamodell ist dieses Modell dann aber hinsichtlich der konkreten Modelle, die in UML formuliert werden oder - nach der alternativen Deutung - hinsichtlich der modellierten Gegenstandsbereiche.
--MilanKarow 14:17, 1. Jun. 2010 (CEST)
@Milan Ich kenne die Metamodellauffassung von Frau Strahringer nur allzu gut, da ich bei ihr promoviert habe. Ich habe in meiner Dissertationsschrift mit dem strukturbasierten Metaisierungsprinzip ein weiteres Metaisierungsprinzip abgegrenzt (siehe Lit. (1) und (2)).
Der von Dir erwähnte Holten rekurriert bei seiner Metamodelldarlegung auch auf die Arbeiten von Strahringer. Deine Aussage, ein Metamodell ist immer Metamodell hinsichtlich eines Modells, beinhaltet noch einen kleinen Denkfehler bzw. eine Ungenauigkeit. Unter Umständen sprechen wir auch nur etwas aneinander vorbei (wäre aber nicht schlimm). Einem Metamodell (M1M) liegt immer ein Modell (M0M) zugrunde, wenn es darum geht, einen bestimmten Aspekt (Metaisierungsprinzip) der Modellkonstruktion (für M0M) abstrakt in einem Metamodell (in M1M) abzubilden. Das Metamodell (M1M) ist immer mittelbares Modell eines Modells (M0M) und ummittelbares Modell desjenigen Aspekts, der der Modellbildung von M0M zugrundeliegt. Genau das findet sich auch in der Dissertationsschrift von Strahringer auf S. 28, wenn sie Metamodelle formalisiert. Der Index i steht zwischen den zwei M's, was bedeutet: Metamodell (M i M) := Modell eines Modells (M i-1 M) auf Abstraktionsebene i (für alle i = 1, ..., n).
Der Schlüssel zur Erkenntnis liegt in der Aussage, dass ein Metamodell ein Modell eines Modells ist, und eben kein Metamodell eines Modells. Da die Metaeigenschaft nach Strahringer eine rollenspezifische Eigenschaft ist, d.h. jedes Modell kann Metamodell sein bzw. die Metaeigenschaft eines Modells ist keine absolute Eigenschaft eines Modells, ist das "Metamodell eines Modells" absolut zum Original der Modellbildung betrachtet ein Metametamodell, also ein Modell auf Abstraktionsebene 2 (Ebene -1: Orginal; Ebene 0: Modell; Ebene 1: Metamodell; Ebene 2: Metametamodell). Die Trennung in sprach-, prozess- und strukturbasierte Metaisierung führt dazu, dass der Rollenspezifität der Metaeigenschaft Tribut gezollt wird. Innerhalb eines Metaisierungsprinzips sind demnach absolute Betrachtungen in Ordnung.
Und exakt hier sind auch die sehr guten Abhandlungen der Meta(modell)thematik in (3) und (4) sehr hilfreich. Kühne formalisiert (Meta-)Modellbegrifflichkeiten und konstatiert, dass ein Metamodell eine zweistufige Distanziertheit zum im Modell (M0M) abgebildeten Original aufweisen muss, um als Metamodell bezeichnet werden zu können.
Auch sehe ich die Existenz eines Originals nicht als Problem. Ein Original muss nicht zwangsläufig real sein, es kann als rein ideelles System auch nur rein gedanklicher Art sein. Ungeachtet dessen liegt einer Modellkonstruktion immer ein Original zugrunde, und sei es nur der Geist ohne Bezug zur realen Außenwelt.
Ich denke, dass wir korrekterweise in einem Punkt übereinstimmen: Die Metaeigenschaft eines Modells ist immer eine aus der Betrachtungsweise resultierende Eigenschaft eines Modells. Strahringer spricht in diesem Zusammenhang eben von der rollenspezifischen Eigenschaft des Metabegriffs. Man darf nur nicht den sprachlichen Fehler machen und sagen: Ein Metamodell ist Metamodell eines Modells.
Ein Metamodell (MM) ist zusammengefasst
- Modell eines Modells (M) im Hinblick auf einen Aspekt (Metaisierungsprinzip: z.B. Sprache, Prozess) der Modellbildung für M und
- Metamodell im Hinblick auf den Gegenstand (Original), der der Modellbildung für M zugrunde liegt (Stichwort: Zweistufige Distanziertheit).
Literatur:
- Schneider, S. (2007). Konstruktion generischer Datenmodelle auf fachkonzeptioneller Ebene im betrieblichen Anwendungskontext: Methode und Studie. Research in Information Systems, Band 5. Diss., Oestrich-Winkel, European Business School. 2007. Aachen: Shaker Verlag.
- Schneider, S. (2008). Harmonisierung von Metaisierungsprinzipien und Methodenbausteinen. In Desel, J., Glinz, M. (Hrsg.): Modellierung in Lehre und Weiterbildung. Technischer Bericht ifi-2008.04, S. 47-57. Workshop auf der Modellierung 2008, 13.03.2008, Berlin. Universität Zürich, Institut für Informatik. ftp://ftp.ifi.uzh.ch/pub/techreports/TR-2008/ifi-2008.04.pdf.
- Kühne, T. (2006): Matters of (Meta-)Modelling. In: Journal on Software and Systems Modeling, Vol. 5, Nr. 4, December 2006, S. 369-385.
- Hesse, W. (2006): More Matters on (Meta-)Modelling – Remarks on Thomas Kühne's "matters". In: Software and Systems Modeling (SoSyM) Vol. 5, Nr. 4, 2006, S. 387-394.
Stephan Schneider--79.223.218.171 22:14, 15. Aug. 2010 (CEST)
Hallo Stefan,
ich bin mir ziemlich sicher, dass wir im Kern das Gleiche meinen. Wenn ich sage, dass ein Modell A das Meta-Modell zu einem Modell B (oder hinsichtlich eines Modells B) ist, meine ich exakter formuliert, dass Modell A einen Aspekt der Modellbildung von B darstellt. Das dürfte Deiner Erklärung entsprechen. Ich will damit nicht aussagen, dass A das Metamodell des Modells B in dem Sinne sei, dass B ein Original zu A darstellen würde (das tut es ja tatsächlich nicht). Die sprachliche Verkürzung erlaubt mir lediglich eine begriffliche Beziehung zwischen A und B zu formulieren. Dahingehend war auch mein Einwand mit dem Original gemeint, welches ich sprachlich nicht zwingend referenzieren können muss.
Letztlich wehre ich mich nur gegen die Formulierung, dass ein Modell "Metamodell im Hinblick auf den Gegenstand (Original)" sei, denn zwischen dem Objektsystem und dem Metamodell existiert per se kein Bezug. Der Bezug wird indirekt erst durch die Handlung der Modellkonstruktion hergestellt. Wenn ich beispielsweise das selbe Objektsystem in zwei verschiedenen Modellierungssprachen rekonstruiere, hätte ich zwei "Metamodelle des Objektsystems". Ohne die jeweiligen Modelle in diese Relation einzubeziehen, hat diese Aussage also keinen Sinn - entsprechend formulierst Du auch "Metamodell im Hinblick auf den Gegenstand (Original), der der Modellbildung für M zugrunde liegt".
Andererseits brauche ich das konkrete Objektsystem (z.B: Organisation XY oder Datenbank Z) aber gar nicht als Referenz, um die Beziehung zwischen einem Modell und dem Metamodell herzustellen: mit der Aussage, dass es sich bei ersterem um ein Modell handelt impliziere ich die Modellbildung (und damit die generelle Existenz eines Originals, welches ich aber nicht näher spezifizieren muss). Das Modell, welches diese Modellbildung (in einem Aspekt) representiert ist dann das Metamodell "zu" diesem Modell.
Ich denke wir sind uns in den zentralen Punkten einig:
- ein Metamodell ist nicht Modell eines Modells, d.h. ein Metamodell hat nicht ein Modell als Original
- die Existenz eines Metamodells impliziert zwei Modellierungsvorgänge: den, den das Metamodell in einem Aspekt abbildet (Modellierung des Originals "Objektsystem") und den der Erstellung des Metamodells selbst (Modellierung des Originals "Modellbildungsaspekt")
- ein Modell A kann nur dann Metamodell sein, wenn mindestens ein Modell B existiert, dessen Modellbildung in irgendeiner Form durch A repräsentiert wird
Ich denke es existiert nur ein normativer Unterschied zwischen meiner Formulierung "A ist ein Metamodell zu B" und Deiner Formulierung "A ist ein Metamodell hinsichtlich des Gegenstands, der der Bildung von B zu Grunde liegt".
Viele Grüße Milan --128.176.158.250 14:04, 3. Sep. 2010 (CEST)
Mittelbarkeit
Sowohl im Artikel als auch in der durchaus interessanten Diskussion fallen die Begriffe "mittelbar" und "unmittelbar".
Was kann man sich in Bezug auf Modellierung darunter vorstellen?
unmittelbares Modell einer Modellierungssprache = Modell einer Modellierungssprache
mittelbares Modell eines Modells = Metamodell eines Modells
?
194.118.188.77 21:10, 5. Jun. 2013 (CEST)
Anhand einer der beiden Grafiken zur sprach- und prozessbasierten Metaisierung lassen sich die Adjektive mittelbar (indirekt) und unmittelbar (direkt) gut erklären. Ich picke mir mal die sprachbasierte Metaisierung zur Erklärung heraus. Vorab muss aber eines ganz klar sein: Ein Modell M ist die konstruierte Abstraktion eines Original O; formal: M = f(O). Die Metaeigenschaft eines Modells ist keine absolute Eigenschaft eines Modells. Ein Modell ist nicht per se ein Metamodell, sondern immer nur ein Metamodell im Hinblick auf Etwas. Die Metaeigenschaft ist somit eine Rolle, die ein Modell einnimmt. Dadurch kann ein und dasselbe Modell auch Metamodell, Metametamodell, Metametametamodell usw. werden.
So, und nun zurück zur Frage. Das Modell M repräsentiert abstrakt die Miniwelt, oder besser ein Original. Das Modell M ist mithilfe einer bestimmter Sprache S formuliert. Wird nun die Sprache S in einem Modell MM beschrieben, so ist MM ein unmittelbares Modell der Sprache S. Das Adjektiv unmittelbar bringt ein Metaisierungsprinzip (derjenige Aspekt bei einem Modell, der abstrahiert in einem Modell, genauer Metamodell, repräsentiert wird) - hier die Sprache - zum Ausdruck. Ein Metamodell ist zwar vereinfacht ausgedrückt immer ein Modell eines Modells, dies ist jedoch wie auch weiter oben ausführlich diskutiert, viel zu ungenau. Deshalb greift man sich einen bestimmten Aspekt (z.B. Sprache) eines Modells heraus und beschreibt diesen Aspekt abstrakt wiederum in einem Modell. Das Adjektiv unmittelbar ist also als Hinweis auf ein bestimmtes Metaisierungsprinzip zu verstehen. Das Modell MM ist nun sprachbasiertes Metamodell im Hinblick auf die Miniwelt (Stichwort: zweistufige Distanziertheit), falls MM die Sprache S beschreibt, mit der das Modell M formuliert ist. Das Modell MM ist nur mittelbares Modell von M, da es eben durch diverse Metaisierungsprinzipien und deren orthogonale Kombinationen eben so viele Modelle M gibt, die sich aus MM ableiten lassen. Das Adjektiv mittelbar bringt also zum Ausdruck, dass das Modell MM nicht direkt, sondern indirekt das Modell M abstrakt repräsentiert. Direkt repräsentiert MM nämlich immer einen konkreten Aspekt, der bei der Modellbildung von M relevant ist (Sprache, Prozess, Struktur).
Deine Vorstellungen
unmittelbares Modell einer Modellierungssprache = Modell einer Modellierungssprache
mittelbares Modell eines Modells = Metamodell eines Modells
stimmen somit nicht ganz. Die erste Vorstellung ist richtig, die zweite leider falsch, da ein mittelbares Modell eines Modells zwar ein Metamodell ist, jedoch kein Metamodell eines Modells, sondern ein Metamodell eines Originals.
Stephan Schneider--79.223.207.24 10:43, 14. Mär. 2014 (CET)