XML Metadata Interchange

The XML Metadata Interchange (XMI) is an Object Management Group (OMG) standard for exchanging metadata information via Extensible Markup Language (XML).

It can be used for any metadata whose metamodel can be expressed in Meta-Object Facility (MOF).

The most common use of XMI is as an interchange format for UML models, although it can also be used for serialization of models of other languages (metamodels).

Filename extension.xmi
Internet media typeapplication/vnd.xmi+xml
Type codeTEXT
Developed byObject Management Group
Latest release
(June 2015)
Type of formatMarkup language
Extended fromXML
StandardMOF 2 XMI Mapping
Open format?yes


In the OMG vision of modeling, data is split into abstract models and concrete models. The abstract models represent the semantic information, whereas the concrete models represent visual diagrams. Abstract models are instances of arbitrary MOF-based modeling languages such as UML or SysML. For diagrams, the Diagram Interchange (DI, XMI[DI]) standard is used. At the moment there are several incompatibilities between different modeling tool vendor implementations of XMI, even between interchange of abstract model data. The usage of Diagram Interchange is almost nonexistent. This means exchanging files between UML modeling tools using XMI is rarely possible.

One purpose of XML Metadata Interchange (XMI) is to enable easy interchange of metadata between UML-based modeling tools and MOF-based metadata repositories in distributed heterogeneous environments. XMI is also commonly used as the medium by which models are passed from modeling tools to software generation tools as part of model-driven engineering.

Integration of industry standards

XMI integrates four industry standards:

  • XML – Extensible Markup Language, a W3C standard.
  • UML – Unified Modeling Language, an OMG modeling standard.
  • MOF – Meta Object Facility, an OMG language for specifying metamodels.
  • MOF – Mapping to XMI

The integration of these four standards into XMI allows tool developers of distributed systems to share object models and other metadata.

Several versions of XMI have been created: 1.0, 1.1, 1.2, 2.0, 2.1, 2.1.1, 2.4, 2.4.1, 2.4.2. and 2 5.1. The 2.x versions are radically different from the 1.x series.

Version Release date URL
2.5.1 June 2015 http://www.omg.org/spec/XMI/2.5.1
2.4.2 April 2014 http://www.omg.org/spec/XMI/2.4.2
2.4.1 August 2011 http://www.omg.org/spec/XMI/2.4.1
2.4 March 2011 http://www.omg.org/spec/XMI/2.4
2.1.1 December 2007 http://www.omg.org/spec/XMI/2.1.1
2.1 September 2005 http://www.omg.org/spec/XMI/2.1

There are now other XML standards for representing metadata. One of the most recent is the Web Ontology Language (OWL) (but ontologies are a very specialized kind of metadata, and OWL has no built-in support for most of the information represented in UML). OWL is built upon the Resource Description Framework (RDF).

The Diagram Definition OMG project is another alternative, which can also express the layout and graphical representation.[1]

XMI is an international standard:

XMI 2.4.2
ISO/IEC 19509:2014 Information technology — XML Metadata Interchange (XMI)
XMI 2.0
ISO/IEC 19503:2005 Information technology — XML Metadata Interchange (XMI)

See also


  1. ^ OMG (2012-07-01). "Diagram Definition, Version 1.0". Retrieved 2013-02-21.

External links

Common warehouse metamodel

The common warehouse metamodel (CWM) defines a specification for modeling metadata for relational, non-relational, multi-dimensional, and most other objects found in a data warehousing environment. The specification is released and owned by the Object Management Group, which also claims a trademark in the use of "CWM".

Eclipse Modeling Framework

Eclipse Modeling Framework (EMF) is an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model.

From a model specification described in XML Metadata Interchange (XMI), EMF provides tools and runtime support to produce a set of Java classes for the model, a set of adapter classes that enable viewing and command-based editing of the model, and a basic editor. Models can be specified using annotated Java, UML, XML documents, or modeling tools, then imported into EMF. Most important of all, EMF provides the foundation for interoperability with other EMF-based tools and applications.

List of International Organization for Standardization standards, 18000-19999

This is a list of published International Organization for Standardization (ISO) standards and other deliverables. For a complete and up-to-date list of all the ISO standards, see the ISO catalogue.The standards are protected by copyright and most of them must be purchased. However, about 300 of the standards produced by ISO and IEC's Joint Technical Committee 1 (JTC1) have been made freely and publicly available.

Meta-Object Facility

The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be created and manipulated. The official reference page may be found at OMG's website.

