Variability Modeling > Making decisions for a product model > How the status of variants and variation points can be set > How the status of a variation point can be set - decision set editor
  
How the status of a variation point can be set - decision set editor
A Variation Point has a Status that can be set to Included, Excluded or Undecided. When a Product Model is created, it is the Status of a Variation Point that determines whether that Variation Point is removed or not.
You cannot set the Status of a Variation Point directly: Modeler sets the Status of a Variation Point based on the Status of its linked Variants and Variation Points.
You can set the Status of Variants through the Decision Set Editor or the Variant Selector. This topic covers using the Decision Set Editor.
This topic has worked examples that show how the Status of a Variation Point can be set to Included or Excluded:
Setting the Status of a Variation Point through its Variants.
Setting the Status of a Variation Point through a Requires relationship.
Setting the Status of a Variation Point through an Excludes relationship.
* 
Sometimes the combination of Decisions, Requires relationships, Excludes relationships and Alternative Choice multiplicities may result in the Status of a Variation Point needing to be set to both Included and Excluded. When this happens, the Status of a problem Variation Point or Variant is set to Inconsistent. For information about resolving inconsistencies, see Resolving inconsistencies in a decision set - decision set editor.
A Variation Point can have a Status of Undecided when decisions have been made for all its Variants.
Setting the status of a variation point through its variants
A Variation Point's Variants are those Variants that are linked to the Variation Point through optional or mandatory Variability Dependencies.
The Status of a Variation Point is set to Included when it is linked (through an optional or mandatory Variability Dependency link) to a Variant whose Status is set to Included.
The Status of a Variation Point is set to Excluded when it is linked (through a mandatory Variability Dependency link) to a Variant whose Status is set to Excluded.
In this example we can see that Variant1 is connected to Variation Point1 using an optional Variability Dependency, and Variant2 is connected to Variation Point1 using a mandatory Variability Dependency.
We open the Decision Set Editor and can see that the Status of Variation Point1, Variant1 and Variant2 are Undecided.
We set the Decision of Variant1 to Include (we could use Variant2 instead):
Modeler sets the Status of Variant1 to Included.
Variation Point1 now has a Variant whose Status is set to Included, so Modeler sets the Status of Variation Point1 to Included.
You may have noticed that the Status of Variant2 is set to Included as well. This is because if the Status of a Variation Point is set to Included and that Variation Point is linked to any Variants using mandatory Variability Dependencies, then Modeler sets the Status of those linked Variants to Included as well.
We set the Decision of Variant1 to Undecided, and Modeler sets the Status of Variant1 to Undecided.
We set the Decision of Variant1 to Exclude. Variant1 is linked to Variation Point1 using an optional Variability Dependency, so Modeler does not change the Status of Variation Point1.
We now set the Decision of Variant2 to Exclude. Variant2 is linked to Variation Point1 using a mandatory Variability Dependency, so Modeler sets the Status of Variation Point1 to Excluded.
Setting the status of a variation point through a requires relationship
The Status of a Variation Point can be set to Included or Excluded when it is linked to other Variation Point or Variants through a Requires relationship.
A Requires relationship models that the inclusion of a Variant (or Variation Point) requires the inclusion of another Variant (or Variation Point).
In this example we can see that Variant1 requires Variation Point2.
We open the Decision Set Editor and can see that the Status of Variant1 and Variation Point2 are Undecided.
We now set the Decision of Variant1 to Include and can see the Status of Variant1 is set to Included. Variant1 requires Variation Point2, so Modeler sets the Status of Variation Point2 to Included.
Notice that the Included By column for Variation Point2 reports that it is included because of Variant1. When a Variation Point is included because it is required by another Variant or Variation Point, the Included By column of the Variation Point shows the requiring Variant or Variation Point.
In this example we can see that Variation Point2 requires Variation Point1.
We open the Decision Set Editor and can see that the Status of all Variants and Variation Points are Undecided.
We now set the Decision of Variant1 to Exclude and can see the Status of Variant1 and Variation Point1 are set to Excluded. Variation Point2 requires the excluded Variation Point1, so Modeler sets the Status of Variation Point2 to Excluded.
Modeler sets the Status of Variation Point2 to Excluded because if it was included it would require Variation Point1 to be included as well and Variation Point1 is set to Excluded.
Note that if a Requires relationship is bidirectional, the rules of the Requires relationship apply in both directions: if the Status of one item is set to Included, Modeler sets the Status of the linked item to Included; if the Status of one item is set to Excluded, Modeler sets the Status of the linked item to Excluded
Setting the status of a variation point through an excludes relationship
The Status of a Variation Point can be set to Excluded when it is linked to other Variation Points and Variants through Excludes relationships.
An Excludes relationship models that the inclusion of a Variant (or Variation Point) requires the exclusion of another Variant (or Variation Point).
In this example we can see that Variant1 excludes Variation Point2. This relationship is bi-directional so Variation Point2 also excludes Variant1.
We open the Decision Set Editor and can see that the Status of Variant1 and Variation Point2 are Undecided.
We now set the Decision of Variant1 to Include and can see that Modeler sets the Status of Variant1 to Included. Variant1 excludes Variation Point2, so Modeler sets the Status of Variation Point2 to Excluded.
Notice that the Excluded By column for Variation Point2 reports that it is excluded because of Variant1. When a Variation Point is excluded because it is excluded by another Variation Point or Variant, the Excluded By column of the Variation Point shows the excluding Variation Point or Variant.