TutorialGPCE3

Generative Programming and Component Engineering

Using Feature Models for Product Derivation

Danilo Beuche, pure-systems GmbH

Olaf Spinczyk, University Erlangen-Nuremberg

Monday, Oct 23, from 08:30 to 12:00

Abstract

In general the implementation of a software product line leads to a high degree of variability within the software architecture. For an effective development and deployment it is necessary to resolve variation points in architecture and source code automatically during product/variant derivation. Given the complexity of most software systems tool support is necessary for these tasks. This tutorial shows how feature models combined with appropriate tools can provide this support. At first the importance of the separation of problem space modeling and solution space modelling is discussed. Concepts how to connect both spaces using constraints and/or generative approaches are shown. Furthermore some typical patterns of variability in the solution space are shown and their automatic resolution in common languages like C/C++ and Java is demonstrated. Integration of code generators, aspect-oriented programming and software configuration management systems into the derivation process is also discussed. The tutorial is accompanied by short demonstrations of the presented concepts with freely available tools (XVCL, pure::variants, OAW) and thereby gives attendees an idea where to look when concepts are put into practice.

Level: Introductory/Intermediate

Required Knowledge

Practitioners from Industry (SPL Novice to Intermediate) - attendees should have a basic understanding software design, some knowledge about software product lines in general is helpful.

Speaker profiles

Olaf is Assistant Professor of Computer Science at Friedrich-Alexander University Erlangen-Nuremberg, Germany. He is an experienced researcher and tutorial presenter who works in the area of aspect-oriented software product lines. His current research projects CiAO? and Fame-DBMS are targeting the domain of embedded systems and exploit aspect-oriented and feature-oriented programming languages.

Danilo is managing director of the pure-systems GmbH. He works as consultant in the area of product line development mainly for client from the automotive industry. He has been tutorial presenter, speaker, workshop organizer and panellist at conferences such as AOSD, ISORC, SPLC and OOPSLA.