Replaces Variability Associations
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.
See Variability Associations
for more information on the associations for each element
type.
Replace Association Rules:
- Attributes of the base element are replaced with attributes of the replacing
element including identifier of the base element.
- Outgoing associations of the replacing element replace any outgoing associations of the base element.
If the contributor does not have any outgoing associations,
then neither will the resulting element.
- Incoming associations with a to-many constraint on the other association
end to the replaced element are preserved and augmented with incoming associations
of the replacing element.
- Incoming associations with a to-one constraint on the other association
end to the replaced element are replaced with the respective incoming association
of the replacing element.
If the replacing element does not have such an association
then the resulting element keeps the incoming association of the base element.
- 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 performed afterwards.
The evaluation of contribution and
replacement is performed in serial order in the specialization hierarchy.
How to Add a Replace Association
- 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.
Related Concepts