TY - JOUR
T1 - Context-aware reconfiguration in evolving software product lines
AU - Mauro, Jacopo
AU - Nieke, Michael
AU - Seidl, Christoph
AU - Chieh Yu, Ingrid
PY - 2018
Y1 - 2018
N2 - Software Product Lines (SPLs) are a mechanism for large-scale reuse where families of related software systems are represented in terms of commonalities and variabilities, e.g., using Feature Models (FMs). While FMs define all possible configurations of an SPL, when considering dynamic SPLs and environmental conditions, not every possible configuration may be valid in all possible contexts. A change in the environment may, therefore, require the reconfiguration of the SPL. With common modeling methodologies, it is not possible to capture the correlation of configuration options, contextual influences, user customizations, and evolution. In this paper, we remedy this problem by first defining a novel framework that allows modeling customizable evolving context-aware SPLs. We then provide a reconfiguration engine that computes how the current configuration needs to be reconfigured when the context is altered, the user preferences changed or the SPL artifacts are evolved and the configuration is adapted to reflect the evolved artifacts.
AB - Software Product Lines (SPLs) are a mechanism for large-scale reuse where families of related software systems are represented in terms of commonalities and variabilities, e.g., using Feature Models (FMs). While FMs define all possible configurations of an SPL, when considering dynamic SPLs and environmental conditions, not every possible configuration may be valid in all possible contexts. A change in the environment may, therefore, require the reconfiguration of the SPL. With common modeling methodologies, it is not possible to capture the correlation of configuration options, contextual influences, user customizations, and evolution. In this paper, we remedy this problem by first defining a novel framework that allows modeling customizable evolving context-aware SPLs. We then provide a reconfiguration engine that computes how the current configuration needs to be reconfigured when the context is altered, the user preferences changed or the SPL artifacts are evolved and the configuration is adapted to reflect the evolved artifacts.
KW - Context-aware
KW - Optimization
KW - Preferences
KW - SPL
U2 - 10.1016/j.scico.2018.05.002
DO - 10.1016/j.scico.2018.05.002
M3 - Journal article
AN - SCOPUS:85047275609
SN - 0167-6423
VL - 163
SP - 139
EP - 159
JO - Science of Computer Programming
JF - Science of Computer Programming
ER -