EMF Facet provides a generic and extensible MDE framework to support meta-model extension and model customization.
The features provided by EMF Facet 0.3.0, as part of Kepler are :
- A query abstraction mechanism allowing language-independent querying on models;
- The facet mechanism for dynamically extending the meta-models;
- A model customization mechanism allowing to change the rendering of model element in function of their state.
- A customizable table widget based on the NatTable library.
The EMF Facet project plan has not be totally achieved. We were expecting to deprecate the MoDisco features and to enable the EMF Facet ones. This has been done at the API level but we didn't had enough time to implement editor dedicated to the new EMF Facet meta-models.
Since last year we meet a large amount of unit test failures, but we didn't had time to fix those unit tests.
This version 0.3.0 has been build using Tycho. (The previous versions were build with Buckminster.)
No security issuse is knonw.
EMF Facet is a solution to extend existing Ecore meta-models without having to modify them.
The idea is to provide non-intrusive mechanisms to add new features (types, attributes, operations and references) to a meta-model and to customize the existing features by adding extra properties (icons, labels, etc.)
For example, EMF Facet is used by :
- MoDisco, to adapt source code meta-models to specific use cases (eg. Java code pattern matching);
- Papyrus to present UML models in tabular views.
Each API deprecation is tracked by a bug tagged [Deprecated].
Elements copied from MoDisco have been deprecated, cf. bug 361617.
The first version of the EMF Facet table widget has been deprecated cf. deprecation bugs. This table has been deprecated because it is based on the facet and customization features imported from MoDisco.
The EMF Facet does not implement any standards.
The EMF Facet table widget is used by Papyrus.