Eclipse Modeling Framework
| Company type | Software framework |
|---|---|
| Industry | Software development |
| Founder | Ed Merks (project lead) |
| Products | Modeling infrastructure, code generation toolset |
| Website | www |
Eclipse Modeling Framework (EMF) is a modeling infrastructure and code generation toolset built on the Eclipse platform, designed to facilitate the creation of applications and tools from well-defined data models.
Starting with a model described in XMI, EMF produces Java classes, adapter classes for editing and visualization, along with a simple editor. Models can originate from annotated Java code, UML, XML, or various modeling utilities before being imported into EMF. Additionally, EMF ensures compatibility and integration with other tools and applications that utilize the EMF framework.
Ecore
The fundamental meta-model within EMF is Ecore, which provides the constructs necessary to represent other models. It is self-referential, acting as its own metamodel.
As noted by EMF project lead Ed Merks, Ecore functions as the standard implementation of the OMG's EMOF (Essential Meta-Object Facility). EMOF, created by OMG, serves as a streamlined alternative to the more elaborate 'C'MOF, influenced by Ecore's initial design.
By adopting Ecore, developers gain access to the comprehensive suite of EMF tools and ecosystem. While custom metamodels can be developed based on Ecore, it remains a robust base for model-driven engineering within the EMF environment.
See also
- Acceleo, a code generation tool leveraging EMF models
- ATL, language for model transformations
- Connected Data Objects (CDO), an EMF-based distributed shared model framework
- Generic Eclipse Modeling System (GEMS)
- Graphical Modeling Framework (GMF)
- Software built on EMF
- Model-driven architecture
- Xtext