Eclipse Modeling Framework

From Wikipedia, the free encyclopedia
Eclipse Modeling Framework
Developer(s)Eclipse Foundation
Stable release
2.37 / February 27, 2024; 2 months ago (2024-02-27)[1]
Written inJava
Operating systemCross-platform
PlatformJava platform
LicenseEclipse Public License 2.0

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.


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 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.[2]

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[edit]


  1. ^ "EMF 2.37.0 Release". Retrieved 11 March 2024.
  2. ^ "Eclipse Modeling Framework - Interview with Ed Merks". 2010-04-14. Retrieved 2013-11-13.

External links[edit]