# Replaces

A replacing element replaces parts of the base element. Replaces provides a way for an element to replace a base element without directly changing any of the base element's existing properties. This is, in most cases, used for method plug-ins that aim to replace specific content elements such as roles, tasks, or activities with either a completely new variant or to change the fundamental relationships of these elements. The effect of this, is that the base content element is 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 association properties.

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. The base element must be the same type of element as the replacing element.

When you replace an element, all the description attributes are replaced by 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.

Replaces rules:

- Attributes of the base element are replaced with attributes of the replacing element including identifier of the base element.
- Outgoing to-one and to-many 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 works transitively, i.e. if a replacing element is replaced itself, the final replacer prevails.
- Contribution precedes Replacement, i.e. contribution is evaluated first and then replacement performed afterward. The evaluation of contribution and replacement is performed top-down in the specialization hierarchy.

See Variability Associations for more information on the associations for each element type.
Related concepts
Variability
Extends
Contributes