A generative genetic algorithm for evolving adaptation rules of software systems

The Internetware system is a complex and distributed self-adaptive system, which executes in an open, uncertain and dynamic environment, and adapts itself to changes in the environment. We hope that Internetware systems have the ability to automatically evolve in respond to changes. An important problem related to the development of Internetware systems is how to formulate proper adaptation rules. Because of the uncertainty of environment, the adaptation rules may not be suitable to the current system. Adaptation rules always need to be evolved to obtain better results. Some traditional methods can decide adaptation actions in different environmental conditions and evolve adaptation rules. But most of these methods bring about huge computation cost, which are not highly-efficient. To resolve these problems, we propose a method for evolving adaptation rules automatically, based on genetic algorithm and linear regression. We apply this method to evolve adaptation rules for a web application based on a widely used prototype --- RUBiS, which is an auction site similar to eBay. Experiments show that our method can evolve adaptation rules and improve the web application's performance in dynamic environment.

[1]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

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

[3]  William G. Griswold,et al.  Proceedings of the 27th international conference on Software engineering , 2005, ICSE 2005.

[4]  John Mylopoulos,et al.  Rationalism with a dose of empiricism: Case-based reasoning for requirements-driven self-adaptation , 2014, 2014 IEEE 22nd International Requirements Engineering Conference (RE).

[5]  Jeffrey O. Kephart,et al.  Research challenges of autonomic computing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[6]  C. Amza,et al.  Specification and implementation of dynamic Web site benchmarks , 2002, 2002 IEEE International Workshop on Workload Characterization.

[7]  Bashar Nuseibeh,et al.  Self-adaptation through incremental generative model transformations at runtime , 2014, ICSE.

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

[9]  Andreas Buja,et al.  Recommender systems and their effects on consumers: the fragmentation debate , 2010, EC '10.

[10]  Haiyan Zhao,et al.  User preference based autonomic generation of self-adaptive rules , 2014, Internetware.

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

[12]  Jesper Andersson,et al.  Claims and supporting evidence for self-adaptive systems: A literature study , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[13]  Karl-Erik Årzén,et al.  Brownout: building more robust cloud applications , 2014, ICSE.

[14]  K. Dejong,et al.  An analysis of the behavior of a class of genetic adaptive systems , 1975 .

[15]  Maumita Bhattacharya Reduced computation for evolutionary optimization in noisy environment , 2008, GECCO '08.

[16]  Carlo Ghezzi,et al.  Supporting Self-Adaptation via Quantitative Verification and Sensitivity Analysis at Run Time , 2016, IEEE Transactions on Software Engineering.