Replaces variability association provide a mechanism for an element to
replace a base element without directly changing any of the base element's
existing properties. A replacing element replaces relevant attributes in the
base element when the configuration is published or examined in the Browsing
perspective. In most cases this is used for method plug-ins as a way to replace
specific content elements such as roles, tasks, or activities with either
a completely new variant. Replacement can also be used to change the fundamental
relationships of these elements. The base content element will be logically
replaced with the new replacing element to which all incoming associations
still point as before, but which has potentially new attribute values and
outgoing associations.
When you replace an element, all the description attributes are replaced
by corresponding attribute values from the replacing element. If a description
attribute in the replacing element is blank but the base element has content,
the attribute will be blank in the resulting element.
Replace always replaces attributes and associations of the base element
with the replacing element's attributes and associations, except for incoming
associations, which are only added to the base, but do not replace the base's
incoming associations.
Replace Association Rules:
- Outgoing associations are not affected.
- Incoming associations from the base element are added to the replacing
element.
- Attributes of the base element are replaced with attributes of the replacing
element including the base element's identifier.
- A base element of a replacement can have only one replacing element per
configuration. If more than one replacing element is present no replacement
takes place.
- Replacement is transitive. If a replacing element is replaced itself the
final replacer prevails.
- Contribution precedes Replacement. Contribution associations are resolved
first and then replacement is performed afterwards. The evaluation of contribution
and replacement is performed in serial order in the specialization hierarchy.
Exceptions
All replacing associations are "many
to many" except for the following:
- Task elements can have only one association to the Primary Performer Role.
There is no exception when replacing a Task or a Role.
- Work Products can only be assigned to a single Domain. If the replacing
Work Product is assigned to a Domain the relationship from the base is ignored.
There is no exception when replacing a Domain element.
- Tool Mentors can only be assigned to a single Tool. If the replacing Tool
Mentor is assigned to a Tool the relationship from the base is ignored. There
is no exception when replacing a Tool element.
See Associations Impacted
by Variability for more information on the associations for each element
type.
How to Add a Replace Association
- Use the Content Variability section on the Description tab
to make an element replace another element.
- Select Replaces as the variability type and select the base element
that this element will replace. Note that the base element must be the same
type of element as the replacing element.