There is not yet much documentation available for the project (we are working on that) but as the project proposal stated , 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). Examples of such extension mechanisms to “decorate” or “annotate” a EMF model could be:
- Extending an existing metamodel (Ecore model) in a non-intrusive way by adding new types, attributes, operations and relations.
- Computing an extension by executing queries against an existing model
- Virtualize the extension so that any EMF tool could use an extended model as a regular one.
Roughly speaking, you can think of EMF Facet as a kind of UML profile mechanism (though technically different) for EMF models, something that was missing until now. And yes, I know many people hate UML profiles but when properly used they are very very useful. UML profiles are not a replacement for DSLs (that would be the improper use) but they are useful nonetheless. And, in the same way we may want to (and can) annotate a UML model, we should be able to do the same with EMF models and EMF Facet is the project for that.
EMF Facet is just beginning so any feedback will be more than welcome.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering