Previous | Table of Contents | Next |
The purpose of XMI is to allow the interchange of models in a serialized form. Since the MOF is the OMG’s adopted technology
for representing metadata, it is natural that XMI focuses on the interchange of MOF metadata; that is, metadata conforming
to a MOF metamodel. In fact, XMI is really a pair of parallel mappings: one between MOF metamodels and XML DTDs, and another
between MOF metadata and XML documents.
XMI can be viewed as a common metadata interchange format that is independent of middleware technology. Any metadata repository
or tool that can encode and decode XMI streams can exchange metadata with other repositories or tools with the same capability.
There is no need for products to implement the MOF-defined CORBA interfaces, or even to “speak? CORBA at all.
XMI provides a possible route for interchange of metadata with repositories whose metamodels are not MOF based. This interchange
can be realized by ad hoc mappings between an XMI document and the repository’s native metamodel.
XMI is based on the W3C’s Extensible Markup Language (XML), and has two major components:
• The XML DTD Production Rules for producing XML Document Type Definitions (DTDs) for XMI encoded metadata. XMI DTDs serve as syntax specifications for XMI documents, and allow generic XML tools to be used to compose and validate XMI documents.
• The XML Document Production Rules for encoding metadata into an XML compatible format. The production rules can be applied in reverse to decode XMI documents and reconstruct the metadata.
XMI supports the interchange of any kind of metadata that can be expressed using the MOF specification. It supports the encoding
of metadata consisting of both complete models and model fragments, as well as tool-specific extension metadata. XMI has optional
support for interchange of metadata in differential form, and for metadata interchange with tools that have incomplete understanding
of the metadata.