Une image contenant texte, signe

Description générée automatiquement

Comparing Model Elements

 

Scope of Comparison

The following helpers employ a shared comparison function to compare two model elements and check for modifications.

·       Compare Models

·       Generate References Report

·       Model Visualizer

 

It cannot be guaranteed that every possible change will be detected. This document details the known changes that will be detected:

Common (every type of model element)

 

·       Renames

·       User Defined Metaclass change

·       Description

·       Tags

o   Number of tags

o   Tag names

o   Tag values

Requirements

·       Requirement ID

·       Requirement Specification

Attributes / Arguments

·       Type

Interface Items (Events, Event Receptions, Operations)

·       Signature

·       Return type (Operations)

Diagrams

·       Number of graphical elements present on the diagram (their locations are not checked)

Classifiers

 

The Generate References Report helper includes additional checks.

·       References that are Classifiers are considered changed if any of their attributes/value properties/operations/event receptions have changed. This is so change-impact analysis is still viable if the reference is to the Classifier (but the Classifier itself has not changed) for example if an operation was modified in an Interface – that could be detected as a change to the Interface.

·       Similarly in this helper if an element has a reference to a Classifier, then that Classifier is also checked for changes in the opposite direction (that is by default only the ‘source’ model elements children are processed but this on its own would not detect a new operation being added to a referenced Interface. The ‘reverse’ change check will detect that the source model does not have the new Operation and the referenced Classifier is flagged as changed. When the number of interface items does not match this will be reported twice (one for each ‘end’ of the comparison)

 

Ports

 

Ports

The provided / required interfaces are compared (only the interface not its content)

Proxy Ports

The proxy port contract is compared (only the contract not its content)

Flow Ports

·       Atomic flow ports: the type of the port is compared.

·       Explicit flow ports: the interface is compared (only the interface not its content).

·       Implicit flow ports: the interface features are compared.