Variability Modeling > Modeling variability in a model > Reference topics for variability modeling (diagrams, items and relationships) > Variability relationships > Requires dependency
  
Requires dependency
For automation interface information about a Requires Dependency (Dependency of type Requires through the automation interface), see Dependency (automation interface).
A Requires Dependency is a Dependency of type Requires. For reference information about Dependencies, see Dependency (dictionary item).
A Requires Dependency specifies that the inclusion of a Variant or Variation Point requires the inclusion of another Variant or Variation Point:
When the Status of the requiring Variant or Variation Point is set to Included, Modeler sets the Status of the required Variant or Variation Point to Included.
When the Status of the required Variant or Variation Point is set to Excluded, Modeler sets the Status of the requiring Variant or Variation Point to Excluded.
A Requires Dependency can propagate a parameter value from its source Variant to its target Variant. In addition, you can define a parameter for a Requires Dependency, the value of which can be used to set the parameter value of the target Variant.
Create a Requires Dependency through any diagram: click the toolbar button, click the Variation Point or Variant that is requiring, and then click the Variation Point or Variant that is required.
To make a Requires Dependency bidirectional: on the Options tab of a Requires Dependency's Property Pages, select the Bidirectional check box. When a Requires Dependency is bidirectional, when the status of one linked item is Included, the status of the other item is set to Included as well. Likewise, when the status of one linked item is Excluded, the status of the other item is set to Excluded as well.
To propagate a parameter from the source Variant to the target Variant: on the Variability Options tab of the Requires Dependency's Property Pages, select the Propagate Parameter Value check box.
When shown on a diagram, a Requires Dependency's notation is as follows:
A Requires Dependency's notation is as follows when it has a parameter or propagates the value of a parameter from one Variant to another Variant.
For information about the View Options available for this symbol, see Requires view options - all diagrams.
On a diagram you can populate Excludes Dependencies in the following ways:
Right-click the diagram background, point to Populate, and then click 'Variability, Artifact, Constraint Dependencies'.
This command populates missing Artifact, Excludes, Requires and Variability Dependencies between items shown on the diagram.
Right-click a Variation Point or Variant, point to Populate, and then click Constraints Dependencies.
This command populates missing Requires Dependencies and Excludes Dependencies for the item you right-clicked, adding to the diagram any Variation Points or Variants that are required to show those missing Requires and Excludes Dependencies.
Note that only one Requires Dependency can be created between two items. If you create a Requires Dependency between two items and a Requires Dependency relationship already exists between those two items:
If the existing Requires Dependency is not shown on the diagram, that Requires Dependency is added to the diagram.
If the existing Requires Dependency is shown on the diagram, Modeler creates another instance of that Requires Dependency on the diagram.
In the Modeler panes, a short-cut symbol on the Requires Dependency's icon indicates that the item is a stub.