A Multiagent-Based Framework for Self-Adaptive Software with Search-Based Optimization

Planning a suitable solution to adapt to software changes is the most important and fundamental ability of self-adaptive software (SAS). However, with the increasing complexities of managed resources, context and user preferences, existing self-adaptive planning approaches need to be improved to deal with the complex changes which are multiple, interrelated and evolving. Search-based optimization (SBO) is well-suited to deal with multiple and complex problems. Hence, using SBO as a new self-adaptive planning approach may be a particularly promising research trajectory. This paper proposes a multi-agent framework for SAS with SBO to deal with complex changes, reduce maintenance time and cost, and enhance software quality. This framework defines a special software architecture of SAS to choose different planning approaches, uses the SBO to plan solutions for complex changes, and supports the online planning by multi agents. In addition, a corresponding workbench is being established to develop SAS according to this framework.

[1]  M. Bohanec,et al.  The Analytic Hierarchy Process , 2004 .

[2]  Radu Calinescu,et al.  Self-adaptive Software with Decentralised Control Loops , 2015, FASE.

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

[4]  Sébastien Gérard,et al.  Model-Driven Development of Self-Describing Components for Self-Adaptive Distributed Embedded Systems , 2011, 2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications.

[5]  Jian Lu,et al.  Resynchronizing Model-Based Self-Adaptive Systems with Environments , 2012, 2012 19th Asia-Pacific Software Engineering Conference.

[6]  Rogério de Lemos,et al.  Testing the robustness of controllers for self-adaptive systems , 2013, Journal of the Brazilian Computer Society.

[7]  John Mylopoulos,et al.  Rationalism with a dose of empiricism: combining goal reasoning and case-based reasoning for self-adaptive software systems , 2015, Requirements Engineering.

[8]  Thomas Vogel,et al.  Software Engineering Meets Control Theory , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[9]  Eunseok Lee,et al.  An Architecture for Multi-agent Based Self-adaptive System in Mobile Environment , 2005, IDEAL.

[10]  Bradley R. Schmerl,et al.  Software Engineering for Self-Adaptive Systems: A Second Research Roadmap , 2010, Software Engineering for Self-Adaptive Systems.

[11]  Yuanyuan Zhang,et al.  Search-based software engineering: Trends, techniques and applications , 2012, CSUR.

[12]  Marin Litoiu,et al.  Hogna: A Platform for Self-Adaptive Applications in Cloud Environments , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[13]  Carlos A. Coello Coello,et al.  Evolutionary multi-objective optimization: a historical view of the field , 2006, IEEE Comput. Intell. Mag..

[14]  Rogério de Lemos,et al.  Empirical resilience evaluation of an architecture-based self-adaptive software system , 2014, QoSA '14.

[15]  Danny Weyns Variability: from software product lines to self-adaptive systems , 2014, SPLC '14.

[16]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

[17]  Lu Wang,et al.  MABT - a multiagent-based toolkit for transforming existing systems into self-adaptive systems , 2016, SEKE.

[18]  David Garlan,et al.  SASS: Self-Adaptation Using Stochastic Search , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[19]  Günther Ruhe,et al.  Search Based Software Engineering , 2013, Lecture Notes in Computer Science.

[20]  Eunseok Lee,et al.  Goal-Based Automated Code Generation in Self-Adaptive System , 2010, Journal of Computer Science and Technology.

[21]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[22]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[23]  Benjamin Klöpper,et al.  Utility-Based Self-Adaption with Environment Specific Quality Models , 2011, ICAIS.

[24]  Mark Harman,et al.  Why the Virtual Nature of Software Makes It Ideal for Search Based Optimization , 2010, FASE.

[25]  C. A. Coello Coello,et al.  Evolutionary multi-objective optimization: a historical view of the field , 2006, IEEE Computational Intelligence Magazine.

[26]  Eunseok Lee,et al.  Model-based reinforcement learning approach for planning in self-adaptive software system , 2015, IMCOM.

[27]  Kurt Geihs,et al.  Enabling Active User Participation in Self-Adaptive Applications , 2014, Socio-technical Design of Ubiquitous Computing Systems.

[28]  Richard Murch,et al.  Autonomic Computing , 2004 .

[29]  Gokcen Kestor,et al.  Cross-Layer Self-Adaptive/Self-Aware System Software for Exascale Systems , 2014, 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing.

[30]  David L. Cohn,et al.  Autonomic Computing , 2003, ISADS.

[31]  Maria Prandini,et al.  The scenario approach for systems and control design , 2009, Annu. Rev. Control..

[32]  Yuanyuan Zhang,et al.  Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications , 2009 .