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 .
8-492: 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
16-490: Is a stub . You can help Misplaced Pages by expanding it . 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) , a platform-independent model (PIM). The most common use of XMI
24-497: Is as an interchange format for UML models, although it can also be used for serialization of models of other languages (metamodels). 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,
32-454: 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 . Examples of XMI, and lists of the XML tags that make up XMI-formatted files, are available in
40-475: The Diagram Interchange (DI, XMI[DI]) standard is used. There are currently 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)
48-456: The foundation for interoperability with other EMF-based tools and applications. Ecore is the core (meta-)model at the heart of EMF. It allows expressing other models by leveraging its constructs. Ecore is also its own metamodel (i.e.: Ecore is defined in terms of itself). According to Ed Merks , EMF project lead, "Ecore is the defacto reference implementation of OMG 's EMOF " (Essential Meta-Object Facility). Still according to Merks, EMOF
56-424: The version 2.5.1 specification document. XMI integrates 4 industry standards: The integration of these 4 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. The Diagram Definition OMG project
64-622: Was actually defined by OMG as a simplified version of the more comprehensive 'C'MOF by drawing on the experience of the successful simplification of Ecore's original implementation. Using Ecore as a foundational meta-model allows a modeler to take advantage of the entire EMF ecosystem and tooling - in as much as it's then reasonably easy to map application-level models back to Ecore. This isn't to say that it's best practice for applications to directly leverage Ecore as their metamodel; rather they might consider defining their own metamodels based on Ecore. This software-engineering -related article
#498501