A self-adaptation framework for dealing with the complexities of software changes

Software Self-adaption (SA) is a promising technology to reduce the cost of software maintenance. However, the complexities of software changes such as various and producing different effects, interrelated and occurring in an unpredictable context challenge the SA. The current methods may be insufficient to provide the required self-adaptation abilities to handle all the existent complexities of changes. Thus, this paper presents a self-adaptation framework which can provide a multi-agent system for self-adaptation control to equip software system with the required adaptation abilities. we employ the hybrid control mode and construct a two-layer MAPE control structure to deal with changes hierarchically. Multi-Objective Evolutionary Algorithm and Reinforcement Learning are applied to plan an adequate strategy for these changes. Finally, in order to validate the framework, we exemplify these ideas with a meta-Search system and confirm the required self-adaptive ability.

[1]  Rodolfo E. Haber,et al.  Self-adaptive systems: A survey of current approaches, research challenges and applications , 2013, Expert Syst. Appl..

[2]  Lu Wang,et al.  A Multiagent-Based Framework for Self-Adaptive Software with Search-Based Optimization , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

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

[4]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

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

[6]  Lu Wang,et al.  Self-adaptive systems framework based on agent and search-based optimization , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[7]  Lu Wang Search-Based Adaptation Planning Framework for Self-Adaptive Systems , 2017, 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C).

[8]  Valérie Issarny,et al.  Dynamic decision networks for decision-making in self-adaptive systems: A case study , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[9]  Sooyong Park,et al.  Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.