Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EMF Facet/IndigoReview

This page provides the required docuware for the EMF Facet v0.1.0 Release Review, as part of the upcoming Indigo Simultaneous Release.

Overview

EMF Facet provides a generic and extensible MDE framework to support meta-model extension and model customization.

It is an Eclipse Modeling Framework Technology (EMFT) project, inside the Eclipse Modeling Project (EMP).

Features

In this release

For the first time, EMF Facet is part of an Eclipse Simultaneous Release. The different features provided by EMF Facet v0.1.0, as part of Indigo, are of four categories.

  • A query abstraction mechanism allowing language-independent querying on models;
  • The facet mechanism for dynamically extending the metamodels;
  • A model customization mechanism allowing to change the rendering of model element in function of their state.
  • Customizable widget

The query, facet and customization mechanism have been copied from MoDisco. A refactoring of those mechanisms is whished to improve their usability and extensibility. MoDisco components will be disabled when the refactoring of EMF Facet ones will be done. This is expected for 0.2.0. Those features are hidden by a capability until the MoDisco version is not deprecated.

Accordance with project plan themes and priorities

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, but this was not possible, due to a lake of time. At this time, the EMF Facet feature are hidden by a capability and MoDisco features are still the official implementation of the query, facet and customization mechanism.

Non-Code Aspects

The complete EMF Facet documentation is available from the EMF Facet head documentation. This documentation is generated from the embedded Help plug-ins.

The EMF Facet website provides a direct access to all the related resources.

APIs

The current EMF Facet API situation is detailed by the API report build on the version 0.1.0.

Two illegal API used have been identified and are tracked by the following bugs : bug 344247, bug 344246. Those illegal uses have been found too late (2011-04-29) to be fixed for the version 0.1.0. To prevent other late warnings, an API report is generated with each build.

Architecture

The EMF Facet architecture document is currently not available. EMF Facet is, at this time, not much more than a copy of MoDisco, the MoDisco architecture document can then be used to understand the EMF Facet architecture.

Testing & Packaging

EMF Facet uses a Buckminster-based system to build and promote versions.
Each new build is tested at least with Eclipse 3.7 (Indigo).
Core plugins are provided with dedicated test plugins checking their valid behavior.
EMF Facet is integrated into the Indigo Release Train.

Tool Usability

EMF Facet is a solution to extend existing Ecore metamodels without having to modify them.

The idea is to provide non-intrusive mechanisms to add new features (types, attributes, operations and references) to a metamodel and to customize the existing features by adding extra properties (icons, labels, etc.)

For example, EMFFacet is used by :

  • MoDisco, to adapt source code metamodels to specific use cases (eg. Java code pattern matching);
  • Papyrus to present UML models in tabular views.

End-of-Life

Some elements from the EMF Facet (copied from MoDisco) have been deprecated.

Bugzilla

  • Bugs (snapshot taken on the 26th of May 2011):

EMF Facet Bugs 20110526.png

EMF Facet Enhancement requests-20010526.png

40 bugs are still opened. We expect to fix them in the service releases. Nine enhancements have been committed after M6, whereas according to the modelling project ramp down policy the M7 period is reserved to the bug fixing. We have chosen to commit those enhancements because they are requested and used by the Papyrus project. The enhancement 344125 has been committed after M7 because it was blocking a Papyrus bug (343950)

Standards

The EMF Facet does not implement any standards.

UI Usability

EMF Facet intends to conform to the User Interface Guidelines but some UI Usability issues have been found.

Schedule

EMF Facet is a "+2" project in the simultaneous release

M4	12/14/2010
M5	02/01/2011	
M6	03/15/2011	API freeze
M7	05/03/2011	Feature Freeze
RC1	05/17/2011	
RC2	05/24/2011	
RC3	05/31/2011	
RC4	06/07/2011		
Indigo	06/22/2011

Communities

Committer Changes

Frederic Madiot has moved from Mia-Software to Obeo. Gabriel Barbier has moved from Mia-Software to Thales.

IP Issues

  • The Eclipse IP Process has been strictly followed and all plug-ins contain the appropriate about.html and license files.
  • All EMF Facet content is released under EPL.

Project Plan

This next EMF Facet version will imply:

  • Upgrades on the various existing components (e.g. bug fixing, performance increase, etc);
  • Final migration of the query, facet and customization mechanisms from the MoDisco project to the EMF Facet project.
  • Refactoring of the query, facet and customization mechanisms to improve their usability and extensibility.
  • Provide the possibility to save the facet references (and facet attributes) non derived values.

Back to the top