Using Feature Models for Product Derivation
Danilo Beuche, pure-systems
Olaf Spinczyk, University of Erlangen-Nuremberg
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 with in the 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 modelling 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 (XVLC, pure::variants, OAW) and thereby gives attendees an idea where to look when
concepts are put into practice.
Duration: Half-day
Level: Practitioners from Industry (SPL Novice to Intermediate)
Required Knowledge:
Attendees should have a basic understanding software design, some
knowledge about software product lines in general is helpful.
Speaker Profiles
Olaf Spinczyk is an Assistant Professor of Computer Science at the Friedrich-Alexander University
Erlangen-Nuremberg, Germany. His current research is focused on the combination of generic and
generative programming with AOP in AspectC++.
Danilo Beuche is managing director of the pure-systems GmbH. He works as consultant in the area of
product line development mainly for clients from the automotive industry.
He has been tutorial presenter, speaker, workshop organizer and panelist at conferences such as
AOSD, ISORC, SPLC and OOPSLA.