Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [modeling-pmc] EMF-Compare 1.1.0 Helios Release Review materials

+1

Cédric Brun wrote:
All :

Here are the release review materials for EMF Compare 1.1.0 (Helios).

Cédric
  

EMF Compare 1.1.0 Release Review – Helios Simultaneous Release

Author Cédric Brun

Release Review : Friday, June 11, 2010 Copyright Obeo © 2010, made available under the EPL v1.0

Project Summary

Contact

Communication channel : eclipse.modeling.emf.newsgroup Process Documentation : http://www.eclipse.org/projects/dev_process/development_process.php Project Plan : http://www.eclipse.org/projects/project-plan.php?projectid=modeling.emf.compare

Focus

EMF Compare provides : - model comparison - differences merge - integration with Source Control Management systems - diff export

1.1.0 Release Talking Points

Features

ResourceSet Wide Matching has been greatly improved especially on cross-resources containment references. Match Scoping A new API is provided allowing you to scope the match process and avoid un-necessary computations Performances Gain The GenericMatchEngine which is the default implementation has been enhanced to provide way better performances, more especially if your Ecore model uses derived references. The gain on UML models is of factor 10.

See http://wiki.eclipse.org/EMF_Compare_1.1.0_New_And_Noteworthy

Non-Code Aspects

Unit Tests

340 unit tests launched on every build. Code coverage is about:

  • 90% of the core
  • 30% of the differencing plugin
  • 50% of the matching plugin

Non-regression tests

Comparison with results and expected results on 15 different models

Code quality

Checkstyle activated on each distinct plug-in Eclemma used on a regular basis to improve test coverage Yourkit used on a regular basis to improve performances Javadoc represents more than 50% of the source code line

More statistics here : http://www.ohloh.net/p/emf_compare/analyses/latest

Documentation

Some tutorials are in the Eclipse Wiki and others are in the Online Help, both will be merged in the next release cycle.

User tutorials:

  • Setting up and using the EMF Compare framework
  • Comparing and merging XML Files

Developer tutorials:

  • Architecture Overview
  • Adding new actions to the export menu
  • Adapting the Comparison Process
  • Using the Compare services

Examples

APIs

The project lead certifies that the requirements for Eclipse Quality APIs have been met for this release

Metamodel definitions and corresponding implementations are considered APIs.

Non-API classes are separated from the exposed API through an internal package in the namespace.

Commitment to provide stand-alone diff and match features (JAR used without Eclipse)‏

API Tooling is activated on all plugins to mark exceptions within the exposed API

Architecture

Comparison process

The comparison process is divided in 2 phases : matching and differencing. The matching phase browses both models trying to figure out which element of model 1 corresponds to which element of model 2. The differencing process then browses the result of the matching and creates the corresponding delta. The result of both phases can be serialized as models.

Extensibility

Each phase of the comparison process might be redefined or extended by clients to fulfill specific requirements.

Tool Usability

EMF Compare is tightly integrated with org.eclipse.compare support and as such provides the same user interface.

End Of Life

A few API have been deprecated to ease the reuse of some part of the code, more especially:

org.eclipse.emf.compare.match.engine.GenericMatchEngine.haveDistinctID(EObject, EObject)
org.eclipse.emf.compare.match.engine.GenericMatchEngine.haveDistinctXMIID(EObject, EObject)
org.eclipse.emf.compare.match.engine.GenericMatchEngine.nameSimilarity(EObject, EObject)
org.eclipse.emf.compare.match.engine.GenericMatchEngine.contentSimilarity(EObject, EObject)

such client overrides should be replaced by the usage of the AbstractSimilarityChecker and the org.eclipse.emf.compare.match.engine.GenericMatchEngine.prepareChecker() method.

Bugzilla

Severity NEW RESOLVED VERIFIED CLOSED Total
blocker 6 3 . 4 13
critical 3 . 4 1 8
major 13 2 10 6 31
normal 30 35 54 35 154
minor 4 1 5 . 10
trivial . . 2 . 2
enhancement 12 1 14 5 32
Total 68 42 89 51 250

Standards

No standard exists concerning the model comparison through EMF Compare works nicely with any standard based metamodel.

UI Usability

EMF Compare is conforming to the user interface guidelines.

Schedule

The EMF Compare project follow closely the EMF Core schedule:

  • M1 08/18/2009
  • M2 09/29/2009
  • M3 11/10/2009
  • M4 12/15/2009
  • M5 02/02/2010
  • M6 03/16/2010
  • M7 05/04/2010
  • RC1 05/18/2010
  • RC2 05/25/2010
  • RC3 06/01/2010
  • RC4 06/08/2010
  • Final 06/16/2010
  • 1.1.0 06/23/2010

Project Plan

The Helios project plan is available at http://www.eclipse.org/projects/project-plan.php?projectid=modeling.emf.compare

Communities

Talks have been given on the following events:

  • EclipseCon 2010 : Diff, Merge and Patch your Models

Activity on the EMF and EMFT newsgroups:

  • roughly 70 (EMF) + 200 (EMFT) messages from June 2009 to May 2010

About one update every two months on Planet Eclipse.

Commiter Changes

No commiter change.

IP Issues

The about files and use licenses are in place as per the Guidelines to Legal Documentation. All contributions (code, documentation, images, etc) have been committed by individuals who are either Members of the Foundation, or have signed the appropriate Committer Agreement. In either case, these are individuals who have signed, and are abiding by, the Eclipse IP Policy. All significant contributions have been reviewed by the Foundation’s legal staff. All non-Committer code contributions, including third-party libraries, have been documented in the release and reviewed by the Foundation’s legal staff.

All contribution Questionnaires have been completed

The «provider» field of each plugin is set to "Eclipse Modeling Project" The «copyright» field of each plugin is set to the copyright owner Any third-party logos or trademarks included in the distribution (icons, logos, etc) have been licensed under the EPL The EMF IP log is generated and submited at

http://www.eclipse.org/projects/ip_log.php?projectid=modeling.emf.compare

The contributions for this release were recorded in the following bugzillas:


_______________________________________________ modeling-pmc mailing list modeling-pmc@xxxxxxxxxxx https://dev.eclipse.org/mailman/listinfo/modeling-pmc

Back to the top