Eclipse EMF Diff/Merge 0.7.0 Release Review

Type: 
Release
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, November 2, 2016
Release: 

0.7.0

Description: 

EMF Diff/Merge is a diff/merge tool for models. Its main purpose is to help build higher-level tools that need to merge models based on consistency rules. GUI components and higher-level tools, such as support for modeling patterns and model synchronization, are also provided. Typical usages include model refactoring, iterative model transformations, bridges between models or modeling tools, collaborative modeling environments, or versioning systems.

The main contributions in this release are:

  • the introduction of difference categories, and a dedicated GUI that supports filtering/focusing on categories;
  • a variant of the default GUI dedicated to source-to-target model update;
  • a framework for merge-based model synchronization.
API Certification: 

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues: 

The EMF Diff/Merge technology is made of two update sites/dropins:

  • A core EMF Diff/Merge update site that provides:
    • A diff/merge engine. This component can be customized/extended via model scopes (what to compare), match and diff policies (how to compare) and merge policies (how to merge). This component also integrates with Eclipse Team.
    • A GUI component which relies on the engine. This component provides an extension point which allows specifying engine customizations that are made available in the GUI. It comes with a simple customization for GMF scopes (diagrams and models) that illustrates the overall extendibility of the technology.
    • Integration features with Eclipse SCM clients: Git and SVN.
  • A "Pattern" update site which relies on the update site above. It contains two features:
    • A tool that provides support to modeling patterns that can be defined in terms of diff/merge.
    • An extension of this tool for Sirius environments.
  • A "Co-Evolution" update site which relies on the core update site above. It contains a framework for the development of model synchronization features and bridges between tools.

 

Security Issues: 

No security issue identified.

Non-Code Aspects: 

The complete EMF Diff/Merge documentation is available from the EMF Diff/Merge Wiki page:

Among the applications mentioned, one refers to the wiki page dedicated to Modeling Patterns and another one to the wiki page dedicated to Co-Evolution, which are structured similarly to the main page.

Usability Details: 

EMF Diff/Merge intends to conform to the User Interface Guidelines.

End of Life: 

No EMF Diff/Merge component is deprecated so far.

Standards: 

EMF Diff/Merge does not implement any standard.

Communities: 

EMF Diff/Merge obtained the "Most innovative project/feature" award at EclipseCon NA 2013. The forum, bugzilla and Gerrit show regular activity by different people and organizations. Several Gerrit pull requests have been submitted by people external to the project. EMF Diff/Merge is known to be distributed within modeling tools such as Polarsys Capella or Intel Cofluent Studio.

This year, an ignite talk was given at EclipseCon France 2016.