Model Driven Software Development Vergleich von Metametamodellen Marcel Hoyer 1von 19
Themenvorstellung Vergleich von Metametamodellen Was sind überhaupt Metametamodelle? Analyse und Vergleich existierender Metametamodelle Marcel Hoyer 2von 19
Agenda Begriffsklärung Vorstellung der untersuchten Metametamodelle Vergleich der Modelle Marcel Hoyer 3von 19
Beispiel FSME Grafik Straßen XML Schema GeoML Metametamodell Metamodell Modell System Marcel Hoyer 4von 19
Übersicht Begriffe Metametamodel (MMM) Metametamodel (MMM) DSL Metamodel (MM) MM Model Model Technological Space representedby conformsto conformsto System MM DSL Model Model Technological Space Marcel Hoyer 5von 19
Übersicht Begriffe Metametamodel (MMM) abstrakte Syntax Metametamodel (MMM) DSL Metamodel (MM) MM Model Model Technological Space representedby conformsto conformsto konkrete Syntax System MMabstrakte Syntax DSL Model konkrete Model Syntax Technological Space Marcel Hoyer 6von 19
Begriffsklärung Aspekte Blick auf Bereich eines Models vergleichbar mit Sichten bei relationalen Datenbanken Aspekt "Signal Flow" Aspekt "Signal State" Modell "Signal Processing" Marcel Hoyer 7von 19
Begriffsklärung Technological Space (Technical Space) Metamodel Model The same program represented in different TS [BEZI05 Figure 11] Marcel Hoyer 8von 19
Agenda Begriffsklärung Vorstellung der untersuchten Metametamodelle Vergleich der Modelle Marcel Hoyer 9von 19
Metametamodelle - MOF MOF (Meta Object Facility) von OMG (Object Management Group) entwickelt (seit 2000) sehr komplexes Metametamodell aktuelle Version 1.4 Proposal für Version 2.0 enthält EMOF (Essintial MOF) als separates MMM Marcel Hoyer 10 von 19
Metametamodelle - Ecore Ecore Metametamodell des EMF (Eclipse Modeling Framework) EMF wurde ursprünglich aus MOF entwickelt jünger als MOF weniger komplex/mächtig Marcel Hoyer 11 von 19
Metametamodelle - MetaGME MetaGME MMM des GME (Generic Modeling Environment) Vanderbilt University, Institute for Software Integrated Systems Marcel Hoyer 12 von 19
Metametamodelle XML Schema XML Schema W3C Recommendation 2000 erste Entwürfe komplexes und mächtiges Metametamodel textuelle oder graphische Erstellung von Metamodellen (zb. mit Altova XML Spy) existierende Metamodelle (zb. BPEL4WS) MMM XML Schema MetaModel bpel4ws.xsd Model proc.bpel System Geschäfts prozess Marcel Hoyer 13 von 19
Agenda Begriffsklärung Vorstellung der untersuchten Metametamodelle Vergleich der Modelle Marcel Hoyer 14 von 19
Vergleich von Metametamodellen MMM (TSpace) MetaGME Ecore MOF XML Schema Tools/ Frameworks GME EMF UML, Common Warehouse MM XML Spy Standards MIC (Model Integrated Computing) MDA (Model Driven Architecture) MDA XML Schema Konzepte Relationen References und Connections; binäre; gerichtet und ungerichtet EReferences; wirken nur in eine Richtung Associations (binär); AssociationEnds; References id, refid; <complextype>; <simpletype> Hierarchien Constraints Folder, Sets, Aspekte ja (OCL = Object Constraint Language) EPackages Packages <group> nein ja (OCL) ja (key, keyref, minoccurs, default, use,...) Datentypen text, integer, double, boolean, enumerated EDataType (Java Datentypen); EEnum v1.3 CORBA TypeCode; v1.4 CORBA TC + CollectionType, StructureType,... string, date, time, token, anyuri, long, int, float, bool, language,... Marcel Hoyer 15 von 19
Vergleich von Metametamodellen MMM (TSpace) MetaGME Ecore MOF XML Schema Komplexität Bewertung Mächtigkeit (keine Constraints, eingeschränkte Relationen) (Sprachunabhän gig, Constraints) (Sprachunabhän gig) Pro/Kontra + Aspekte bereits im MMM integriert - MMM nur bei GME verwendet + einfacher Aufbau -komplexe Metamodelle erfordern mehr Aufwand - fehlende Constraints -stark Java orientiert + sehr mächtig + sprachunabhängig (IDL, XMI) + viele bekannte Metasprachen (UML, CWM) -sehr komplex + sehr mächtig + sprachunabhängig (XML) + großes Spektrum existierender Metasprachen Marcel Hoyer 16 von 19
Weitere Metametamodelle Weitere Metametamodelle KM3 (Kernel Metametamodell) Metametamodell der Microsoft DSL Tools MOF 2.0: EMOF Marcel Hoyer 17 von 19
Quellenangaben [BBCJ05] - Jean Bézivin, Christian Brunette, Régis Chevrel, Frédéric Jouault, Ivan Kurtev: "Bridging the Generic Modeling Environment (GME) and the Eclipse Modeling Framework (EMF)" [BEZI05] - Jean Bézivin: "On the Unification Power of Models" [GR03] - Anna Gerber and Kerry Raymond: "MOF to EMF: There and Back Again" [EMFOV] "The Eclipse Modeling Framework (EMF) Overview" - http://eclipse.org/emf/docs.php?doc=references/overview/emf.html [LMBK01] - Akos Ledeczi, Miklos Maroti, Arpad Bakay, Gabor Karsai,...: "The Generic Modeling Environment" [JECKLE00] Mario Jeckle: "Konzepte der Metamodellierung" Marcel Hoyer 18 von 19
Fragen? Marcel Hoyer 19 von 19