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

Difference between revisions of "EMF Compare"

(Events)
(Links)
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{EMF_Compare}} __NOTOC__  
+
{{EMF_Compare}} __NOTOC__  
  
The [http://www.eclipse.org/emf/compare EMF Compare] project is part of EMF (Eclipse Modeling Framework).
+
[[Image:EMF_Compare_logo_colors.png]]
  
[[Image:Emf logo.png]]
+
[http://www.eclipse.org/emf/compare EMF Compare] brings model comparison to the EMF framework. It provides generic and customizable support of model comparison and merge. It works with any kinds of EMF models such as Ecore, UML and your owns. The objectives of EMF Compare are to provide a stable and efficient generic implementation of model comparison and merge and to provide an extensible framework for dedicated needs. The [http://www.eclipse.org/emf/compare EMF Compare] project is part of EMF (Eclipse Modeling Framework).  
 
+
EMF Compare brings model comparison to the EMF framework, this tool provides generic support for any kind of metamodel in order to compare and merge models. The objectives of this component are to provide a stable and efficient generic implementation of model comparison and to provide an extensible framework for specific needs.  
+
 
+
= Overview =
+
 
+
[[Image:EMF Compare Process Full.png|thumb|center|800px]]
+
 
+
The above figure represents the comparison process of EMF Compare. It can be roughly divided in 6 main phases.
+
; Model Resolving
+
: From a given "starting point" (the file a user decided to compare), finding all other fragments required for the comparison of the whole logical model.
+
; Matching
+
: Iterating over the two (or three) loaded logical models in order to map elements together two-by-two (or three-by-three). For example, determine that class ''Class1'' from the first model corresponds to class ''Class1''' from the second model.
+
; Differencing
+
: The matching phase told us which elements were matching together. The differencing phase will browse through these mappings and determine whether the two (or three) elements are equal or if they present differences (for example, the name of the class changed from ''Class1'' to ''Class1''').
+
; Equivalences
+
: The differencing phases detected a number of differences between the compared models. However, two distinct differences might actually represent the same change. This phase will browse through all differences and link them together when they can be seen as equivalent (for example, differences on opposite references).
+
; Requirements
+
: For the purpose of merging differences, there might be dependencies between them. For example, the addition of a class ''C1'' in package ''P1'' depends on the addition of package ''P1'' itself. During this phase, we'll browse through all detected differences and link them together when we determine that one cannot be merged without the other.
+
; Conflicts
+
: When we're comparing our file with one from a Version Control System (CVS, SVN, Git, Clearcase...), there might actually be conflicts between the changes we've made locally, and the changes that were made to the file on the remote repository. This phase will browse through all detected differences and detect these conflicts.
+
 
+
 
+
The Model resolving phase itself can be further decomposed in its own two distinct phases. More on the logical model and its resolution can be found on [[EMF_Compare/Logical_Model|the dedicated page]].
+
[[Image:EMF Compare Model Resolving.png|thumb|center|800px]]
+
 
+
= Compatibility  =
+
 
+
The EMF Compare development team does its best to maintain downward compatibility towards Galileo (3.5). Following is the compatibility chart :
+
 
+
{| border="1"
+
|-
+
! EMF Compare
+
! bgcolor="#cccccc" | Eclipse 4.3 - EMF 2.9
+
! Eclipse 4.2 - EMF 2.8
+
! Eclipse 3.8 - EMF 2.8
+
! Eclipse 3.7 - EMF 2.7
+
! Eclipse 3.6 - EMF 2.6
+
! Eclipse 3.5 - EMF 2.5
+
! Eclipse 3.4 - EMF 2.4
+
! Eclipse 3.3 - EMF 2.3
+
! Eclipse 3.2 - EMF 2.2
+
|-
+
| bgcolor="#cccccc" | 2.1
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
|-
+
| 2.0
+
|
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
|-
+
| 1.3
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
|-
+
| 1.2
+
|
+
|
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" | 
+
| style="text-align:center; background:#9d261d; color:white" |
+
|-
+
| 1.1
+
|
+
|
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" | 
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" | 
+
| style="text-align:center; background:#9d261d; color:white" |
+
|-
+
| 1.0
+
|
+
|
+
|
+
|
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#46a546; color:white" |
+
| style="text-align:center; background:#9d261d; color:white" |
+
|}
+
 
+
An empty cell indicates that the compatibility hasn't been tested for a particular combination.
+
  
 +
= Links =
  
 +
* The [http://www.eclipse.org/emf/compare homepage].
 +
* The [http://projects.eclipse.org/projects/modeling.emf.compare Eclipse project page]
 +
* The [http://www.eclipse.org/forums/index.php/f/164/ forum] (also available via NNTP as news://news.eclipse.org/eclipse.modeling.emf).
 +
* The [http://git.eclipse.org/c/emfcompare/org.eclipse.emf.compare.git source code].
 +
* The [https://git.eclipse.org/r/#/q/status:open+project:emfcompare/org.eclipse.emf.compare,n,z open reviews on Gerrit]
 +
* The [http://www.eclipse.org/emf/compare/documentation/latest/ documentation].
 +
** [http://www.eclipse.org/emf/compare/documentation/latest/user/user-guide.html User Guide]
 +
** [http://www.eclipse.org/emf/compare/documentation/latest/developer/developer-guide.html Developer Guide]
 +
** [http://www.eclipse.org/emf/compare/documentation/latest/FAQ.html FAQ]
 +
* The [https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling&query_format=advanced&product=emfcompare&list_id=7339794 Bugzilla].
 +
* The [http://wiki.eclipse.org/Category:EMF_Compare list of all wiki pages of EMF Compare]
 +
* The [http://wiki.eclipse.org/Category:EMF_Compare/Specification specifications of next EMF Compare features]
 +
* The [http://wiki.eclipse.org/Category:EMF_Compare/Archive archived wiki pages of EMF Compare]
  
 
= Team  =
 
= Team  =
Line 121: Line 25:
 
The project developers are:  
 
The project developers are:  
  
Cédric Brun ([http://www.obeo.fr Obeo]), project lead  
+
* Mikaël Barbero ([http://www.obeo.fr Obeo]), project lead
 
+
* Cédric Brun ([http://www.obeo.fr Obeo])
Laurent Goubet ([http://www.obeo.fr Obeo])<br>
+
* Laurent Goubet ([http://www.obeo.fr Obeo])  
 
+
* Cédric Notot ([http://www.obeo.fr Obeo])
Mikaël Barbero ([http://www.obeo.fr Obeo])  
+
* Axel Richard ([http://www.obeo.fr Obeo])
 
+
Cédric Notot ([http://www.obeo.fr Obeo])
+
  
[[Category:Modeling]] [[Category:EMF]] [[Category:EMF Compare]]
+
[[Category:EMF Compare]]

Revision as of 11:02, 14 April 2014


EMF Compare
Website
Download
Community
Mailing List
Forums
Bugzilla
Open
Create New
Contribute
Browse Source


EMF Compare logo colors.png

EMF Compare brings model comparison to the EMF framework. It provides generic and customizable support of model comparison and merge. It works with any kinds of EMF models such as Ecore, UML and your owns. The objectives of EMF Compare are to provide a stable and efficient generic implementation of model comparison and merge and to provide an extensible framework for dedicated needs. The EMF Compare project is part of EMF (Eclipse Modeling Framework).

Links

Team

The project developers are:

  • Mikaël Barbero (Obeo), project lead
  • Cédric Brun (Obeo)
  • Laurent Goubet (Obeo)
  • Cédric Notot (Obeo)
  • Axel Richard (Obeo)

Back to the top