Software Acumen Home Page

pure::variants tutorials - step-by-step examples to get you started

Each of these tutorials shows how pure::variants addresses some common problem. By working through these you will quickly learn how pure::variants is used in practice.

Most of the tutorials have a complete project available for download so that you can see the finished results without following all the steps.

Overview of Software Product Line Engineering with pure::variants

This tutorial shows how to design a pure::variants Software Product Line to generate product variants using an easy to understand, practical example.

Download the tutorial (PDF).

Generating program variants with Text Transformation

This tutorial shows the use of text transformations to configure a simple C++ application that prints intermediate calculation results in different formats depending on how it is configured. When the application is started the application version and build date are also shown.

Download the tutorial (PDF). Download the Eclipse project.

Generating Variants Using XSLT

This tutorial shows how variants can be generated using XSLT transformations. The tutorial use the example of laptops, consisting of the same components in different combinations, being sold in a shop. Each time an order is placed, an order form is created that lists the components, the price of each component, and the total cost. The order form is an HTML document is generated using an XSLT script.

Download the tutorial (PDF). Download the Eclipse project.

Generating C/C++ style flags

This tutorial shows how C/C++ style flags may be generated using pure::variants. We model the flags in a Family Model and set up a transformation to generate the defines for the selected features.

Download the tutorial (PDF). Download the Eclipse Project.

Generating variable makefiles

This tutorial shows how makefiles variants can be generated. The generated makefiles include the files needed for a build and for different compiler options (Debug, Release, with Profiling).

Download the tutorial (PDF). Download the Eclipse project.

Generating Microsoft Visual Studio® Projects

This tutorial shows how to generate Visual Studio® project file variants for an application. Different variants are created with different project options, debug and release features, and with different code included in the project files.

Download the tutorial (PDF). Download the Eclipse project.

Creating a pure::variants Feature Model from a CSV File

In this more advanced tutorial we show how a Feature Model can be created and updated using data held outside pure::variants in CSV files. The tutorial uses the pure::variants Synchronization Framework - a general framework for creating and synchronizing pure::variants models from external data sources.

Download the tutorial (PDF).

The resulting project is distributed as part of the pure::variants Extensibility SDK. After this SDK has been installed this project can be installed by navigating to "File->New->Example->Variant Management SDK" and selecting <tt>com.ps.pvesdk.examples.import.csv.plugin</tt> from the "Extensibility Example Plugins" list. The example project can be installed into the eclipse runtime by selecting <tt>com.ps.pvesdk.examples.import.csv.pvproject</tt> from the "Extensibility Example Projects" list.

Developing a new model validation test

Model validation tests are applied in order to validate pure::variants models. If a test detects a problem in a model a quick fix can be used to solve the problem automatically. In this advanced tutorial we show how a new test and quick fix may be added to pure::variants using the pure::variants Model Validation Framework.

Download the tutorial (PDF).

The resulting project is distributed as part of the pure::variants Extensibility SDK. After this SDK has been installed this project can be installed by navigating to "File->New->Example->Variant Management SDK" and selecting <tt>com.ps.pvesdk.examples.modelvalidation.plugin</tt> from the "Extensibility Example Plugins" list.


Visual Studio is a registered trademark of Microsoft Corporation in the United States and/or other countries.

AddThis Social Bookmark Button

Download pure::variants

You will need to download pure::variants in order to try most of these tutorials.