The product line engineering approach has a single set of artifacts, each describing a single product as well as encompassing the entire product line with all variability in it (the so-called 150% model of the system). These artifacts then need to be narrowed down in an automated way to get the description of a specific product in the product line (the 100% model of the system).

The variability existing in the product line is compactly described in terms of features, usually organized into a feature tree. A particular product in the product line is then compactly described by a set of feature choices (a configuration). The feature model and defined configurations, such as Pure Variants, are kept separately in the PLE tool or modeled directly in the modeling tool.

Features from the feature model must then be tied to particular places, known as variation points, in the system model to specify how a system model changes depending on the feature choices.


The following steps outline how to generate a particular model variant from the system model:

  1. Connecting feature and system models. The feature model is specified in pure::variants; the system model is specified in a modeling tool.
  2. Specifying the variation points in the system model.
  3. Generating a particular product variant.