skip to main content
research-article
Open Access

Information Reuse and Stochastic Search: Managing Uncertainty in Self-* Systems

Authors Info & Claims
Published:01 February 2021Publication History
Skip Abstract Section

Abstract

Many software systems operate in environments of change and uncertainty. Techniques for self-adaptation allow these systems to automatically respond to environmental changes, yet they do not handle changes to the adaptive system itself, such as the addition or removal of adaptation tactics. Instead, changes in a self-adaptive system often require a human planner to redo an expensive planning process to allow the system to continue satisfying its quality requirements under different conditions; automated techniques must replan from scratch. We propose to address this problem by reusing prior planning knowledge to adapt to unexpected situations. We present a planner based on genetic programming that reuses existing plans and evaluate this planner on two case-study systems: a cloud-based web server and a team of autonomous aircraft. While reusing material in genetic algorithms has been recently applied successfully in the area of automated program repair, we find that naively reusing existing plans for self-* planning can actually result in a utility loss. Furthermore, we propose a series of techniques to lower the costs of reuse, allowing genetic techniques to leverage existing information to improve utility when replanning for unexpected changes, and we find that coarsely shaped search-spaces present profitable opportunities for reuse.

References

  1. José Luis Ambite and Craig A. Knoblock. 2001. Planning by rewriting. J. Artif. Int. Res. 15, 1 (2001), 207--261.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Jeffrey M. Barnes, David Garlan, and Bradley Schmerl. 2014. Evolution styles: Foundations and models for software architecture evolution. Softw. Syst. Model. 13, 2 (May 2014), 649--678. DOI:https://doi.org/10.1007/s10270-012-0301-9Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Earl T. Barr, Mark Harman, Yue Jia, Alexandru Marginean, and Justyna Petke. 2015. Automated software transplantation. In Proceedings of the International Symposium on Software Testing and Analysis (ISSTA’15). 257--269. DOI:https://doi.org/10.1145/2771783.2771796Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Micheal Beetz and Drew McDermott. 1994. Improving robot plans during their execution. In Proceedings of the International Conference on AI Planning and Scheduling (AIPS’94). 7--12.Google ScholarGoogle Scholar
  5. Javier Cámara, David Garlan, Bradley Schmerl, and Ashutosh Pandey. 2015. Optimal planning for architecture-based self-adaptation via model checking of stochastic games. In Proceedings of the Symposium on Applied Computing (SAC’15). 428--435.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Gerardo Canfora, Massimiliano Di Penta, Raffaele Esposito, and Maria Luisa Villani. 2005. An approach for QoS-aware service composition based on genetic algorithms. In Proceedings of the Conference on Genetic and Evolutionary Computation (GECCO’05). 1069--1075.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Tao Chen, Ke Li, Rami Bahsoon, and Xin Yao. 2018. FEMOSAA: Feature-guided and knee-driven multi-objective optimization for self-adaptive software. ACM Trans. Softw. Eng. Methodol. 27, 2, Article 5 (June 2018), 50 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Tao Chen, Miqing Li, and Xin Yao. 2019. Standing on the shoulders of giants: Seeding search-based multi-objective optimization with prior knowledge for software service composition. Inf. Softw. Technol. 114 (2019), 155--175.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Betty H. C. Cheng, Andres J. Ramirez, and Philip K. McKinley. 2013. Harnessing evolutionary computation to enable dynamically adaptive systems to manage uncertainty. In Proceedings of the Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE’13).Google ScholarGoogle Scholar
  10. Shang-Wen Cheng and David Garlan. 2012. Stitch: A language for architecture-based self-adaptation. J. Syst. Softw. 85, 12 (2012), 2860--2875.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Zack Coker, David Garlan, and Claire Le Goues. 2015. SASS: Self-adaptation using stochastic search. In Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’15). 168--174.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Rogério de Lemos et al. 2013. Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Springer, Berlin, 1--32.Google ScholarGoogle Scholar
  13. Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and TAMT Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6, 2 (2002), 182--197.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. John M. Ewing and Daniel A. Menascé. 2014. A meta-controller method for improving runtime self-architecting in SOA systems. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE’14). 173--184.Google ScholarGoogle Scholar
  15. Erik Fredericks, Ilias Gerostathopoulos, Christian Krupitzer, and Thomas Vogel. 2019. Planning as optimization: Dynamically discovering optimal configurations for runtime situations. In IEEE 13th International Conference on Self-Adaptive and Self-Organizing Systems (SASO'19). 1--10. DOI:https://doi.org/10.1109/SASO.2019.00010Google ScholarGoogle ScholarCross RefCross Ref
  16. Erik M. Fredericks, Byron DeVries, and Betty H. C. Cheng. 2014. Towards run-time adaptation of test cases for self-adaptive systems in the face of uncertainty. In Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). 17--26.Google ScholarGoogle Scholar
  17. Simos Gerasimou, Radu Calinescu, and Giordano Tamburrelli. 2018. Synthesis of probabilistic models for quality-of-service software engineering. Automat. Softw. Eng. 25, 4 (2018), 785--831.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Gerasimou, G. Tamburrelli, and R. Calinescu. 2015. Search-based synthesis of probabilistic models for quality-of-service software engineering. In Proceedings of the International Conference on Automated Software Engineering (ASE’15). 319--330.Google ScholarGoogle Scholar
  19. Alicia Grech and Julie Main. 2004. Case-Base Injection Schemes to Case Adaptation Using Genetic Algorithms. Springer, Berlin, 198--210.Google ScholarGoogle Scholar
  20. Mark Harman. 2007. The current state and future of search based software engineering. In Proceedings of the International Conference on Software Engineering. 342--357. DOI:https://doi.org/10.1109/FOSE.2007.29Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Mark Harman, Yue Jia, William B. Langdon, Justyna Petke, Iman Hemati Moghadam, Shin Yoo, and Fan Wu. 2014. Genetic improvement for adaptive software engineering (keynote). In Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). 1--4.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Scott A. Hissam, Sagar Chaki, and Gabriel A. Moreno. 2015. High assurance for distributed cyber physical systems. In Proceedings of the 2015 European Conference on Software Architecture Workshops (ECSAW’15). ACM, New York, NY. DOI:https://doi.org/10.1145/2797433.2797439Google ScholarGoogle Scholar
  23. Yanrong Hu and S. X. Yang. 2004. A knowledge based genetic algorithm for path planning of a mobile robot. In Robotics and Automation, Vol. 5. 4350--4355. DOI:https://doi.org/10.1109/ROBOT.2004.1302402Google ScholarGoogle Scholar
  24. Pooyan Jamshidi, Amir M. Sharifloo, Claus Pahl, Andreas Metzger, and Giovani Estrada. 2015. Self-learning cloud controllers: Fuzzy q-learning for knowledge evolution. In Proceedings of the International Conference on Cloud and Autonomic Computing (ICCAC’15). IEEE, 208--211.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Leslie Pack Kaelbling, Michael L. Littman, and Anthony R. Cassandra. 1998. Planning and acting in partially observable stochastic domains. Arif. Intell. 101, 1 (1998), 99--134.Google ScholarGoogle ScholarCross RefCross Ref
  26. Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Narges Khakpour, Saeed Jalili, Carolyn Talcott, Marjan Sirjani, and Mohammadreza Mousavi. 2012. Formal modeling of evolving self-adaptive systems. Sci. Comput. Program. 78, 1 (2012), 3--26.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Dongsun Kim and Sooyong Park. 2009. Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software. In Proceedings of the ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’09). IEEE, 76--85.Google ScholarGoogle Scholar
  29. Cody Kinneer, Zack Coker, Jiacheng Wang, David Garlan, and Claire Le Goues. 2018. Managing uncertainty in self-adaptive systems with plan reuse and stochastic search. In Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing Systems. ACM, 40--50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Cody Kinneer, Rijnard Van Tonder, David Garlan, and Claire Le Goues. 2020. Building reusable repertoires for stochastic self-* planners. In Proceedings of the 2020 IEEE Conference on Autonomic Computing and Self-organizing Systems (ACSOS’20).Google ScholarGoogle ScholarCross RefCross Ref
  31. Cristian Klein, Martina Maggio, Karl-Erik A. Arzén, and Francisco Hernández-Rodriguez. 2014. Brownout: Building more robust cloud applications. In Proceedings of the International Conference on Software Engineering (ICSE’14). 700--711.Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. John R. Koza. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. M. Kwiatkowska, G. Norman, and D. Parker. 2011. PRISM 4.0: Verification of probabilistic real-time systems. In Proceedings of the International Conference on Computer Aided Verification (CAV’11). 585--591.Google ScholarGoogle Scholar
  34. Neal Lesh, Nathaniel Martin, and James Allen. 1998. Improving big plans. In Proceedings of the Conference on Artificial Intelligence/Innovative Applications of Artificial Intelligence (AAAI/IAAI’98). 860--867.Google ScholarGoogle Scholar
  35. S. J. Louis and J. McDonnell. 2004. Learning with case-injected genetic algorithms. Trans. Evol. Comp 8, 4 (2004), 316--328. DOI:https://doi.org/10.1109/TEVC.2004.823466Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Sushil J. Louis and Gregory J. E. Rawlins. 1992. Syntactic analysis of convergence in genetic algorithms. In Foundations of Genetic Algorithms 2. Morgan Kaufmann, 141--151.Google ScholarGoogle Scholar
  37. Mausam and Andrey Kolobov. 2012. Planning with Markov decision processes: An AI perspective. Synth. Lect. Artif. Intell. Mach. Learn. 6, 1 (2012), 1--210. DOI:https://doi.org/10.2200/S00426ED1V01Y201206AIM017Google ScholarGoogle ScholarCross RefCross Ref
  38. David J. Montana. 1995. Strongly typed genetic programming. Evol. Comput. 3, 2 (1995), 199--230.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Gabriel Moreno, Cody Kinneer, Ashutosh Pandey, and David Garlan. 2019. DARTSim: An exemplar for evaluation and comparison of self-adaptation approaches for smart cyber-physical systems. In Proceedings of the 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’19). IEEE, 181--187.Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2015. Proactive self-adaptation under uncertainty: A probabilistic model checking approach. In Proceedings of the European Software Engineering Conference and the Symposium on the Foundation of Software Engineering (ESEC/FSE’15). 1--12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Gabriel A. Moreno, Javier Cámara, David Garlan, and Bradley Schmerl. 2018. Flexible and efficient decision-making for proactive latency-aware self-adaptation. ACM Trans. Auton. Adapt. Syst. 13, 1, Article 3 (Apr. 2018), 36 pages. DOI:https://doi.org/10.1145/3149180Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Héctor Muñoz-Avila and Michael T. Cox. 2008. Case-based plan adaptation: An analysis and review. IEEE Intell. Syst. 23, 4 (2008), 75--81. DOI:https://doi.org/10.1109/MIS.2008.59Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Ashutosh Pandey, Gabriel A Moreno, Javier Cámara, and David Garlan. 2016. Hybrid planning for decision making in self-adaptive systems. In Proceedings of the Internayional Conference on Self-Adaptive and Self-Organizing Systems (SASO’16). 12--16.Google ScholarGoogle ScholarCross RefCross Ref
  44. Gustavo G. Pascual, Mónica Pinto, and Lidia Fuentes. 2013. Run-time adaptation of mobile applications using genetic algorithms. In Proceedings of the International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’13). 73--82.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Mateusz Pawlik and Nikolaus Augsten. 2015. Efficient computation of the tree edit distance. ACM Trans. Database Syst. 40, 1, Article 3 (2015), 40 pages. DOI:https://doi.org/10.1145/2699485Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Riccardo Poli, William B. Langdon, Nicholas F. McPhee, and John R. Koza. 2008. A Field Guide to Genetic Programming. Lulu.com.Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Andres J. Ramirez, Betty H. C. Cheng, Philip K. McKinley, and Benjamin E. Beckmann. 2010. Automatically generating adaptive logic to balance non-functional tradeoffs during reconfiguration. In Proceedings of the International Conference on Autonomic Computing (ICAC’10). 225--234.Google ScholarGoogle Scholar
  48. V. Roberge, M. Tarbouchi, and G. Labonte. 2013. Comparison of parallel genetic algorithm and particle swarm optimization for real-time UAV path planning. IEEE Trans. Industr. Inf. 9, 1 (2013), 132--141. DOI:https://doi.org/10.1109/TII.2012.2198665Google ScholarGoogle ScholarCross RefCross Ref
  49. Amir Molzam Sharifloo, Andreas Metzger, Clément Quinton, Luciano Baresi, and Klaus Pohl. 2016. Learning and evolution in dynamic software product lines. In Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’16). ACM, New York, NY, 158--164. DOI:https://doi.org/10.1145/2897053.2897058Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. E. L. Da Silva, H. A. Gil, and J. M. Areiza. 2000. Transmission network expansion planning under an improved genetic algorithm. IEEE Trans. Power Syst. 15, 3 (2000), 1168--1174.Google ScholarGoogle ScholarCross RefCross Ref
  51. Tyron Stading, Petros Maniatis, and Mary Baker. 2002. Peer-to-peer caching schemes to address flash crowds. In Proceedings of the International Workshop on Peer-to-Peer Systems (IPTPS’02). 203--213.Google ScholarGoogle ScholarCross RefCross Ref
  52. Daniel Sykes, William Heaven, Jeff Magee, and Jeff Kramer. 2007. Plan-directed architectural change for autonomous systems. In Proceedings of the Conference on Specification and Verification of Component-based Systems (SAVCBS’07). 15--21.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Leonardo Trujillo. 2011. Genetic programming with one-point crossover and subtree mutation for effective problem solving and bloat control. Soft. Comput. 15, 8 (2011), 1551--1567.Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Manuela M. Veloso. 1994. Flexible strategy learning: Analogical replay of problem solving episodes. In Proceedings of the National Conference on Artificial Intelligence (AAAI’94). 595--600.Google ScholarGoogle Scholar
  55. Thomas Vogel and Holger Giese. 2010. Adaptation and abstract runtime models. In Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’10). ACM, New York, NY, 39--48. DOI:https://doi.org/10.1145/1808984.1808989Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Eckart Zitzler, Marco Laumanns, and Lothar Thiele. 2001. SPEA2: Improving the strength Pareto evolutionary algorithm. Technical Report. Eidgenössische Technische Hochschule Zürich (ETH).Google ScholarGoogle Scholar
  57. Parisa Zoghi, Mark Shtern, Marin Litoiu, and Hamoun Ghanbari. 2016. Designing adaptive applications deployed on cloud environments. Trans. Auton. Adapt. Syst. 10, 4, Article 25 (2016), 26 pages.Google ScholarGoogle Scholar

Index Terms

  1. Information Reuse and Stochastic Search: Managing Uncertainty in Self-* Systems

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            • Published in

              cover image ACM Transactions on Autonomous and Adaptive Systems
              ACM Transactions on Autonomous and Adaptive Systems  Volume 15, Issue 1
              March 2020
              79 pages
              ISSN:1556-4665
              EISSN:1556-4703
              DOI:10.1145/3446624
              Issue’s Table of Contents

              Copyright © 2021 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 1 February 2021
              • Accepted: 1 November 2020
              • Revised: 1 September 2020
              • Received: 1 December 2018
              Published in taas Volume 15, Issue 1

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article
              • Research
              • Refereed

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader

            HTML Format

            View this article in HTML Format .

            View HTML Format
            About Cookies On This Site

            We use cookies to ensure that we give you the best experience on our website.

            Learn more

            Got it!