The Basics of XMI
XMI (XML Metadata Interchange) is a product of the OMG (Object Management Group) and has been developed as a fusion of the two standards XML (eXtensible Markup Language - a W3C standard), and MOF (Meta Object Facility - an OMG language for meta-models) for handling the exchange of model and meta data.
As XMI is a sublanguage of XML the data is exchanged by using structured text, which follows the rules of the model. The model itself is defined by a meta model, whereas the structure of this meta model is described by the MOF meta-meta model. Both levels, DTD- and XML-production are derived from the related meta model, the XML-production by using the derivated model (see the graph below).

(modified graph from: Axel Großmann, "XMI für prozedurale Programmstrukturen und Transformationen in UML", 2000)
In the upper graph the four-level-architecture of XMI can be seen, which is valid for every defined meta model (in this special case, only the look at the UML branch is needed):
| 1) |
the meta-meta model level - this level (respectively the meta-meta model) is defined by MOF, and is the only fixed model in the architecture |
| 2) | the meta model level - one example for an XMI metamodel is the model, defined by the UML-DTD (here in version 1.3) which is the one, we are interested in |
| 3) | the model level - these models are the class diagrams we construct in an UML case tool for defining the GXL schemata |
| 4) | the information level - the instances of the GXL schemata, we are describing by the diagrams |
The next picture shows the dependencies between the different levels of hierarchy and abstraction. In the highest level you find the Meta Object Facility (MOF), using the terms of its own definition, defining the UML metamodel, which builds (together with its description - the UML-DTD, which is itself a subset of the MOF-definition) the next level. The GXL schemata are described by UML class diagrams, stored in XMI-code - these build the next level (which is the most interesting one for us). The last and lowest level is the information itself, the GXL graphs, which are defined by the schemata and the corresponding object diagrams, instances of the class diagram.

(modified graph from: Axel Großmann, "XMI für prozedurale Programmstrukturen und Transformationen in UML", 2000)
The next step is, to get an overview of the UML DTD, respectively the constructs defined by it, which are used in the files, storing the created class diagrams, and are therefore interesting for the transformation. You find the code-fragments and the corresponding graph-parts on the next page (xmi/the_uml_dtd).
For more detailed information about XMI, please follow the links below.
|
|
the World Wide Web Consortium |
| the Object Management Group |