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.
- José Luis Ambite and Craig A. Knoblock. 2001. Planning by rewriting. J. Artif. Int. Res. 15, 1 (2001), 207--261.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Shang-Wen Cheng and David Garlan. 2012. Stitch: A language for architecture-based self-adaptation. J. Syst. Softw. 85, 12 (2012), 2860--2875.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Rogério de Lemos et al. 2013. Software Engineering for Self-Adaptive Systems: A Second Research Roadmap. Springer, Berlin, 1--32.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Alicia Grech and Julie Main. 2004. Case-Base Injection Schemes to Case Adaptation Using Genetic Algorithms. Springer, Berlin, 198--210.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- Jeffrey O. Kephart and David M. Chess. 2003. The vision of autonomic computing. Computer 36, 1 (2003), 41--50.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- John R. Koza. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA.Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- David J. Montana. 1995. Strongly typed genetic programming. Evol. Comput. 3, 2 (1995), 199--230.Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Riccardo Poli, William B. Langdon, Nicholas F. McPhee, and John R. Koza. 2008. A Field Guide to Genetic Programming. Lulu.com.Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Index Terms
Information Reuse and Stochastic Search: Managing Uncertainty in Self-* Systems
Recommendations
Managing uncertainty in self-adaptive systems with plan reuse and stochastic search
SEAMS '18: Proceedings of the 13th International Conference on Software Engineering for Adaptive and Self-Managing SystemsMany software systems operate in environments where change and uncertainty are the rule, rather than exceptions. Techniques for self-adaptation allow these systems to automatically respond to environmental changes, yet they do not handle changes to the ...
Plan merging by reuse for multi-agent planning
AbstractMulti-Agent Planning deals with the task of generating a plan for/by a set of agents that jointly solve a planning problem. One of the biggest challenges is how to handle interactions arising from agents’ actions. The first contribution of the ...
A Survey on Case-Based Planning
Case-based planning is the reuse of past successful plans in order to solve new planning problems. This paper presents a survey of case-based planning, in terms of its historical roots, underlying foundations, methods and techniques currently used, ...






Comments