Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul2 Inhalt Motivation XMI Übersicht XMI Beispiele Zusammenfassung Quellen
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul3 Motivation I Problem N * N - N = 30 Übergänge (Import / Export) N = 6 Anwendungen App2 App4App5 App1 App6App3
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul4 Motivation II Ziel 6 Übergänge 6 Anwendungen Development Tools Reports Database Schema Design Software Assets Repository XMI
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul5 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
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul6 XMI 1.x / 2.x XMI 1.x Definiert XMI mittels DTD XMI 2.x Definiert XMI mittels XML Schema
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul7 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
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul8 Möglichkeiten mit XMI (Übersicht) Erzeugen von XMI Dokumenten aus einem MOF Metamodell (Beispiel) DTD / Schema aus einem MOF basierten Metamodell Erzeugen von MOF Metamodellen aus einer DTD XML (Beispiel) XML Schema Transformation mittels XSLT, DOM, SAX-API XMI -> XMI (Modelltransformation) XMI -> XML (HTML, SVG,...) XMI -> Code (Java, C++, SQL,...)
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul9 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
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul10 XMI Beispiel I UML Klassendiagramm Klasse Max M Attribut Attrib1, Attrib2
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul11 XMI Beispiel II Metamodell
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul12 XMI Beispiel III
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul13 XMI Beispiel IV
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul14 XMI Beispiel V
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul15 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
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul16 Erzeugen von DTD / Schema (Beispiel) Beispiel einer Klasse Auto modelliert mit UML
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul17 Möglichkeiten mit XMI III Erzeugen von MOF Metamodellen aus einer DTD XML (Beispiel) XML Schema
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul18 Erzeugen von MOF Metamodellen aus einer DTD, XML, XML Schema (Beispiel) Erzeugen eines neuen Metamodells
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul19 Zusammenfassung XMI als Standard zum objektorientierten Modellaustausch Fördert weitere toolneutrale Aktivitäten Codegenerierung aus OO-Modellen Modellvalidierung Metrikenberechnung Langzeitspeicherung Versionsverwaltung ...
Seminar Modellgetriebene Softwareentwicklung XMIOtto / Paul20 Quellen: XMI Spezifikation atalog.htm#XMI atalog.htm#XMI Literatursammlung von M. Jeckle IBM XMI Opens Application Interchange ibm.com/software/awdtools/standards/xmiwhite0399.pdf ibm.com/software/awdtools/standards/xmiwhite0399.pdf W3C