HOME

TheInfoList



OR:

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 A data model is an abstract model that organizes elements of data and Standardization, standardizes how they relate to one another and to the properties of real-world Entity, entities. For instance, a data model may specify that the data element ...
. 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 Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. T ...
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.


Ecore

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 Ed, ed or ED may refer to: Arts and entertainment * ''Ed'' (film), a 1996 film starring Matt LeBlanc * Ed (''Fullmetal Alchemist'') or Edward Elric, a character in ''Fullmetal Alchemist'' media * ''Ed'' (TV series), a TV series that ran fro ...
, EMF project lead, "Ecore is the defacto reference implementation of OMG's EMOF" (Essential Meta-Object Facility). Still according to Merks, EMOF 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.


See also

*
Acceleo Acceleo is an open-source code generator from the Eclipse Foundation that allows people to use a model-driven approach to building applications. It is an implementation of the " MOFM2T" standard, from the Object Management Group (OMG), for perfo ...
, a code generator using EMF models in input * ATL, a model transformation language *
Connected Data Objects Connected Data Objects (CDO) is a free implementation of a Distributed Shared Model on top of the Eclipse Modeling Framework (EMF). With CDO, programmers can easily enhance existing EMF models in such a way that they can be stored and subsequently ...
(CDO), a free implementation of a
Distributed Shared Model Distribution may refer to: Mathematics *Distribution (mathematics), generalized functions used to formulate solutions of partial differential equations *Probability distribution, the probability of a particular value or value range of a varia ...
on top of EMF *
Generic Eclipse Modeling System Generic Eclipse Modeling System (GEMS) is a configurable toolkit for creating domain-specific modeling and program synthesis environments for Eclipse. The project aims to bridge the gap between the communities experienced with visual metamodelin ...
(GEMS) * Graphical Modeling Framework (GMF) * List of EMF based software * Model-driven architecture * Xtext


References


External links


EMF project page
Eclipse (software) {{soft-eng-stub