ProDSPL: proactive self-adaptation based on dynamic software product lines

Dynamic Software Product Lines (DSPLs) are a well-accepted approach to self-adaptation at runtime. In the context of DSPLs, there are plenty of reactive approaches that apply countermeasures as soon as a context change happens. In this paper we propose a proactive approach, ProDSPL, that exploits an automatically learnt model of the system, anticipates future variations of the system and generates the best DSPL configuration that can lessen the negative impact of future events on the quality requirements of the system. Predicting the future fosters adaptations that are good for a longer time and therefore reduces the number of reconfigurations required, making the system more stable. ProDSPL formulates the problem of the generation of dynamic reconfigurations as a proactive controller over a prediction horizon, which includes a mapping of the valid configurations of the DSPL into linear constraints. Our approach is evaluated and compared with a reactive approach, DAGAME, also based on a DSPL, which uses a genetic algorithm to generate quasi-optimal feature model configurations at runtime. ProDSPL has been evaluated using a strategy mobile game and a set of randomly generated feature models. The evaluation shows that ProDSPL gives good results with regard to the quality of the configurations generated when it tries anticipate future events. Moreover, in doing so, ProDSPL enforces the system to make as few reconfigurations as possible.

[1]  Ebrahim Bagheri,et al.  Toward automated quality‐centric product line configuration using intentional variability , 2017, J. Softw. Evol. Process..

[2]  Yinglin Wang,et al.  Formalizing Feature Selection Problem in Software Product Lines Using 0-1 Programming , 2011 .

[3]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

[4]  Christian Becker,et al.  Optimal reconfiguration of dynamic software product lines based on performance-influence models , 2018, SPLC.

[5]  André Almeida,et al.  A Branch-and-Bound Algorithm for Autonomic Adaptation of Multi-cloud Applications , 2014, 2014 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[6]  Gunter Saake,et al.  SPL Conqueror: Toward optimization of non-functional properties in software product lines , 2012, Software Quality Journal.

[7]  Frank Eliassen,et al.  MUSIC: Middleware Support for Self-Adaptation in Ubiquitous and Service-Oriented Environments , 2009, Software Engineering for Self-Adaptive Systems.

[8]  Patrick Donohoe,et al.  Feature-Oriented Project Line Engineering , 2002, IEEE Softw..

[9]  Robert F. Dell,et al.  Formulating Integer Linear Programs: A Rogues' Gallery , 2007, INFORMS Trans. Educ..

[10]  V. Basili Software modeling and measurement: the Goal/Question/Metric paradigm , 1992 .

[11]  Henry Hoffmann,et al.  Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems , 2012, TAAS.

[12]  Sooyong Park,et al.  Dynamic Software Product Lines , 2008, Computer.

[13]  Mira Mezini,et al.  A Dynamic Software Product Line Approach Using Aspect Models at Runtime , 2010 .

[14]  Imre Horvath,et al.  A Review of the Principles of Designing Smart Cyber-Physical Systems for Run-Time Adaptation: Learned Lessons and Open Issues , 2019, IEEE Transactions on Systems, Man, and Cybernetics: Systems.

[15]  Xin Yao,et al.  FEMOSAA , 2016, ACM Trans. Softw. Eng. Methodol..

[16]  H. P. Williams Logic applied to integer programming and integer programming applied to logic , 1995 .

[17]  Patricia Lago,et al.  Self-Adaptation in Mobile Apps: a Systematic Literature Study , 2019, 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

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

[19]  Jesper Andersson,et al.  ASPLe: A methodology to develop self-adaptive software systems with systematic reuse , 2020, J. Syst. Softw..

[20]  Ebrahim Bagheri,et al.  Self-adaptation of service compositions through product line reconfiguration , 2018, J. Syst. Softw..

[21]  Jose-Miguel Horcas,et al.  Energy efficient adaptation engines for android applications , 2020, Inf. Softw. Technol..

