This article explores alignment issues between successive generations of a model in which element identities have changed or mutated.
An immutable element identity is critical for at least two reasons:
- References from other models must have a unique name to serve as a "key" by which to find a specific element.
- Compare-and-merge operations must be able to match elements in different generations of the same model, regardless of whether the elements have changed name or location.
It is a serious issue when element identity changes. Suddenly, references between models are invalid, so parallel development can no longer rely on strong compare-and-merge support. In other words, if you change the element's key, the tools treat it as a new element. The previous version of the element is seen to have been deleted.
Several common procedures or workflows will mutate identities as a normal part of their operations. This introduces a break in the lineage of the models, leading to a lack of comparability. This lack of comparability effectively destroys the modification history, thus the workflow becomes unstable.
The following sections address the two IBM® Rational® Software Architect technologies that you can use to work with models of different or broken lineage. The article focuses mainly on the Model ID Alignment technology.