Multi-Objective Optimization in Product Lines using Clafer
Introduction
Product-line engineering (PLE) is an approach to engineering a family of different products with a shared architecture and common components. Individual product variants are characterized by a selection of features from the feature model of the product family. Some features contribute positively or negatively to the overall quality of a variant. The challenge faced by product-line engineers is discovering which variants are optimal with respect to a set of objectives and what trade-offs have to be made when choosing among the optimal variants.
Figure 1 presents a workflow for multi-objective modeling in product line engineering:
The entire workflow is supported by Clafer Tools 0.4.2:
- In phases Variability Modeling and Measurement, we
use Clafer for specifying
the feature models, quality attributes, individual feature contributions
to quality, and optimization objectives.
- For web-based editing, we use ClaferIDE.
- For analyzing the variability space, we use Clafer Configurator.
- In phase Multi-Objective Optimization, we use ClaferMoo.
- Finally, in phase Visualization & Exploration, we use ClaferMoo Visualizer.
Examples
For some larger examples, visit the following pages:
- Mobile Phone Example - a running example from a paper
- Android4 Example - a synthetic example with four objectives
- BerkeleyDB Example - a real-world example with three objectives
- Adaptive Cruise Control - a small realistic example
- APU Example - APU = CPU + GPU
For an example step-by-step workflow with the Visualizer visit