Skip to content
Stephan Seifermann edited this page Nov 18, 2015 · 12 revisions

This is a short introduction how to create a SPLevo project and analyze your product copies.

Preparation

To follow this quick start, it is recommended to download the Calculator Example. Extract the two Eclipse projects contained in the calculator example zip archive and import them into your eclipse workspace.

Install the SPLevo Core and JaMoPP Java Cartridge from the update site:
https://sdqweb.ipd.kit.edu/eclipse/splevo/releases/stable

Create a new Consolidation Project

Create a new project using the SPLevo menu and select "New Consolidation Project" (see Screenshot below).
New Consolidation Project

A wizard will ask your to provide a name for your consolidation project and lets you select the projects to consolidate
New consolidation project name New consolidation project projects

Provide a reasonable name, select the projects you want to consolidate, provide names for the variants, and click finish or next.
If you click next you will get all packages of your selected projects and can select which package should be ignored. If you click next again instead of finish you'll come to the Package Mapping Page. On this page you can map differing sets of packages to each other.
New consolidation project name New consolidation project name
After you are done click finish.

You will be presented with the SPLevo Dashboard to control your consolidation:

The leading project represents the fixture of your consolidation. It provides the code base for the future software product line. The other copies are denoted as integration copies as they are integrated with according variability mechanisms into the code base of the leading copy.

Find differences and initialize Variation Point Model

To start over, click the "Init VPM" button. Your product copies will be analyzed for differences between them and a variation point model (VPM) will be opened in the VP Explorer on the left.

This explorer lets you browse through the resources differing between the product variants to be consolidated. The variation points are presented according to the resources they are contained in.

At this point, you are presented with a fine granular VPM with each difference being represented as one variation point (VP) including the according variants. The VPM is used in the downstream process to design the variability of the future spoftware productline.

Variation Point Model Analysis

Now, we are ready to analyze the identified variation points (differences) for any relationships between them.

Click the button "Refine VPM":

A dialog will open to let you select the analyzers you would like to execute.
Recommendation for the QuickStart: Choose the "JaMoPP Program Dependency Analyzer":

Now, click on the next button. On the following page you can choose between the VPM Graph visualisation or the refinement browser. The former provides a fancy vizualization only, but you should go with VPM Refinement Browser selected by default. Keep the rest of the settings as they are for now, and go with the "finish" button.

This will start the analysis. As soon as it is done, the VPM Refinement Browser is opened and recommends reasonable merges and groupings of the variation points based on the relationships identified between them.

If you click on a recommended refinement, information about the recommendations are presented in the right margin of the browser. In the center area, you can expand a tree with variation points that will be merged or grouped. (A right click on the Variation Points or contained variants provides you a link to the related source code). Finally, at the bottom right, relationships detected between variation points are visualized as a graph and allows you to easily identify central variation points and relationship clusters. A double click on a variation point node opens the according code locations.

However, you should accept the refinements and click on the small "play" icon in the top right corner of the refinement browser. The variation point model is now adapted according to the refinements and its new version is opened in the VP Explorer.

Product Line Export

In the future, the "Refactor Copies" and "Export SPL" will later on allow you to finalize all artifacts required to continue with a single code base product line. Up to know, the refactoring functonality is in an early prototype stage. However, you can already use the export to receive a a feature representation of the variability designed. Clicking on "Export SPL" will generate an EMF Feature Model and open it as a feature diagram. The model and diagram files are located in a subdirectory of your consolidation project (i.e., "models\fm").

Clone this wiki locally