Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto Seminar Modellgetriebene Softwareentwicklung Inhalt Motivation XMI Übersicht XMI Beispiele Zusammenfassung Quellen Otto / Paul XMI 2 Seminar Modellgetriebene Softwareentwicklung Motivation I Problem N * N - N = 30 Übergänge (Import / Export) N = 6 Anwendungen App1 App2 App6 App3 App5 Otto / Paul XMI App4 3 Seminar Modellgetriebene Softwareentwicklung Motivation II Ziel 6 Übergänge 6 Anwendungen Software Assets Design Development Tools Database Schema Otto / Paul XMI XMI Repository Reports 4 Seminar Modellgetriebene Softwareentwicklung Was ist XMI? 1999 von der OMG (Object Management Goup) verabschiedeter Standard SMIF(Stream-based Model Interchange Format) -> XMI Ein auf XML basierendes Format XMI ist kein Dateiformat, sondern ein XML Mapping für MOF Speicherung von Objekt-Metadaten Basiert auf MOF Otto / Paul XMI 5 Seminar Modellgetriebene Softwareentwicklung XMI 1.x / 2.x XMI 1.x Definiert XMI mittels DTD XMI 2.x Definiert XMI mittels XML Schema Otto / Paul XMI 6 Seminar Modellgetriebene Softwareentwicklung XMI und XML XMI besteht aus XMI – gültigen XML DTD / Schema XMI – gültigen XML Dokument (Stream) XML Validität eines Dokumentes kann geprüft werden Otto / Paul XMI 7 Seminar Modellgetriebene Softwareentwicklung Möglichkeiten mit XMI (Übersicht) Erzeugen von Erzeugen von MOF Metamodellen aus einer XMI Dokumenten aus einem MOF Metamodell (Beispiel) DTD / Schema aus einem MOF basierten Metamodell DTD XML (Beispiel) XML Schema Transformation mittels XSLT, DOM, SAX-API XMI -> XMI (Modelltransformation) XMI -> XML (HTML, SVG, ...) XMI -> Code (Java, C++, SQL, ...) Otto / Paul XMI 8 Seminar Modellgetriebene Softwareentwicklung Möglichkeiten mit XMI I Erzeugen von XMI Dokumenten aus einem MOF Metamodell DTD / Schema bzgl. des MOF Metamodells vorhanden Speichert Instanz des MOF Metamodells bzgl. der vorhandenen DTD / Schema Otto / Paul XMI 9 Seminar Modellgetriebene Softwareentwicklung XMI Beispiel I UML Klassendiagramm Klasse Max M Attribut Attrib1, Attrib2 Otto / Paul XMI 10 Seminar Modellgetriebene Softwareentwicklung XMI Beispiel II Metamodell Otto / Paul XMI 11 Seminar Modellgetriebene Softwareentwicklung XMI Beispiel III Otto / Paul XMI 12 Seminar Modellgetriebene Softwareentwicklung XMI Beispiel IV Otto / Paul XMI 13 Seminar Modellgetriebene Softwareentwicklung XMI Beispiel V Otto / Paul XMI 14 Seminar Modellgetriebene Softwareentwicklung Möglichkeiten mit XMI II Erzeugen von DTD / Schema aus einem MOF basierten Metamodell Also einer Instanz des Meta-Metamodell (MOF) Definiert ein neues Austauschformat Otto / Paul XMI 15 Seminar Modellgetriebene Softwareentwicklung Erzeugen von DTD / Schema (Beispiel) Beispiel einer Klasse Auto modelliert mit UML Otto / Paul XMI 16 Seminar Modellgetriebene Softwareentwicklung Möglichkeiten mit XMI III Erzeugen von MOF Metamodellen aus einer DTD XML (Beispiel) XML Schema Otto / Paul XMI 17 Seminar Modellgetriebene Softwareentwicklung Erzeugen von MOF Metamodellen aus einer DTD, XML, XML Schema (Beispiel) Erzeugen eines neuen Metamodells Otto / Paul XMI 18 Seminar Modellgetriebene Softwareentwicklung Zusammenfassung XMI als Standard zum objektorientierten Modellaustausch Fördert weitere toolneutrale Aktivitäten Codegenerierung aus OO-Modellen Modellvalidierung Metrikenberechnung Langzeitspeicherung Versionsverwaltung ... Otto / Paul XMI 19 Seminar Modellgetriebene Softwareentwicklung Quellen: XMI Spezifikation Literatursammlung von M. Jeckle http://www.jeckle.de/xmi.htm IBM XMI Opens Application Interchange http://www.omg.org/technology/documents/modeling_spec_c atalog.htm#XMI http://www306.ibm.com/software/awdtools/standards/xmiwhite0399.pdf W3C http://www.w3c.org Otto / Paul XMI 20