The EMF Facet component is a proposed open source project under the umbrella of the Eclipse Modeling Framework Technology (EMFT) project.
This proposal is in the Project Pre-Proposal Phase (as defined in the Eclipse Development Process document) and is written with the goal to declare its intent and scope and to solicit additional participation and input from the Eclipse community. You are invited to comment and/or join the project. Please send all feedback to the EMFT forum.
The Eclipse Modeling Project focuses on the evolution and promotion of model-based development technologies within the Eclipse community by providing a unified set of modeling frameworks, tooling, and standardsí implementations. EMFT is part of this Eclipse Modeling Project and is about incubating new technologies that extend or complement EMF.
Tools based on EMF use Ecore as a common standard to represent the data manipulated by the tool. Data is described in terms of a set of entities, attributes, relations and operations. Extending the data structure used by an EMF tool (e.g. adding a new entity, attribute, relation or operation) implies modifying its Ecore definition, and thus, changing its source code.
Extending existing EMF tools without changing their Ecore definition (and therefore, without requiring to change their source code) would facilitate their customization to fit specific needs. To allow for this kind of extension, EMF needs a mechanism to dynamically create viewpoints that extend and combine existing Ecore definitions without having to modify them. The viewpoint concept has been already singled out as a key requirement for defining an Architecture Ecosystem by the OMG Architecture Ecosystem Software Interest Group.
This EMF Facet project aims to contribute a dynamic extension mechanism for EMF tools by introducing new viewpoints (or "facets") on their underlying data (i.e. existing models).
Some of the extension mechanisms we envision are:
EMF Facet project will provide components that could be used by all tools exposing a view on a model:
These tools could integrate EMF Facet and its viewpoint concept to facilitate, among many other aspects, the following tasks:
The same tool could need different viewpoints depending on the role of the tool user at a given time. Therefore, EMF Facet will provide a dynamic customization mechanism: viewpoints will be described with models that can be interpreted and dynamically applied without restarting the tool.
Code has already been contributed to the Eclipse Modeling project, in the context of the MoDisco project (http://www.eclipse.org/gmt/modisco/). But since it does not depend on other MoDisco components, and should be generally useful as part of EMFT, the code will be appropriately refactored and moved.
Here are the main MoDisco components which are candidates to be moved to the EMF Facet project:
Other MoDisco components, which are part of the ModelBrowser (http://wiki.eclipse.org/MoDisco/Components/ModelBrowser) could be added after a refactoring.
An example is the UICustom extension that allows users to customize a metamodel by setting specific values for graphical features (color, font, icon, etc).
This component could be externalized to facilitate its reutilization by other tools (graphical modelers for example) and generalized to permit setting values for any kind of feature, even non-graphical ones.
The code has direct dependencies with the EMF API.
EMF already provides a way to define extension of existing metamodel implementations. However, as it is static, it is difficult to mix several extensions (they have to be merged) and reuse existing editors. The EMF Facet mechanism will provide an alternative, but complementary, way to dynamically define and provide such extensions.
These mechanisms could be consumed by projects such as Sphinx to provide extensibility for existing metamodel implementations and label decoration services for visualizing validation results.
EMF Facet could also be used by the MDT/MST project which has planned to implement a proof of concept for extensions to EMF as per the MOF Support for Semantic Structures RFP.
The following individuals are proposed as initial committers to the project:
The following Architecture Council members will mentor this project:
The following individuals, organisations, companies and projects have expressed interest in this project:
Back to the top