Familiarizing Yourself with Comparison and Merge Concepts

A short outline to facilitate understanding of supported and used procedures.

Determining Differences for Model Elements

You can compare model elements and their properties in one or two active models using the Align Models editor. The focus here is on the logical differences between elements of the same type.

You can determine the elements to be compared directly through the selection of root elements or indirectly through the selection of change sets or searches in the comparison. The change sets and searches return the comparison elements.

Logical differences are changes to the properties of an element, i.e. to properties or labels, for example. These properties define the model element, regardless of whether the element is also displayed in a diagram. Examples of logical changes include changes to the element name, specification text or color label.

In the editor, a diagram is displayed as different if its own properties or graphical nodes differ. A name change in a diagram is only taken into account as a difference if it is associated with a graphical change to the node size, for example. In a separate comparison window for diagrams, graphical and logical differences between the diagram elements are evaluated.

The editor has two separate modes.

  • Compare mode

    • Determination of logical differences of model elements or their properties in one or two models
    • Display of matching and non-matching model elements and properties
    • Consideration of left-hand and right-hand side as having equal value with regard to differences
  • Merge mode

    • Determination of logical differences of model elements or their properties in two models
    • Display of purely non-matching model elements and properties
    • Copy elements or properties from the right-hand side to the left-hand side in order to compensate for these differences
    • Consideration of right-hand model as "leading" with regard to differences and naming; for example, an element that appears only in the right-hand model is called New.

The comparison can determine the differences for the following:

  • An entire model (model root)

  • Any number of model elements from the model tree, including its complete contents (recursively)

  • Model elements that are defined by change sets, only of the recursive content of diagrams

In Compare mode, the model configuration can also be compared with the Configure privilege.

In Merge mode, the configuration cannot be included. The results of the merge are only reliable if the configuration of the compared models is the same.

Determining Diagram Differences in the Comparison Window

The graphical and logical differences between two diagrams are determined for a graphical diagram comparison in the comparison window.

Changes to the size, position, or form of the display of a model element in a diagram are called graphical differences. Not all model elements must be displayed in a diagram; there can also be graphical representations of the same model element in multiple diagrams.

The display of the differences in the diagram comparison window depends on the mode in the Align Models editor.

All graphical and/or logical differences can be displayed in Compare mode.

The logical differences are subdivided into individual conflict types in Merge mode. The display of these conflict types can be controlled individually.

To obtain an evaluation of the logical differences of the diagram elements in the editor instead of in the comparison window, these elements themselves must be compared in the editor. Pure diagram comparison is not suitable for this.

Prerequisites for Comparison and Merge

Due to your currently used role you have the privilege Align Models.

To compare or merge the elements of the active model with elements of another model, you must select the other model using the Change model button and log-in.

You require access rights in Merge mode, i.e. for the application of changes. The elements that you want to merge must come from different models. Both models must have the same model language and neither can have display language activated. If this is the case, then Compare mode is activated immediately.

The comparison is not restricted to elements which are in the same or similar namespaces. In fact, it is possible to merge any model elements of the same type and, in doing so, compare their differences.

How are the Comparison Elements Mapped in the Hierarchy Area?

To ensure that you achieve your objectives in your work, it really helps if you understand the strategies that result in the mapping of the left-hand and right-hand comparison elements in the hierarchy area.

The model root nodes are always mapped. The path to the root element(s) that you select for the comparison is displayed in a gray font. The root elements are also always mapped.

For all other elements, the first and primary criterion for mapping is an identical Universally Unique Identifier (UUID). A Universally Unique Identifier (UUID) is an identifier used in software development, standardized by the Open Software Foundation (OSF) as part of the Distributed Computing Environment (DCE).

A UUID is assigned at creation for all model and configuration elements in an Innovator model. The UUID enables a model element to be uniquely identified with a high degree of certainty. This enables elements which were renamed or moved to another namespace in a successive version to be identified in spite of properties which have been structurally modified.

The UUID is assigned when a UUID-capable instance is created and is unique within a model. An element's UUID is not changed throughout its lifespan unless this is explicitly required within the boundaries of a conflict decomposition when a version file is imported.

An identical namespace name is the second criteria for this. Elements with the same structural identification, i.e. the same name in the same namespace, are merged.

In addition, you can use the  Map... context menu command to map any two elements of the left-hand and right-hand side as long as they have the same type and then compare their content and properties.

How is the Copying of Elements and Properties Supported?

In Merge mode, Innovator offers optimum preparation for the copying of elements and properties with an extensive comparison analysis. Detailed information about the differences is returned.

In addition to the reference time, the automatic analysis also takes the history information for elements and properties in the change sets into account. This significantly reduces the number of conflicts to be solved by the user when copying the elements and properties. In order to make full use of the automatic analysis, we therefore strongly recommend the use of change logging.

The extensive analysis - particularly of dependencies - places considerable requirements on computing power and the main memory. We recommend that you always merge only limited parts of a model, and not the entire model. Innovator's analysis results let you know whether further parts must be included and enables copying of these elements to the comparison set.

Innovator makes sensible proposals for the merge by setting corresponding selections for the copy process to the left-hand model.

Note that elements that are not visible due to set display filters are not taken into account in the merge either. The selection is adjusted automatically on the basis of any dependencies to the invisible elements.