Context-aware reconfiguration in evolving software product lines

Abstract 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.

[1]  Michael Nieke,et al.  Context Aware Reconfiguration in Software Product Lines , 2016, VaMoS.

[2]  Susan T. Dumais,et al.  Learning user interaction models for predicting web search result preferences , 2006, SIGIR.

[3]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[4]  Sean Bechhofer OWL: Web Ontology Language , 2018, Encyclopedia of Database Systems.

[5]  Krzysztof Czarnecki,et al.  SAT-based analysis of large real-world feature models is easy , 2015, SPLC.

[6]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[7]  Rossana M. de Castro Andrade,et al.  Fixture - A Tool for Automatic Inconsistencies Detection in Context-aware SPL , 2015, ICEIS.

[8]  Michael Nieke,et al.  User Profiles for Context-Aware Reconfiguration in Software Product Lines , 2016, ISoLA.

[9]  Filip Maric,et al.  Formalization and Implementation of Modern SAT Solvers , 2009, Journal of Automated Reasoning.

[10]  Taek-Soo Kim,et al.  A formal model for user preference , 2002, 2002 IEEE International Conference on Data Mining, 2002. Proceedings..

[11]  Cláudia Maria Lima Werner,et al.  A Verification Mechanism of Feature Models for Mobile and Context-Aware Software Product Lines , 2011, 2011 Fifth Brazilian Symposium on Software Components, Architectures and Reuse.

[12]  Michael Nieke,et al.  Guaranteeing Configuration Validity in Evolving Software Product Lines , 2016, VaMoS.

[13]  Antonio Ruiz Cortés,et al.  Automated Reasoning on Feature Models , 2005, CAiSE.

[14]  Jon Doyle,et al.  Background to Qualitative Decision Theory , 1999, AI Mag..

[15]  Tim Trew,et al.  Using Feature Diagrams with Context Variability to Model Multiple Product Lines for Software Supply Chains , 2008, 2008 12th International Software Product Line Conference.

[16]  Lidia Fuentes,et al.  Creating Self-Adapting Mobile Systems with Dynamic Software Product Lines , 2015, IEEE Software.

[17]  Masataka Goto,et al.  Hybrid Collaborative and Content-based Music Recommendation Using Probabilistic Model with Latent User Preferences , 2006, ISMIR.

[18]  Michael Nieke,et al.  DarwinSPL: an integrated tool suite for modeling evolving context-aware software product lines , 2017, VaMoS.

[19]  Krzysztof Czarnecki,et al.  SAT-based analysis of feature models is easy , 2009, SPLC.

[20]  Laurence Duchien,et al.  Context awareness for dynamic service-oriented product lines , 2009, SPLC.

[21]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[22]  Stefan Kowalewski,et al.  EvoFM: feature-driven planning of product-line evolution , 2010, PLEASE '10.

[23]  Sinisa Neskovic,et al.  Context modeling based on feature models expressed as views on ontologies via mappings , 2015, Comput. Sci. Inf. Syst..

[24]  Alexandr Murashkin,et al.  Visualization and exploration of optimal variants in product line engineering , 2013, SPLC '13.

[25]  Thomas Thüm,et al.  Using decision rules for solving conflicts in extended feature models , 2015, SLE.

[26]  Ebrahim Bagheri,et al.  Dynamic Software Product Line Engineering: A Reference Framework , 2017, Int. J. Softw. Eng. Knowl. Eng..

[27]  Olivier Barais,et al.  Composing Your Compositions of Variability Models , 2013, MoDELS.

[28]  Chouki Tibermacine,et al.  Model-Driven Generation of Context-Specific Feature Models , 2013, SEKE.

[29]  Cristina Chesta,et al.  A Toolchain for Delta-Oriented Modeling of Software Product Lines , 2016, ISoLA.

[30]  Naoyasu Ubayashi,et al.  Context-aware feature-oriented modeling with an aspect extension of VDM , 2007, SAC '07.

[31]  Nikolaj Bjørner,et al.  Satisfiability modulo theories , 2011, Commun. ACM.

[32]  Cláudia Maria Lima Werner,et al.  MobiLine: A Nested Software Product Line for the domain of mobile and context-aware applications , 2013, Sci. Comput. Program..

[33]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[34]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[35]  Cláudia Maria Lima Werner,et al.  An Approach for Feature Modeling of Context-Aware Software Product Line , 2011, J. Univers. Comput. Sci..

[36]  Christian Becker,et al.  A Dynamic Software Product Line Approach for Adaptation Planning in Autonomic Computing Systems , 2017, 2017 IEEE International Conference on Autonomic Computing (ICAC).

[37]  Tsuyoshi Murata,et al.  {m , 1934, ACML.

[38]  Stephan Reiff-Marganiec A structured approach to VO reconfigurations through Policies , 2011, FAVO.

[39]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[40]  Jesús García-Galán,et al.  BETTY: Benchmarking and Testing on the Automated Analysis of Feature Models , 2012 .

[41]  Peter J. Stuckey,et al.  MiniSearch: A Solver-Independent Meta-Search Language for MiniZinc , 2015, CP.

[42]  Michael Nieke,et al.  Anomaly Detection and Explanation in Context-Aware Software Product Lines , 2017, SPLC.

[43]  Donald D. Cowan,et al.  S.P.L.O.T.: software product lines online tools , 2009, OOPSLA Companion.

[44]  Toby Walsh,et al.  Handbook of Constraint Programming (Foundations of Artificial Intelligence) , 2006 .

[45]  Ronen I. Brafman,et al.  Preference‐Based Constrained Optimization with CP‐Nets , 2004, Comput. Intell..

[46]  Rafael Capilla,et al.  A Runtime Variability Mechanism Based on Supertypes , 2016, 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W).

[47]  Peter J. Stuckey,et al.  MiniZinc: Towards a Standard CP Modelling Language , 2007, CP.

[48]  Mathieu Acher,et al.  Modeling Context and Dynamic Adaptations with Feature Models , 2009 .