UML nach XMI exportieren
Das Austauschformat, das jedes UML-Werkzeug zu sprechen behauptet, und eine ehrliche Auskunft darüber, welche Hälfte Ihres Modells die Reise übersteht.
6 Min. LesezeitXMI 2.5.11 von 3
Die kurze Antwort
- XMI trägt das Modell - Klassen, Attribute, Operationen, Beziehungen - und nicht dessen Bild.
- Das Layout verschwindet, weil der Diagrammaustausch die meiste Zeit optional war und jedes Werkzeug die Lücke mit eigenem Dialekt füllte.
- Exportieren Sie es, wenn das Modell bewegt werden soll. Ein Diagramm neu zu layouten ist ein Nachmittag, vierhundert Klassen neu zu tippen sind zwei Wochen.
- Für ein Bild exportieren Sie SVG oder PNG. XMI ist die herstellerneutrale Option für das Modell und für sonst nichts.
01Was XMI eigentlich ist#
XMI steht für XML Metadata Interchange, und das entscheidende Wort ist Metadaten. Es ist eine mechanische Regel, jedes MOF-basierte Metamodell nach XML zu serialisieren, und UML ist ein solches Metamodell - eine XMI-Datei ist also Ihr Modell, ausgedrückt als Elemente und Attribute, die der Struktur des UML-Metamodells folgen. Eine Klasse wird zu einem packagedElement mit xmi:type="uml:Class", ihre Attribute werden zu verschachtelten ownedAttribute-Elementen, und eine Beziehung wird zu einer Association mit zwei memberEnd-Referenzen.
Das ist die ganze Idee, und sie erklärt die Stärke ebenso wie die berühmte Schwäche. Die Stärke: jedes Werkzeug, das das UML-Metamodell umsetzt, kann diese Elemente lesen, denn sie sind keine Erfindung eines Anbieters. Die Schwäche folgt sofort daraus - nichts im UML-Metamodell sagt, wo eine Klasse auf einer Fläche sitzt. Koordinaten gehören nicht zu dem, wofür XMI entworfen wurde.
02Was übergeht und was nicht#
| Element | Notation | Was es bedeutet |
|---|---|---|
| Klassifizierer | Zuverlässig | Klassen, Schnittstellen, Komponenten, Akteure, Anwendungsfälle - Name, Stereotyp und Paketzuordnung kommen an. |
| Attribute und Operationen | Zuverlässig | Einschließlich Typen, Sichtbarkeit und Multiplizität. Die wertvollere Hälfte der Datei und die, die niemand abtippen will. |
| Beziehungen | Zuverlässig | Assoziationen mit beiden Enden, Generalisierungen, Realisierungen, Abhängigkeiten. |
| Diagrammlayout | Unzuverlässig | Positionen und Größen reisen in einer Anbietererweiterung, die das empfangende Werkzeug meist ignoriert. Rechnen Sie mit einem neuen Layout. |
| Notizen und Constraints | Gemischt | Kommentare überstehen es meist; OCL-Constraints hängen davon ab, ob beide Werkzeuge dieselbe OCL-Version parsen. |
| Werkzeugspezifische Daten | Verloren | Farben, eigene Eigenschaften, Anforderungsverknüpfungen, Testfälle. Nichts davon ist UML, also ist nichts davon XMI. |
Das Muster lohnt sich einmal auszusprechen: XMI trägt, was UML definiert, und sonst nichts. Jede Enttäuschung über das Format kommt aus der Erwartung, es trage etwas, das das Metamodell nie beschrieben hat. Das ist weniger ein Mangel von XMI als eine Antwort auf eine Frage, von der die Fragenden nicht wussten, dass sie sie stellen.
03Nutzen, ohne überrascht zu werden#
Drei Gewohnheiten nehmen den meisten Schmerz. Exportieren Sie zuerst ein kleines Modell und öffnen Sie das XML in einem Texteditor. Zehn Minuten Lesen sagen mehr darüber, was Ihr Werkzeug ausgibt, als jede Dokumentation - und dort entdecken Sie, dass das Layout in einem Erweiterungsblock weiter unten steht.
Importieren Sie in ein Wegwerfprojekt, nie über ein echtes. Ein Import, der teilweise auf ein bestehendes Modell passt, ist weit schwerer rückgängig zu machen als einer, der in einem leeren Container landet, den man wegwerfen kann.
Planen Sie das Neulayout ein, statt zu hoffen. Ein Modell mit hundert Klassen in lesbare Sichten umzuräumen ist ein Tagewerk, und es lohnt sich, das einzupreisen statt es als Fehlschlag zu behandeln, wenn es eintritt. Sollen die Bilder exakt überleben, ist die Antwort nicht XMI, sondern ein natives Dateiformat oder ein Bildexport.
In je einer Zeile
- 01XMI serialisiert das UML-Metamodell, trägt also das Modell und nicht das Bild.
- 02Klassifizierer, Member und Beziehungen gehen zwischen konformen Werkzeugen zuverlässig über.
- 03Layout reist in Anbietererweiterungen und überlebt meist nicht - planen Sie ein Neulayout ein.
- 04Alles, was nicht UML ist - Farben, eigene Felder, Anforderungslinks - steht nicht in der Datei.
- 05Lesen Sie eine exportierte Datei im Texteditor, bevor Sie sich auf das Format verlassen.
04Häufige Fragen#
Wozu dient XMI?
Um ein UML-Modell zwischen Werkzeugen zu bewegen, die kein Dateiformat teilen. Es ist eine XML-Serialisierung des UML-Metamodells, trägt also das Modell - Klassen, Attribute, Operationen und Beziehungen - und nicht dessen Bild.
Warum verschwindet mein Layout beim XMI-Import?
Weil der Diagrammaustausch die meiste Zeit von XMIs Leben ein optionaler Teil des Standards war und die Werkzeuge die Lücke mit eigenen Erweiterungen füllten. Die Elemente kommen an; die Koordinaten, die sie auf einer Fläche platzierten, standen in einem Dialekt, den das empfangende Werkzeug nicht liest.
Lohnt sich ein XMI-Export überhaupt?
Ja, wenn das zu Bewegende das Modell ist. Dafür ist es die einzige herstellerneutrale Möglichkeit, und ein Diagramm neu zu layouten ist ein Nachmittag, während vierhundert Klassen neu zu tippen zwei Wochen sind. Für ein Bild exportieren Sie stattdessen SVG oder PNG.
In dieser Reihe
- 01UML nach XMI
- 02Sparx .qea Rundlauf
- 03UML nach Mermaid
Passend dazu
Modellierungspraxis
Modellierungspraxis
Modellierungspraxis
Strukturdiagramme