Metrics on Feature Models to Optimize
Configuration Adaptation at Run Time
Résumé
Feature models are widely used to capture variability, commonalities and configuration rules of software systems. We apply this technique for modeling component-based systems that exhibits many variability factors at specification, implementation, and run time levels. This representation allows us to determine the set of valid configurations to apply in a given execution context, including at run time. A key challenge is to determine which configuration should be chosen taking into account especially non-functional aspects: quality of service, performance, reconfiguration time... We propose an algorithm for selecting the configuration that optimizes a given quality metrics. This algorithm is a variant of the Best-First Search algorithm, a heuristic technique suitable for feature model optimization. The algorithm is parameterized with different strategies and heuristics on feature models producing different optimality and efficiency characteristics. We discuss the algorithm, its strategies and heuristics, and we present experimental results showing that the algorithm meets the requirements for its application in our real time systems.