[22]  Yinglin Wang,et al.  A genetic algorithm for optimized feature selection with resource constraints in software product lines , 2011, J. Syst. Softw..

[23]  Bradley R. Schmerl,et al.  Proactive self-adaptation under uncertainty: a probabilistic model checking approach , 2015, ESEC/SIGSOFT FSE.

[24]  Gunnar Brataas,et al.  Performance property prediction supporting variability for adaptive mobile systems , 2011, SPLC '11.

[25]  Nagarajan Kandasamy,et al.  Power and performance management of virtualized computing environments via lookahead control , 2008, 2008 International Conference on Autonomic Computing.

[26]  Magnus C. Ohlsson,et al.  Experimentation in Software Engineering , 2000, The Kluwer International Series in Software Engineering.

[27]  E. Hadjiconstantinou,et al.  Transformation of propositional calculus statements into integer and mixed integer programs: An approach towards automatic reformulation , 1990 .

[28]  Mohamed Tahar Kimour,et al.  Adapting large pervasive and context-aware systems. A new evolutionary-based approach , 2017, Int. J. Knowl. Based Intell. Eng. Syst..

[29]  Sooyong Park,et al.  Building Dynamic Software Product Lines , 2012, Computer.

[30]  Bradley R. Schmerl,et al.  Reasoning about sensing uncertainty and its reduction in decision-making for self-adaptation , 2018, Sci. Comput. Program..

[31]  John Mylopoulos,et al.  Engineering Self-Adaptive Software Systems , 2018, ACM Trans. Auton. Adapt. Syst..

[32]  Kajal T. Claypool,et al.  Latency and player actions in online games , 2006, CACM.

[33]  Henry Hoffmann,et al.  Automated control of multiple software goals using multiple actuators , 2017, ESEC/SIGSOFT FSE.

[34]  Lidia Fuentes-Fernández,et al.  Mecanismos de Reconfiguración Eco-eficiente de Código en Aplicaciones Móviles Android , 2018 .

[35]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[36]  Kang G. Shin,et al.  How Long Will My Phone Battery Last? , 2017, ArXiv.

[37]  Wim Lamotte,et al.  An evaluation of the impact of game genre on user experience in cloud gaming , 2013, 2013 IEEE International Games Innovation Conference (IGIC).

[38]  Lennart Ljung,et al.  System Identification: Theory for the User , 1987 .

[39]  Sven Apel,et al.  Tailoring dynamic software product lines , 2011, GPCE '11.

[40]  Marko Bacic,et al.  Model predictive control , 2003 .

[41]  Eduardo Santana de Almeida,et al.  On the implementation of dynamic software product lines: An exploratory study , 2018, J. Syst. Softw..

[42]  Holger Giese,et al.  Self-adaptation for Individual Self-aware Computing Systems , 2017, Self-Aware Computing Systems.

[43]  Alexander Egyed,et al.  Applying multiobjective evolutionary algorithms to dynamic software product lines for reconfiguring mobile applications , 2015, J. Syst. Softw..

[44]  Thomas F. Edgar,et al.  Process Dynamics and Control , 1989 .

[45]  John Mylopoulos,et al.  Model Predictive Control for Software Systems with CobRA , 2016, 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[46]  Lidia Fuentes,et al.  Self-adaptation of mobile systems driven by the Common Variability Language , 2015, Future Gener. Comput. Syst..

[47]  Bradley R. Schmerl,et al.  Comparing Model-Based Predictive Approaches to Self-Adaptation: CobRA and PLA , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[48]  Antonio Ruiz Cortés,et al.  Article in Press G Model the Journal of Systems and Software an Overview of Dynamic Software Product Line Architectures and Techniques: Observations from Research and Industry , 2022 .

[49]  P. Hansen Methods of Nonlinear 0-1 Programming , 1979 .

[50]  Danny Weyns,et al.  A systematic literature review on methods that handle multiple quality attributes in architecture-based self-adaptive systems , 2017, Inf. Softw. Technol..