Jump to: navigation, search

Difference between revisions of "EMF Compare/Release Review/1.3.1"

(Committer Changes)
(Legal Notices)
Line 228: Line 228:
  
 
Other company, product, or service names may be trademarks or service marks of others.
 
Other company, product, or service names may be trademarks or service marks of others.
 +
 +
[[Category:EMF Compare]]

Revision as of 02:57, 18 October 2012

Juno Release Review - EMF Compare 1.3

Laurent Goubet (laurent.goubet@obeo.fr)

Release Review : May 30, 2012

Communication Channel : eclipse.modeling.emf newsgroup

Process Documentation : http://www.eclipse.org/projects/dev_process/development_process.php

Project Plan : http://www.eclipse.org/modeling/emf/compare/project-info/plan-juno.xml

1.3 Release Highlights

New and noteworthy

Performances

Slight improvement of the matching phase cost, improving the overall time of comparison. A number of memory leaks were tracked and hunted down for this release.

Ordering

Major improvement of the ordering handling throughout EMF Compare : merging differences on ordering, merging addition and removals that change the ordering, detecting and merging ordering differences on attribute values...

Merging

Huge improvements on the merging process of EMF Compare, adding thousands of unit tests and fixing the failing corner cases.

Filtering and Grouping

Adding the possibility to filter and group diffs together in the comparison UI, along with the corresponding extension points.

Diagram Comparison

Adding graphical comparison (match, diff and merge) capabilities as well as comparison editors for integration with GMF and EcoreTools.

SYSML Comparison

Adding a specific comparison engine for SYSML models.

Quality of APIs

The component lead certifies that the requirements for Eclipse Quality APIs have been met for this release. All non-API code is in "internal" packages.

End of Life Issues

EMF Compare 2.0 is in the work and is what will be released with Kepler next year. There might be more releases in the 1.x stream, but they will only be meant for maintenance. Version 2.0 is a major overhaul of EMF Compare which aims at fixing the architectural and technical limitations induced by the 1.x implementation.

As such, all APIs provided by 1.3 are to be considered obsolete and none will be maintained in its current state with 2.0, be it core or peripheral. The new APIs provided with 2.0 are developed in order to be simpler and more intuitive. We will provide all possible help in order to bridge the gap between the two streams' APIs and help users migrate to the new and improved Compare.

All functionalities and extensions provided by EMF Compare 1.3 will also be featured by EMF Compare 2.0. The re-architecturation only aims at fixing limitations without removing functionality.

As mentionned in the EMF Compare 1.2 release review, the EPatch (all plugins with namespace org.eclipse.emf.compare.epatch.*) have been removed from the code base. Adopters can use the MPatch plugins instead.

Committer Diversity

4 Committers from Obeo, and 1 inactive committer from Itemis.

IP Issues

The about files and use licenses are in place as per the Guidelines to Legal Documentation.

All other 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. The other contributions of the IP log are not significant or are written 100% by employees of the same employer (Obeo) as the Submitting Committer (http://www.eclipse.org/legal/EclipseLegalProcessPoster.pdf).

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 Compare IP log is located at http://www.eclipse.org/projects/ip_log.php?projectid=modeling.emf.compare

Non-Code Aspects

Unit tests

5107 unit tests launched on every build

Code coverage is about:

  • 75 % of the core
  • 63 % of the differencing plugin
  • 60 % of the matching plugin

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 Java source code.

An Ohloh page is available at http://www.ohloh.net/p/emf_compare/analyses/latest

APIs

Metamodel definitions and interfaces are considered APIs.

Commitment to provide stand-alone diff and match features (Jars that can be used without Eclipse with minimal to no dependencies towards eclipse Jars).

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

Non-API packages are exported with an internal visibility so that they remain visible but with a discouraged access warning.

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

Documentation

EMF Compare documentation and tutorials are available from both the Eclipse wiki http://wiki.eclipse.org/EMF_Compare and the integrated Eclipse help (Menu Help > Help Contents).

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

Bugzilla

NEW RESOLVED VERIFIED CLOSED TOTAL
blocker 1 0 0 15 16
critical 1 1 0 17 19
major 8 6 0 46 60
normal 30 10 0 203 243
minor 4 0 0 9 13
enhancement 13 4 0 44 61
TOTAL 57 21 0 334 412

Note : these figures are subject to change as the whole team is in the process of fixing bugs until the final release (this snapshot has been taken on Mai 30, 2012)‏

Tool usability

Localization : integrated into Babel

Standards

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

Since the 1.2 release a specific support for the UML standard is included in EMF Compare.

The 1.3 release adds a specific support for the SYSML standard included in EMF Compare.

UI Usability

EMF Compare is conforming to the user interface guidelines.

Communities

Talks have been given on the following events: Eclipse Con Europe 2011 :

  • What every Eclipse Developer should know about EMF
  • What the heck are logical models?
  • EMFCompare improvements: fulfilling requirements of the Modeling Platform Working Group


Other medium:

  • Activity on the EMF newsgroup (eclipse.modeling.emf): 29 new threads on EMF Compare from June 2011 to May 2012
  • About one update every two months on Planet Eclipse.

Committer Changes

  • Mikaël Barbero from Obeo is now a commiter on EMF Compare
  • Cédric Notot from Obeo is now a commiter on EMF Compare
  • Jonathan Musset from Obeo is no longer a commiter
  • Moritz Eysholdt from Itemis is not longer a commiter

Schedule

EMF Compare 1.3 Release Plan

RC1	05/22/2012
RC2	05/29/2012
RC3	06/05/2012
Final  06/12/2012
1.3    06/27/2012

Project Plan

The EMF Compare 1.3 project plan is available at http://www.eclipse.org/modeling/emf/compare/project-info/plan-juno.xml

Legal Notices

Java and all Java-based trademarks are trademarks of Oracle, Inc. in the United States, other countries, or both.

UML, SYSML, OMG, EMOF, OCL and XMI are trademarks of the Object Management Group.

Other company, product, or service names may be trademarks or service marks of others.