skip to main content
10.1145/3195106.3195137acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicmlcConference Proceedingsconference-collections
research-article

Generating Adaptation Rules of Software Systems: A Method Based on Genetic Algorithm

Published: 26 February 2018 Publication History

Abstract

Nowadays, applications are deployed and executed in open, uncertain and dynamic environments. Increasingly, applications are required to have the capability to automatically change its behaviors in response to changing environmental conditions. As the complexity of adaptive and autonomic systems grows, designing and managing the set of adaptation rules becomes increasingly challenging and may produce huge computation cost. If we dynamically generate adaptation rules at run time, it's difficult to deal with the changes quickly. The software system challenges the method for efficiently generating effective adaptation rules. This paper proposes an approach to combine genetic algorithm and linear regression to automatically generate adaptation rules for software systems. Unlike traditional rule-based adaptation methods, our solution enables a system to obtain a prediction function to determine the corresponding system configuration under any considered environmental condition. We have applied this genetic algorithm based approach to the dynamic reconfiguration of two different software systems. The experimental results show that our method is practical and highly-efficient in software reconfiguration under changing environmental conditions. Besides, the user's requirements can be well satisfied.

References

[1]
Salehie M, Tahvildari L. Self-adaptive software: Landscape and research challenges{J}. ACM Transactions on Autonomous and Adaptive Systems (TAAS), 2009, 4(2): 14.
[2]
Zhao T, Zhao H, Zhang W, et al. User preference based autonomic generation of self-adaptive rules{C}//Proceedings of the 6th Asia-Pacific Symposium on Internetware on Internetware. ACM, 2014: 25--34.
[3]
Filieri A, Tamburrelli G, Ghezzi C. Supporting self- adaptation via quantitative verification and sensitivity analysis at run time{J}. IEEE Transactions on Software Engineering, 2016, 42(1): 75--99.
[4]
Moreno G A, Cámara J, Garlan D, et al. Proactive self- adaptation under uncertainty: A probabilistic model checking approach{C}//Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, 2015: 1--12.
[5]
Chen B, Peng X, Yu Y, et al. Self-adaptation through incremental generative model transformations at runtime{C}//Proceedings of the 36th International Conference on Software Engineering. ACM, 2014: 676--687.
[6]
Qian W, Peng X, Chen B, et al. Rationalism with a dose of empiricism: Case-based reasoning for requirements-driven self-adaptation{C}//2014 IEEE 22nd International Requirements Engineering Conference (RE). IEEE, 2014: 113--122.
[7]
Zhang Y, Guo J, Blais E, et al. Performance prediction of configurable software systems by fourier learning (T){C}//Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on. IEEE, 2015: 365- 373.
[8]
Simon D. Evolutionary optimization algorithms{M}. John Wiley & Sons, 2013.
[9]
Liu Y, Zhang W, Jiao W. A generative genetic algorithm for evolving adaptation rules of software systems{C}//Proceedings of the 8th Asia-Pacific Symposium on Internetware. ACM, 2016: 103--107.
[10]
Koza J R. Genetic programming: on the programming of computers by means of natural selection{M}. MIT press, 1992.
[11]
Shevtsov S, Weyns D. Keep it SIMPLEX: Satisfying multiple goals with guarantees in control-based self-adaptive systems{C}//Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 2016: 229--241.
[12]
Klein C, Maggio M, Årzén K E, et al. Brownout: Building more robust cloud applications{C}//Proceedings of the 36th International Conference on Software Engineering. ACM, 2014: 700--711.
[13]
Acher M, Collet P, Fleurey F, et al. Modeling context and dynamic adaptations with feature models{C}//4th International Workshop Models@ run. time at Models 2009 (MRT'09). 2009: 10.
[14]
Ramirez A J, Knoester D B, Cheng B H C, et al. Applying genetic algorithms to decision making in autonomic computing systems{C}//Proceedings of the 6th international conference on Autonomic computing. ACM, 2009: 97--106.
[15]
Deb K. Multi-objective optimization using evolutionary algorithms{M}. John Wiley & Sons, 2001.
[16]
Montana D, Hussain T. Adaptive reconfiguration of data networks using genetic algorithms{J}. Applied Soft Computing, 2004, 4(4): 433--444.
[17]
Ramirez A J, Cheng B H C, McKinley P K, et al. Automatically generating adaptive logic to balance non-functional tradeoffs during reconfiguration{C}//Proceedings of the 7th international conference on Autonomic computing. ACM, 2010: 225--234.
[18]
Bhattacharya M. Reduced computation for evolutionary optimization in noisy environment{C}//Proceedings of the 10th annual conference companion on Genetic and evolutionary computation. ACM, 2008: 2117--2122.
[19]
Henningsen A. linprog: Linear Programming{J}. Optimization. R package version 0. 9--0, 2010.
[20]
Chen Y, Iyer S, Liu X, et al. SLA decomposition: Translating service level objectives to system level thresholds{C}//Autonomic Computing, 2007. ICAC'07. Fourth International Conference on. IEEE, 2007: 3--3.
[21]
Shen Z, Subbiah S, Gu X, et al. Cloudscale: elastic resource scaling for multi-tenant cloud systems{C}//Proceedings of the 2nd ACM Symposium on Cloud Computing. ACM, 2011: 5.
[22]
Weyns D, Iftikhar M U, Malek S, et al. Claims and supporting evidence for self-adaptive systems: A literature study{C}//Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE Press, 2012: 89--98.
[23]
Cheng B H C, De Lemos R, Giese H, et al. Software engineering for self-adaptive systems: A research roadmap{M}//Software engineering for self-adaptive systems. Springer Berlin Heidelberg, 2009: 1--26.
[24]
Kephart J O. Research challenges of autonomic computing{C}//Proceedings of the 27th international conference on Software engineering. ACM, 2005: 15--22.
[25]
Kramer J, Magee J. Self-managed systems: an architectural challenge{C}//2007 Future of Software Engineering. IEEE Computer Society, 2007: 259--268.
[26]
Brun Y, Serugendo G D M, Gacek C, et al. Engineering Self-Adaptive Systems through Feedback Loops{J}. Software engineering for self-adaptive systems, 2009, 5525: 48--70.
[27]
Diao Y, Hellerstein J L, Parekh S, et al. A control theory foundation for self-managing computing systems{J}. IEEE journal on selected areas in communications, 2005, 23(12): 2213--2222.
[28]
Weyns D, Iftikhar M U, De La Iglesia D G, et al. A survey of formal methods in self-adaptive systems{C}//Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering. ACM, 2012: 67--79.
[29]
Filieri A, Ghezzi C, Leva A, et al. Self-adaptive software meets control theory: A preliminary approach supporting reliability requirements{C}//Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, 2011: 283--292.
[30]
Patikirikorala T, Colman A, Han J, et al. A systematic survey on the design of self-adaptive software systems using control engineering approaches{C}//Proceedings of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE Press, 2012: 33--42.
[31]
Pascual G G, Pinto M, Fuentes L. Run-time adaptation of mobile applications using genetic algorithms{C}//Software Engineering for Adaptive and Self-Managing Systems (SEAMS), 2013 ICSE Workshop on. IEEE, 2013: 73--82.
[32]
Ramirez A J, Knoester D B, Cheng B H C, et al. Plato: a genetic algorithm approach to run-time reconfiguration in autonomic computing systems{J}. Cluster Computing, 2011, 14(3): 229--244.
[33]
Fleurey F, Solberg A. A domain specific modeling language supporting specification, simulation and execution of dynamic adaptive systems{J}. Model Driven Engineering Languages and Systems, 2009: 606--621.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICMLC '18: Proceedings of the 2018 10th International Conference on Machine Learning and Computing
February 2018
411 pages
ISBN:9781450363532
DOI:10.1145/3195106
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • Southwest Jiaotong University

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 February 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Self-adaptive system
  2. evolutionary algorithm
  3. genetic algorithm
  4. intelligent control

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ICMLC 2018

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 06 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media