Combining Static and Dynamic Feature Binding in Software Product Lines
Marko Rosenmüller, Norbert Siegmund, Gunter Saake, Sven Apel, Arbeitsgruppe Datenbanken · 2009
Software product lines (SPL) are used to build similar programs from a single code base. Programs of an SPL can be distinguished in terms of features, which represent units of program functionality that satisfy requirements. Features of an SPL can be bound either statically at program compile time or dynamically at runtime. Both binding times have advantages and disadvantages, as we will explain. However, contemporary techniques and tools for implementing SPLs do not allow a programmer to flexibly choose the binding time per feature. We present an approach that integrates static and dynamic feature binding. It allows a programmer to implement an SPL once and to decide later which features are statically bound and which dynamically. We provide a compiler and report from experiences of applying our approach to two non-trivial product lines. We analyze resource consumption of the SPLs and provide a guideline for optimizing resource consumption.