IBM® Rational® Rhapsody® DiffMerge makes
a comparison of two units and looks for matches of the elements within
their particular units. The units can be from the same IBM Rational Rhapsody project
or two different versions of the same unit.
In the case of base-aware mode, you can also designate
a third unit, which is the base unit. See Developing in parallel with Rational Rhapsody DiffMerge. The compare
algorithm works as follows:
- When two model elements have the same type (or,
as known in Rational Rhapsody,
metaclass), name, and parent model element, then they are considered
to be a match. If an element has no match by name, Rational Rhapsody DiffMerge tries
to find a match by ID. Matching elements always belong to the same
parent and have the same metaclass.
- When two model elements are matched, then all their
attributes and references to other model elements are compared to
check if there are any differences.
- When two model elements are matched, then their
aggregated model elements are compared the same way to check for differences.
They are matched by metaclass and name or ID, their attributes and
relations are checked for differences, and their aggregates (if any)
are compared the same way. Basically, the process goes recursively
through all aggregates.
You might also want to see Automatic merging for base-aware comparisons and Trivial versus non-trivial differences.