Metadata publishing

Metadata publishing is the process of making metadata data elements available to external users, both people and machines using a formal review process and a commitment to change control processes.

Metadata publishing is the foundation upon which advanced distributed computing functions are being built. But like building foundations, care must be taken in metadata publishing systems to ensure the structural integrity of the systems built on top of them.

Metadata registry

A metadata registry is a central location in an organization where metadata definitions are stored and maintained in a controlled method.

A metadata repository is the database where metadata is stored. The registry also adds relationships with related metadata types.

Model-driven architecture

Model-driven architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model-driven architecture is a kind of domain engineering, and supports model-driven engineering of software systems. It was launched by the Object Management Group (OMG) in 2001.

Object-oriented analysis and design

Object-oriented analysis and design (OOAD' is a popular technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the development life cycles to foster better stakeholder communication and product quality.

According to the popular guide Unified Process, OOAD in modern software engineering is best conducted in an iterative and incremental way. Iteration by iteration, the outputs of OOAD activities, analysis models for OOA and design models for OOD respectively, will be refined and evolve continuously driven by key factors like risks and business value.

Object Constraint Language

The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language extension for UML. OCL may now be used with any Meta-Object Facility (MOF) Object Management Group (OMG) meta-model, including UML. The Object Constraint Language is a precise text language that provides constraint and object query expressions on any MOF model or meta-model that cannot otherwise be expressed by diagrammatic notation. OCL is a key component of the new OMG standard recommendation for transforming models, the Queries/Views/Transformations (QVT) specification.

Open Control Architecture

The Open Control Architecture (OCA) is a communications protocol architecture for control, monitoring, and connection management of networked audio and video devices. Such networks are referred to as "media networks".

The official specification of OCA is the Audio Engineering Society (AES) standard known as AES70-2015, or just AES70. This document will use the newer term "AES70" to refer to the standard and the architecture it specifies.

AES70 is an open standard that may be used freely, without licenses, fees, or organization memberships.

Platform-specific model

A platform-specific model is a model of a software or business system that is linked to a specific technological platform (e.g. a specific programming language, operating system, document file format or database). Platform-specific models are indispensable for the actual implementation of a system.

For example, a need to implement an online shop. The system will need to store information regarding users, goods, credit cards, etc. The designer might decide to use for this purpose an Oracle database. For this to work, the designer will need to express concepts (e.g. the concept of a user) in a relational model using the Oracle's SQL dialect. This Oracle's specific relational model is an example of a Platform-specific model.

The term platform-specific model is most frequently used in the context of the MDA approach. This MDA approach corresponds the OMG vision of Model Driven Engineering. The main idea is that it should be possible to use a MTL to transform a Platform-independent model into a Platform-specific model. In order to achieve this transformation, one can use a language compliant to the newly defined QVT standard. Examples of such languages are AndroMDA, VIATRA or ATL.

Systems Modeling Language

The Systems Modeling Language (SysML) is a general-purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems.

SysML was originally developed by an open source specification project, and includes an open source license for distribution and use. SysML is defined as an extension of a subset of the Unified Modeling Language (UML) using UML's profile mechanism. The language's extensions were designed to support systems engineering activities.

UML tool

A UML tool or Unified Modeling Language tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language (UML), which is the industry standard general-purpose modeling language for software engineering.

UML tool is used broadly here to include application programs which are not exclusively focused on UML, but which support some functions of the Unified Modeling Language, either as an add-on, as a component or as a part of their overall functionality.


In computing, UML eXchange Format (UXF) is a XML-based model interchange format for Unified Modeling Language (UML), which is a standard software modeling language. UXF is a structured format described in 1998 and intended to encode, publish, access and exchange UML models.More recent alternatives include XML Metadata Interchange and OMG's Diagram Definition standard.

Unified Modeling Language

The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.The creation of UML was originally motivated by the desire to standardize the disparate notational systems and approaches to software design. It was developed by Grady Booch, Ivar Jacobson and James Rumbaugh at Rational Software in 1994–1995, with further development led by them through 1996.In 1997 UML was adopted as a standard by the Object Management Group (OMG), and has been managed by this organization ever since. In 2005 UML was also published by the International Organization for Standardization (ISO) as an approved ISO standard. Since then the standard has been periodically revised to cover the latest revision of UML.


XMI may refer to:

The IATA airport code of Masasi Airport

XML Metadata Interchange, a standard for exchanging metadata information

ISO standards by standard number

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.