Variability Modeling > Making decisions for a product model > Decision set editor > Overview of the decision set editor
  
Overview of the decision set editor
The Decision Set Editor lets you decide which Variants you want to include and exclude in a Decision Set.
To open the Decision Set Editor for a Decision Set: right-click the Decision Set you want to set up, and then click Edit.
Initially the Decision Set Editor shows all top-level Variation Points, that is:
Variation Points that have the Root check box selected on the Options tab of their Property Pages.
Variation Points that are not the target of Requires relationships and are not linked to other Variation Points or Variants through Excludes relationships.
Variation Points that are mandatory are shown in bold text.
You can expand Variation Points and Variants to show their required and excluded Variation Points, that is, Variation Points that are linked through a Requires or Excludes relationship.
The Decision of each Variant is initially undecided. For each Variant you can change its Decision to Include, Exclude or Undecided. To set the Decision of a Variant: click the Decision cell, and then click Include, Exclude or Undecided as required.
If a Variant has a parameter, the default value or <x> is shown in the Value column.
Each Variant has a Status that is set to Undecided, Excluded or Included. When a Product Model is created, the Status of a Variant determines whether that Variant and its artifacts are removed from the Product Model or not.
* 
Under certain circumstances, the Decision Set Editor may not show all Variation Points and their Variants in the model. For more information, see The decision set editor and variant selector are not showing all variation points and variants.
You can use the Variant Selector to select Variants you want to include and exclude for external Variation Points (but not for internal Variation Points). For more information, see Overview of the variant selector.
Status of a variant
By default, the Status of a Variant is set to Undecided, but it can be set to Excluded or Included in the following ways, assuming an inconsistency does not occur:
Modeler includes a Variant when you set its Decision to Include (unless it has a parameter with no default value).
Modeler excludes a Variant when you set its Decision to Exclude.
Modeler includes a Variant when you set or change its parameter value.
Modeler includes a Variant when it is required by an included Variant or Variation Point.
Modeler excludes a Variant when it is excluded by an included Variant or Variation Point, or when it requires an excluded Variant or Variation Point.
When part of an Alternative Choice group:
Modeler includes a Variant when it is required to reach the minimum multiplicity of the Alternative Choice.
Modeler excludes a Variant when the maximum multiplicity of the Alternative Choice is reached.
Modeler includes a Variant when it is linked (through a mandatory Variability Dependency link) to an included Variation Point.
Modeler excludes a Variant when it is linked (through an optional or mandatory Variability Dependency link) to an excluded Variation Point.
For more detailed information about how the Status of a Variant can be set, including worked examples, see How the status of a variant can be set - decision set editor.
Status of a variation point
By default, the Status of a Variation Point is set to Undecided, but it can be set to Excluded or Included in the following ways, assuming an inconsistency does not occur:
Modeler includes a Variation Point when one or more of its optional or mandatory Variants are included.
Modeler excludes a Variation Point when one or more of its mandatory Variants are excluded.
Modeler includes a Variation Point when it is required by an Included Variant or Variation Point.
Modeler excludes a Variation Point when it is excluded by an Included Variant or Variation Point, or when it requires an excluded Variant or Variation Point.
For more detailed information about how the Status of a Variation Point can be set, including worked examples, see How the status of a variation point can be set - decision set editor.
Inconsistencies
When you make a decision for a Variant, it can result in an inconsistency occurring for that Variant, another Variant or a Variation Point.
An inconsistency occurs when Modeler attempts to set the Status of a Variant or Variation Point to both Included and Excluded. When a Decision Set has inconsistencies, those inconsistencies must be resolved in order to create a Product Model from that Decision Set.
For information about how inconsistencies can occur for a Decision Set and how you can resolve those inconsistencies, see Resolving inconsistencies in a decision set - decision set editor.
Creating a product model
Through the Decision Set Editor you can create a Product Model using a Decision Set.
The Status of a Variant or Variation Point determines whether that Variant or Variation Point and its Artifacts (items linked through Artifact Dependencies) are removed from the Product Model or not:
When set to Included, the Variant or Variation Point will be removed from the Product Model, but the Variant's or Variation Point's Artifacts will remain in the Product Model.
An included Artifact will remain in the model even if it is excluded by other Variants and Variation Points.
When set to Excluded, the Variant or Variation Point will be removed from the Product Model.
The Variant's or Variation Point's Artifacts will be removed from the Product Model, unless the Artifacts are also linked to an Included Variation Point or Variant, in which case they are not removed from the Product Model.
When set to Undecided:
An Undecided Variation Point and its Artifacts will remain in the Product Model, unless all the Variation Point's Variants are excluded.
An Undecided Variant of an undecided Variation Point will remain in the Product Model, as will the Variant's Artifacts.
An Undecided Variant of an Included Variation Point will be removed from the Product Model (unless the Variant is linked to a Variation Point that is not removed), as will the Variant's Artifacts.
For information about creating a Product Model, see the following topics:
Creating a product model from a previous version of a product line model
Creating a product model from a product line model (private sandbox)
Creating a product model from a product model
Creating a product model from the latest version of a product line model
Overview of creating product models
Decision set editor user interface
The Decision Set Editor has the following toolbar buttons:
Create Product Model button - creates a Product Model based on the Decision Set. This button is enabled only when at least one Decision is set to Include and there are no inconsistencies reported.
Prev Undecided button - selects the previous Variant that has its Status set to Undecided.
Next Undecided button - selects the next Variant that has its Status set to Undecided.
Prev Inconsistency button - selects the previous inconsistency.
Next Inconsistency button - selects the next inconsistency.
Include button - sets the Decision of the selected Variant to Include.
Exclude button - sets the Decision of the selected Variant to Exclude.
Undecided button - sets the Decision of the selected Variant to Undecided.
XML Report button - opens a dialog for you to save the Decision Set structure and content in an XML file. Note that you can generate an XML report that shows the Decision Set decisions and variability item inconsistencies: right-click the Decision Set, point to Tools, and then click Decision Set XML Report.
Report Inconsistent Items button - sends a report of the inconsistent items to the Output pane in Modeler.
The Decision Set Editor has the following columns:
Name - shows the name of a Variation Point or Variant.
Expand a Variation Point to see its Variants and constrained Variation Points. Expand a Variant to see its constrained Variation Points.
For a Variation Point, the icon shows whether the Variation Point is Mandatory or Operation, and whether the Variation Point is External or Internal.
Mandatory and External
Mandatory and Internal
Optional and External
Optional and Internal
Decision - shows and sets a Decision for each displayed Variant.
Initially shows Undecided for each Variant. To set a Decision, click the Decision cell, and then select Included, Excluded or Undecided.
When you set the Decision of a Variant to Excluded, Included or Undecided, Modeler sets the Status of the Variant to Excluded, Included or Undecided respectively, unless doing so creates an inconsistency in the Decision Set.
Value - shows the parameter value that is set for each Variation Point and Variant that has a parameter. To change the default value, select or type a new value. For more information, see Overview of variability parameters.
Status - shows the Status of each shown Variation Point and Variant. The Status can be Included, Excluded, Undecided or Inconsistent.
Included By - when the Status of a Variant or Variation Point is implicitly set to Included, the Included By column lists the Variants and Variation Points that are making that Status Included.
Excluded By - when the Status of a Variant or Variation Point is implicitly set to Excluded, the Excluded By column lists the Variants and Variation Points that are making that Status Excluded.
Reason - when the Status of a Variant or Variation point is set to Inconsistent, the Reason column reports what is causing the inconsistency. The Reason column also displays any consistency check errors for each Variation Point and its Alternative Choices, and for each Variant.
The Decision Set Editor has the following keyboard shortcuts:
Ctrl + B - selects the previous Variant that has its Status set to Undecided.
Ctrl + F - selects the next Variant that has its Status set to Undecided.
Ctrl + I - sets the Decision of the selected Variant to Include.
Ctrl + E - sets the Decision of the selected Variant to Exclude.
Ctrl + U - sets the Decision of the selected Variant to Undecided.
The Status Bar displays the following information:
Variants - shows how many of the Variants in the Decision Set have their Status set to Included or Excluded.
Variation Points - shows how many of the Variation Points in the Decision Set have their Status set to Included or Excluded.
Inconsistent - shows how many Variants and Variation Points are inconsistent.
If the inconsistent items are not shown in the Decision Set Editor, see Identifying inconsistent variants and variation points that are not shown in the decision set editor for more information about finding the items.
Undecided Mandatory Variation Points - shows how many mandatory Variation Points have their Status set to Undecided.