Tailoring Dynamic Software Product Lines
Marko Rosenmueller, Norbert Siegmund, Mario Pukall and Sven Apel
Abstract:
Software product lines (SPLs) and adaptive systems aim at variability to cope with changing requirements. Variability can be described in terms of features, which are central for development and configuration of SPLs. In traditional SPLs, features are bound statically before runtime. By contrast, adaptive systems support feature binding at runtime and are sometimes called dynamic SPLs (DSPLs). DSPLs are usually built from coarse-grained components, which reduces the number of possible application scenarios. To overcome this limitation, we closely integrate static binding
of traditional SPLs and runtime adaptation of DSPLs. We achieve
this integration by statically generating a tailor-made DSPL from a
highly customizable SPL. The generated DSPL provides only the
runtime variability required by a particular application scenario and
the execution environment. The DSPL supports self-configuration
based on coarse-grained modules. We provide a feature-based
adaptation mechanism that reduces the effort of computing an optimal configuration at runtime. In a case study, we demonstrate the
practicability of our approach and show that a seamless integration
of static binding and runtime adaptation reduces the complexity of
the adaptation process.