|
Re: Differences with EMF Compare 2 [message #1032883 is a reply to message #1031980] |
Wed, 03 April 2013 15:08 |
Olivier Constant Messages: 106 Registered: January 2012 |
Senior Member |
|
|
Hello Mathieu,
EMF Diff/Merge is around to help people create tools that need to merge models. So the focus of EMF Diff/Merge is merging. To be more precise, merging consistently thanks to consistency rules - predefined and, if needed, user-defined.
Have you ever merged models in the past and obtained incorrect, unexpected or inconsistent results? This is what we fight against, and that requires a specific difference model.
So the positioning w.r.t. EMF Compare was defined from the beginning. It is described in the proposal of EMF Diff/Merge (1); I'm copying an excerpt here for convenience.
"Altough EMF Compare and EDM [EMF Diff/Merge] both provide comparison and merge facilities, they are essentially complementary. EMF Compare is focused on being an end-user tool [...]. It also provides ways to specialize its difference model in order to obtain a semantic, user-friendly rendering of the changes [...]. By contrast, EDM operates at a lower level of abstraction: its difference model is technical so as to support the expression of consistency rules. Consequently, EMF Compare could rely on the EDM engine whenever a particular consistency policy must be enforced."
(1) http://www.eclipse.org/proposals/modeling.emf.edm/
Regards,
Olivier
|
|
|
|
Re: Differences with EMF Compare 2 [message #1033683 is a reply to message #1032938] |
Thu, 04 April 2013 14:12 |
Olivier Constant Messages: 106 Registered: January 2012 |
Senior Member |
|
|
Hi Mathieu,
Agreed, the main wiki page could have more content. I have just updated it with the intention that it provides more information while being as simple and short. Feel free to comment on it.
If you want to give the tool a try to figure out whether it fits to your needs, it can be done very quickly as long as your DSL uses unique IDs. You just have to install the tool and play with it. Start your Eclipse environment with EMF Diff/Merge installed, duplicate one of your model files, modify it, select it together with the original, click the comparison menu item (1), then check the results and play with merges.
Your DSL uses unique IDs if your metamodel defines an attribute with the property "ID" set to true, or if your serialization format assigns XML IDs to model elements. If not, you may either define how your model elements must be matched (e.g., qualified names), or introduce IDs. If you intend to do version control on models, I strongly suggest introducing IDs since it is the most reliable method of all.
(1) http://wiki.eclipse.org/EMF_DiffMerge/Default_GUI#Default_comparison_action
Regards,
Olivier
|
|
|
Powered by
FUDForum. Page generated in 0.03631 seconds