Variability Modeling > Modeling variability in a model > What's new in variability modeling > Overview of variability modeling in Modeler
  
Overview of variability modeling in Modeler
Product Line Engineering (PLE), also known as Product Family Engineering (PFE) is a method that defines the underlying architecture of an organization's product platform. Part of this method defines variability modeling.
Modeler provides Variability Modeling facilities that can be defined orthogonally to your base UML, SysML, UPDM, etc. models, directly on existing diagrams or a mix of both. Modeler implements variant modeling using the Orthogonal Variability Modeling (OVM) notation defined in Software Product Line Engineering (K. Pohl et al, 2005).
Modeler supports variability modeling through Variant Diagrams, Variation Points, Variants and the variability relationships.
After modeling the variability in the model, you can create Decision Sets and then choose to include or exclude Variants for those Decisions Sets through the Decision Set Editor or Variant Selector:
The Decision Set Editor is available inside Modeler.
The Variant Selector is available outside of Modeler in Microsoft's Internet Explorer®.
After making decisions for your Decision Sets, you can generate Product Models based on those Decision Sets. The decisions that have been made for Variants in a Decision Set determine the content of a Product Model that is created through that Decision Set.
* 
When a model contains a Variant that model is a Product Line Model. You require a Product Line Model Access license to open a Product Line Model. In addition, you require a Product Line Engineering license to change variability items in a Product Line Model.
Variability modeling licenses
After creating a Variant in a model, that model becomes is a Product Line Model. Through a Decision Set, you can create a Product Model from a Product Line Model. You require the following licenses to open and work with a Product Line model or Product Model:
To open a Product Line Model or Product Model, you required a Product Line Model Access license.
To create variability items in a Product Line Model or Product Model, you require a Product Line Engineering license.
To create a Product Model from a Product Line Model, you require a Product Line Engineering license.
In addition to the preceding licenses, to use the variability modeling features in a model you must enable variability modeling.
Enabling Variability modeling
You can choose to enable or disable variability modeling in a Modeler model through the Tools Option dialog:
When variability modeling is disabled for a model, you cannot use the variability modeling features to edit variability modeling diagrams or items in that model.
If you open a model for which variability modeling is disabled, Modeler does not take a Product Line Engineering license.
When variability modeling is enabled for a model, you can use the variability modeling features to edit variability modeling diagrams and items in that model, assuming that a Product Line Engineering license is available.
If you open a model for which variability modeling is enabled, Modeler takes a Product Line Engineering license.
You can perform the following tasks only when variability modeling is enabled and you have a Product Line Engineering license:
Create Variant Diagrams, Variation Points, Variants, Decision Sets and variability relationships
Create Product Models.
Use the Variability toolbar.
Use the Decision Set Editor.
For more information about enabling and disabling variability modeling, see Enabling and disabling variability modeling in a model.
Variant diagrams
Modeler provides variability modeling through orthogonal variability modeling (OVM). Variant Diagrams document variability in your models as separate diagrams that do not clutter your base model diagrams (non-variability diagrams). Alternatively, if you do not want to keep your variability modeling separate from the base model diagrams, you can add variability items and relationships to your base model diagrams, or even mix both approaches in the same model.
To create a Variant Diagram: right-click the Package that is to own the Variant Diagram, point to New, point to Variability, and then click Variant Diagram.
On a Variant Diagram, or any other diagram type, you can create the following variability items and relationships:
Variant, Variation Point and Alternative Choice items.
Excludes, Requires, Variability, and Artifact relationships.
For more information about the items and relationships that can appear on a Variant Diagram, see Overview of variability items and relationships on diagrams.
Variability toolbar
Through the Variability toolbar you can create the variability items and relationships on any diagram. To show the Variability toolbar: on the View menu, point to Toolbars, and then click Variability.
For more information about the tasks you can perform through the Variability toolbar, see the following topics:
Creating a requires dependency
Creating a variability dependency
Creating a variant
Creating a variation point
Creating an alternative choice
Creating an artifact dependency
Creating an excludes dependency
Showing and hiding the variability toolbar
Decision sets
A Decision Set records a collection of decisions to include or exclude Variants for a Product Model, the status of 'undecided' can also be recorded for Variants. You can have many Decision Sets in a model.
For more information about Decision Sets, see Creating a decision set and Overview of defining decision sets.
Decision set editor
The Decision Set Editor is available inside Modeler and through it you can choose which Variants to include and exclude for the model's Variation Points.
When you choose to include or exclude a Variant, the Decision Set Editor updates the Status of that Variant along with any related Variants and Variation Points. If any choices you make result in any inconsistencies (the Status of a Variant or Variation Point being required to be both included and excluded), those inconsistencies are reported along with references to the items that are causing the inconsistencies.
The Decision Set Editor is designed for editing both internal and external Variation Points. As well as decision making it is also aimed at Variant design debugging and impact analysis.
For more information about the Decision Set Editor, see the following topics:
Choosing variants to include and exclude through the decision set editor
How the status of a variant can be set - decision set editor
How the status of a variation point can be set - decision set editor
Opening the decision set editor
Overview of the decision set editor
Resolving inconsistencies in a decision set - decision set editor
Variant selector
The Variant Selector is available outside of Modeler in Microsoft's Internet Explorer® and through it you can choose Variants to include and exclude for a Decision Set's external Variation Point.
Unlike the Decision Set Editor, the Variant Selector is designed to allow customers, marketers, managers, etc. to make decisions for external Variation Points without exposing the internal Variation Points.
Note that you can use the Variant Selector only on computers that have Modeler installed.
For more information about the Variant Selector, see the following topics:
Choosing variants to include and exclude through the variant selector
How the status of a variant can be set - variant selector
How the status of a variation point can be set - variant selector
Overview of the variant selector
Starting the variant selector
Product line models and product models
After you have chosen which Variants you want to include and exclude in a Decision Set, you can create a Product Model from the combination of that Decision Set and its Product Line Model.
A Product Line Model is the model that contains the model items and variability items.
A Product Model is a model that is created from a Product Line Model using a Decision Set. The decisions that have been made for Variants in a Decision Set determine the content of a Product Model that is created through that Decision Set.
You can create a Product Model from a Decision Set only when there are no inconsistencies in that Decision Set and at least one decision has been made.
To create a Product Model, right-click the Decision Set that you want to use, and then click Create Product Model. You can also create a Product Model by using the Decision Set Editor and Variant Selector.
When a Product Line Model's Decision Set is used to create a Product Model, Modeler creates the Product Model (which is effectively a copy of the Product Line Model) and then removes the following items from the Product Model:
All Decision Sets, decided Variation Points and typically Variants that have their Status set to Included or Excluded.
All base model items that are linked through Artifact Dependencies to Variants and Variation Points that have their Status set to Excluded, unless they are also linked to one or more Included Variation Point or Variant, in which case they are not removed from the Product Model.
Undecided Variation Points and their undecided Variants are typically not removed from a Product Model, so at a later time you can create a new Decision Set in a Product Model, make decisions for any of those previously undecided Variation Points, and then create another Product Model based on those additional decisions.
For more information about which how Variation Points, Variants and their artifacts are removed from a Product Model, see Overview of creating product models.
For more information about creating a Product Model from a Decision Set, see Creating a product model and Overview of defining decision sets.
Publisher reports
Publisher includes two Document Templates named 'Product Line Engineering (PLE) - HTML' and 'Product Line Engineering (PLE) - Word' for generating reports about the variability diagrams and items in a model.
Reviewer
Reviewer includes metrics reviews for variability.