Transfer learning for multiobjective optimization algorithms supporting dynamic software product lines

Dynamic Software Product Lines (DSPLs) are a well-accepted approach for self-adapting Cyber-Physical Systems (CPSs) at run-time. The DSPL approaches make decisions supported by performance models, which capture system features' contribution to one or more optimization goals. Combining performance models with Multi-Objectives Evolutionary Algorithms (MOEAs) as decision-making mechanisms is common in DSPLs. However, MOEAs algorithms start solving the optimization problem from a randomly selected population, not finding good configurations fast enough after a context change, requiring too many resources so scarce in CPSs. Also, the DSPL engineer must deal with the hardware and software particularities of the target platform in each CPS deployment. And although each system instantiation has to solve a similar optimization problem of the DSPL, it does not take advantage of experiences gained in similar CPS. Transfer learning aims at improving the efficiency of systems by sharing the previously acquired knowledge and applying it to similar systems. In this work, we analyze the benefits of transfer learning in the context of DSPL and MOEAs testing on 8 feature models with synthetic performance models. Results are good enough, showing that transfer learning solutions dominate up to 71% of the non-transfer learning ones for similar DSPL.

[1]  Lidia Fuentes,et al.  ProDSPL: proactive self-adaptation based on dynamic software product lines , 2021, J. Syst. Softw..

[2]  Norbert Siegmund,et al.  Transfer learning for performance modeling of configurable systems: An exploratory analysis , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[3]  Christian Kästner,et al.  Learning to sample: exploiting similarities across environments to learn performance models for configurable systems , 2018, ESEC/SIGSOFT FSE.

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

[5]  Krzysztof Czarnecki,et al.  Transferring Performance Prediction Models Across Different Hardware Platforms , 2017, ICPE.

[6]  Gary B. Lamont,et al.  Multiobjective evolutionary algorithms: classifications, analyses, and new innovations , 1999 .

[7]  Sven Apel,et al.  Generating attributed variability models for transfer learning , 2020, VaMoS.

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

[9]  Qiang Yang,et al.  A Survey on Transfer Learning , 2010, IEEE Transactions on Knowledge and Data Engineering.

[10]  Claudia Szabo,et al.  Self-Adaptive Software Systems in Contested and Resource-Constrained Environments: Overview and Challenges , 2021, IEEE Access.

[11]  Min Jiang,et al.  Knee Point-Based Imbalanced Transfer Learning for Dynamic Multiobjective Optimization , 2020, IEEE Transactions on Evolutionary Computation.

[12]  Thomas G. Dietterich,et al.  To transfer or not to transfer , 2005, NIPS 2005.

[13]  Mengjie Zhang,et al.  Further investigation on genetic programming with transfer learning for symbolic regression , 2016, 2016 IEEE Congress on Evolutionary Computation (CEC).

[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]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

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

[17]  Min Jiang,et al.  A Fast Dynamic Evolutionary Multiobjective Algorithm via Manifold Transfer Learning , 2020, IEEE Transactions on Cybernetics.

[18]  M. Varacallo,et al.  2019 , 2019, Journal of Surgical Orthopaedic Advances.

[19]  Ahmet Arslan,et al.  Genetic transfer learning , 2010, Expert Syst. Appl..

[20]  Tim Menzies,et al.  Transfer Learning with Bellwethers to find Good Configurations , 2018, ArXiv.

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

[22]  Ruhul A. Sarker,et al.  Assessment Methodologies for Multiobjective Evolutionary Algorithms , 2003 .

[23]  Gary G. Yen,et al.  Transfer Learning-Based Dynamic Multiobjective Optimization Algorithms , 2016, IEEE Transactions on Evolutionary Computation.

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

[25]  Marian Kremers 2021 , 2021, Vakblad Sociaal Werk.

[26]  Min Jiang,et al.  Individual-Based Transfer Learning for Dynamic Multiobjective Optimization , 2020, IEEE Transactions on Cybernetics.

[27]  Ke Li,et al.  Surrogate Assisted Evolutionary Algorithm Based on Transfer Learning for Dynamic Expensive Multi-Objective Optimisation Problems , 2020, 2020 IEEE Congress on Evolutionary Computation (CEC).

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

[29]  Xin Yao,et al.  Evolutionary Optimization , 2002 .

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

[31]  Gan Ruan,et al.  When and How to Transfer Knowledge in Dynamic Multi-objective Optimization , 2019, 2019 IEEE Symposium Series on Computational Intelligence (SSCI).

[32]  Krzysztof Czarnecki,et al.  Transferring Pareto Frontiers across Heterogeneous Hardware Environments , 2020, ICPE.

[33]  Christian Kästner,et al.  Transfer Learning for Improving Model Predictions in Highly Configurable Software , 2017, 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

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

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

[36]  Tim Menzies,et al.  Whence to Learn? Transferring Knowledge in Configurable Systems using BEETLE , 2019, ArXiv.