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:
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.
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:
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.
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:
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:
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.
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.