Eclipse Modeling Framework
   HOME

TheInfoList



OR:

Eclipse Modeling Framework (EMF) is an
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
-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 standardizes how they relate to one another and to the properties of real-world entities. For instance, a data model may specify that the data element representing a car be co ...
. 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 Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
,
UML 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 m ...
,
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 metamodeling ...
(GEMS) *
Graphical Modeling Framework The Graphical Modeling Framework (GMF) is a framework within the Eclipse platform. It provides a generative component and runtime infrastructure for developing graphical editors based on the Eclipse Modeling Framework (EMF) and Graphical Editing ...
(GMF) * List of EMF based software *
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 doma ...
*
Xtext Xtext is an open-source software framework for developing programming languages and domain-specific languages (DSLs). Unlike standard parser generators, Xtext generates not only a parser, but also a class model for the abstract syntax tree, as ...


References


External links


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