EMF Diff/Merge : same match keys

Hello everyone,

I am working with Capella 1.4.0 and I recently encountered the following problem while merging 2 branches of my model :

image
image (1)

The curious thing is that on one branch I worked on the System Analysis and on one scenario. On the master branch, my colleague worked on the Physical Architecture. So we did not work on the same parts of the model, and we still had the message “Some elements have the same match keys, which results in an ambiguous matching”.
We finally resolved the problem by resolving the merging conflicts just like we used to, but we still don’t know why this message appeared and if it will appear in the future.

So if someone knows what really is the origin of this message, it will be very helpful for me.

Thanks in advance
Christian KOUMLAH

Hi Christian,
I hope someone can answer your question, but you may want to consider Team for Capella for better collaboration: https://www.obeosoft.com/en/team-for-capella
Stephane

Hi Stephane,

Sorry for the delay and thank you for your answer.
I will have a look at “Team for Capella”.

Christian

Hello,

Actually, when you perform a diff/merge Capella needs a rule to check “equality” between objects. Many rules are available in Capella (based on Ids, on labels, etc…) . When you perform the diff merge, the popup requesting for left / right SM enables to set the applicable rule.

The message you are facing warns you regarding the fact that an object, let’s say in left model, has been detected as equal to several objects in right model. Then Capella is not confident regarding the results of the diff.

Then first of all, you have to check wich rule is applied. According to this rule you may be able to understand the origin of the “conflict”.

Next, the trouble may not (and actually for sure according to your explanations) stand in conflicts between your both changes. The origin of this warning stands in only one of your workflows. Please consider the following use case :

  • Diff Merge is configured to consider items as equal if provided with the same name / label.
  • Open any SM , let’s say V0
  • Add in a package a component with the same name as an existing one => SM V1
  • Perform a diff merge between V0 and V1
    => You will be warned regarding matching troubles

Then I suggest :

  • To check your rules
  • To perform a diff between the original version of the model and your resulting model
  • To perform a diff between the original version of the model and your collegue’s model
    => I guess at least one of these merges will provide with the warning.

To confirm my point of view :

  • Change the rule to base equality on Id
  • Perform the diff between original version of the model and the “corrupted” model
    => I guess the warning will disappear

To avoid this kind of unpleasant warning, I advise to consider rule based on Ids. This will enable to track much efficiently changes in SM.

Capella Team may help you regarding // workflows, however the previous concepts apply to Capella Team as well, and any merge of SM, even if edited with capella team, may lead to this warning, if rule are not set properly.