Logical versus graphical differences

For the purposes of IBM® Rational® Rhapsody® DiffMerge model difference detection, a logical difference is one that changes the logic of a model. This difference is also known as a model difference. In comparison, a graphic difference is a visual difference that does not have an effect on a model.

Rational Rhapsody DiffMerge always reports logical differences, while it might ignore graphical differences (see Suppressing graphical differences).

Example of logical difference

The following examples show a logical difference on a sequence diagram.

Example 1a: Sequence diagram with evStart()

The following figure shows a partial view of the Dishwasher Cycle sequence diagram for the Dishwasher sample project provided with the IBM Rational Rhapsody product. Notice the location of evStart() before setup(). For aesthetic reasons, you could reposition evStart() (for example, move it down slightly so that it does not touch the partition line) but leave it still above the position of setup() and this movement is ignored by Rational Rhapsody DiffMerge because it does not affect the logic of the model.

Dishwasher Cycle sequence diagram for the Dishwasher sample project

Example 1b: Sequence diagram with evStart() moved

In this example, notice that evStart() has been moved after setup(). This change has an effect on the logic of the model.

Dishwasher Cycle sequence diagram for the Dishwasher sample project - evStart() moved

Example 1c: Comparison in Rational Rhapsody DiffMerge

The following figure shows in Rational Rhapsody DiffMerge a comparison of the sequence diagrams shown in Example 1a (Left Value column) and 1b (Right Value column) in base-aware mode (Base Value column). As you can see, the logical difference is noted in the Right Value column.

Comparision of sequence diagrams

Feedback