Abstract
Recently, we have been witnessing a rapid increase in the use of machine learning techniques in self-adaptive systems. Machine learning has been used for a variety of reasons, ranging from learning a model of the environment of a system during operation to filtering large sets of possible configurations before analyzing them. While a body of work on the use of machine learning in self-adaptive systems exists, there is currently no systematic overview of this area. Such an overview is important for researchers to understand the state of the art and direct future research efforts. This article reports the results of a systematic literature review that aims at providing such an overview. We focus on self-adaptive systems that are based on a traditional Monitor-Analyze-Plan-Execute (MAPE)-based feedback loop. The research questions are centered on the problems that motivate the use of machine learning in self-adaptive systems, the key engineering aspects of learning in self-adaptation, and open challenges in this area. The search resulted in 6,709 papers, of which 109 were retained for data collection. Analysis of the collected data shows that machine learning is mostly used for updating adaptation rules and policies to improve system qualities, and managing resources to better balance qualities and resources. These problems are primarily solved using supervised and interactive learning with classification, regression, and reinforcement learning as the dominant methods. Surprisingly, unsupervised learning that naturally fits automation is only applied in a small number of studies. Key open challenges in this area include the performance of learning, managing the effects of learning, and dealing with more complex types of goals. From the insights derived from this systematic literature review, we outline an initial design process for applying machine learning in self-adaptive systems that are based on MAPE feedback loops.
- J. Hellerstein, Y. Diao, S. Parekh, and D. Tilbury. 2004. Feedback Control of Computing Systems. John Wiley and Sons, New York.https://doi.org/10.1002/047166880XGoogle Scholar
- H. Arabnejad, P. Jamshidi, G. Estrada, N. El Ioini, and C. Pahl. 2016. An auto-scaling cloud controller using fuzzy q-learning-implementation in openstack. In Proceedings of the European Conference on Service-Oriented and Cloud Computing. Springer, 152–167.Google Scholar
- K. Bierzynski, P. Lutskov, and U. Assmann. 2019. Supporting the self-learning of systems at the network edge with microservices. In Proceedings of the 13th International Conference and Exhibition on Integration Issues of Miniaturized Systems: Smart Systems Integration. 1–8.Google Scholar
- C. Bishop. 2006. Pattern Recognition and Machine Learning. Springer.Google Scholar
Digital Library
- R. Calinescu, M. Autili, J. Cámara, A. Di Marco, S. Gerasimou, P. Inverardi, A. Perucci, N. Jansen, J.-P. Katoen, M. Kwiatkowska, O. Mengshoel, R. Spalazzese, and M. Tivoli. 2017. Synthesis and Verification of Self-aware Computing Systems. Springer International Publishing, Cham, 337–373. https://doi.org/10.1007/978-3-319-47474-8_11Google Scholar
- R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli. 2011. Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37, 3 (2011), 387–409. https://doi.org/10.1109/TSE.2010.92Google Scholar
Digital Library
- R. Calinescu, R. Mirandola, D. Perez-Palacin, and D. Weyns. 2020. Understanding uncertainty in self-adaptive systems. In Proceedings of the IEEE International Conference on Autonomic Computing and Self-Organizing Systems (ACSOS’20). 242–251. https://doi.org/10.1109/ACSOS49614.2020.00047Google Scholar
Cross Ref
- R. Calinescu, Y. Rafiq, K. Johnson, and M. Bakundefinedr. 2014. Adaptive model learning for continual verification of non-functional properties. In Proceedings of the 5th ACM/SPEC International Conference on Performance Engineering (ICPE’14). Association for Computing Machinery, New York, NY, 87–98. https://doi.org/10.1145/2568088.2568094Google Scholar
- J. Cámara, D. Garlan, G. Moreno, and B. Schmerl. 2017. Analyzing self-adaptation via model checking of stochastic games. In Software Engineering for Self-Adaptive Systems III. Assurances. Springer.Google Scholar
- T. Chen and R. Bahsoon. 2017. Self-adaptive and online qos modeling for cloud-based software services. IEEE Trans. Softw. Eng. 43, 5 (2017), 453–475.Google Scholar
Digital Library
- T. Chen, R. Bahsoon, S. Wang, and X. Yao. 2018. To adapt or not to adapt? technical debt and learning driven self-adaptation for managing runtime performance. In Proceedings of the ACM/SPEC International Conference on Performance Engineering (Berlin, Germany) (ICPE’18). Association for Computing Machinery, New York, NY, 48–55. https://doi.org/10.1145/3184407.3184413Google Scholar
- B. Cheng, R. de Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G. Di Marzo Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H. Kienle, J. Kramer, M. Litoiu, S. Malek, R. Mirandola, H. Müller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle. 2009. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems. Springer, 1–26. https://doi.org/10.1007/978-3-642-02161-9_1Google Scholar
- B. H. C. Cheng, A. Ramirez, and P. K. McKinley. 2013. Harnessing evolutionary computation to enable dynamically adaptive systems to manage uncertainty. In Proceedings of the International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE’13). 1–6. https://doi.org/10.1109/CMSBSE.2013.6604427Google Scholar
- L. Cui, S. Yang, F. Chen, Z. Ming, N. Lu, and J. Qin. 2018. A survey on application of machine learning for Internet of Things. Int. J. Mach. Learn. Cybernet. 9, 8 (2018), 1399–1417.Google Scholar
Cross Ref
- J. Cámara, P. Correia, R. de Lemos, D. Garlan, P. Gomes, B. Schmerl, and R. Ventura. 2016. Incorporating architecture-based self-adaptation into an adaptive industrial software system. J. Syst. Softw. 122 (2016), 507–523. https://doi.org/10.1016/j.jss.2015.09.021Google Scholar
Digital Library
- C. da Silva, J. da Silva, C. Paterson, and R. Calinescu. 2017. Self-adaptive role-based access control for business processes. In Proceedings of the 12th IEEE/ACM International Symposium on Software Engineering for Adaptive and Self-Managing Systems. https://doi.org/10.1109/SEAMS.2017.13Google Scholar
- M. D’Angelo, S. Gerasimou, S. Ghahremani, J. Grohmann, I. Nunes, E. Pournaras, and S. Tomforde. 2019. On learning in collective self-adaptive systems: State of practice and a 3D framework. In Proceedings of the IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’19). 13–24. https://doi.org/10.1109/SEAMS.2019.00012Google Scholar
- D. De Sensi, M. Torquati, and M. Danelutto. 2016. A reconfiguration algorithm for power-aware parallel applications. ACM Trans. Architect. Code Optimiz. 13, 4 (2016), 1–25.Google Scholar
Digital Library
- A. Dhrgam, D. Kim, and L. Lu. 2018. A three-phase decision making approach for self-adaptive systems using web services. Complex Adapt. Syst. Model. 6, 1 (2018), 8.Google Scholar
Cross Ref
- P. Domingos. 2012. A few useful things to know about machine learning. Commun. ACM 55, 10 (2012), 78–87. https://doi.org/10.1145/2347736.2347755Google Scholar
Digital Library
- F. Duarte, R. Gil, P. Romano, A. Lopes, and L. Rodrigues. 2018. Learning non-deterministic impact models for adaptation. In Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. https://doi.org/10.1145/3194133.3194138Google Scholar
- T. Dybå and T. Dingsøyr. 2008. Empirical studies of agile software development: A systematic review. Info. Softw. Technol. 50, 9–10 (2008), 833–859.Google Scholar
Digital Library
- H. El-Kassabi, M. A. Serhani, S. Bouktif, and A. Benharref. 2019. Multi-model deep learning for cloud resources prediction to support proactive workflow adaptation. In Proceedings of the IEEE Cloud Summit. 78–85.Google Scholar
- I. Elgendi, M. F. Hossain, A. Jamalipour, and K. S. Munasinghe. 2019. Protecting cyber physical systems using a learned MAPE-K model. IEEE Access 7 (2019), 90954–90963. https://doi.org/10.1109/ACCESS.2019.2927037Google Scholar
Cross Ref
- E. Elhamifar and R. Vidal. 2013. Sparse subspace clustering: Algorithm, theory, and applications. IEEE Trans. Pattern Anal. Mach. Intell. 35, 11 (2013), 2765–2781. https://doi.org/10.1109/TPAMI.2013.57Google Scholar
Digital Library
- A. Elkhodary, N. Esfahani, and S. Malek. 2010. FUSION: A framework for engineering self-tuning self-adaptive software systems. In Proceedings of the 8th ACM SIGSOFT International Symposium on Foundations of Software Engineering. https://doi.org/10.1145/1882291.1882296Google Scholar
- I. Epifani, C. Ghezzi, R. Mirandola, and G. Tamburrelli. 2009. Model evolution by run-time parameter adaptation. In Proceedings of the 31st International Conference on Software Engineering (ICSE’09). IEEE Computer Society, Washington, DC, 111–121. https://doi.org/10.1109/ICSE.2009.5070513Google Scholar
- N. Esfahani, A. Elkhodary, and S. Malek. 2013. A learning-based framework for engineering feature-oriented self-adaptive software systems. IEEE Trans. Softw. Eng. 39, 11 (Nov. 2013), 1467–1493. https://doi.org/10.1109/TSE.2013.37Google Scholar
Digital Library
- D. Feng and C. Germain. 2015. Fault monitoring with sequential matrix factorization. ACM Trans. Auton. Adapt. Syst. 10, 3, Article 20 (Oct. 2015), 25 pages. https://doi.org/10.1145/2797141Google Scholar
Digital Library
- D. Mendez Fernandez, S. Wagner, M. Kalinowski, M. Felderer, P. Mafra, A. Vetro, T. Conte, M. Christiansson, D. Greer, C. Lassenius, T. Mannisto, M. Nayabi, M. Oivo, B. Penzenstadler, and D. Pfahl. 2016. Naming the pain in requirements engineering. Empir. Softw. Eng. 22 (2016), 2298–2338.Google Scholar
Digital Library
- L. Fernandez Maimo, Angel L. Perales Gomez, F. J. Garcia Clemente, M. Gil Perez, and G. Martinez Perez. 2018. A self-adaptive deep learning-based system for anomaly detection in 5G networks. IEEE Access 6 (2018), 7700–7712. https://doi.org/10.1109/ACCESS.2018.2803446Google Scholar
Cross Ref
- M. Ferroni, A. Corna, A. Damiani, R. Brondolin, J. Kubiatowicz, D. Sciuto, and M. Santambrogio. 2017. MARC: A resource consumption modeling service for self-aware autonomous agents. ACM Trans. Auton. Adapt. Syst. 12, 4 (2017). https://doi.org/10.1145/3127499Google Scholar
- A. Frömmgen, R. Rehner, M. Lehn, and A. Buchmann. 2015. Fossa: Learning ECA rules for adaptive distributed systems. In Proceedings of the IEEE International Conference on Autonomic Computing. 207–210. https://doi.org/10.1109/ICAC.2015.37Google Scholar
- Alessio Gambi, Giovanni Toffetti, and Mauro Pezzè. 2013. Assurance of Self-adaptive Controllers for the Cloud. Springer Berlin Heidelberg, Berlin, Heidelberg, 311–339. https://doi.org/10.1007/978-3-642-36249-1_12Google Scholar
- D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. 2004. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer 37, 10 (2004), 46–54.Google Scholar
Digital Library
- I. Gerostathopoulos, D. Skoda, F. Plasil, T. Bures, and A. Knauss. 2016. Architectural homeostasis in self-adaptive software-intensive cyber-physical systems. In Software Architecture. Springer.Google Scholar
- S. Ghahremani, C. M. Adriano, and H. Giese. 2018. Training prediction models for rule-based self-adaptive systems. In Proceedings of the IEEE International Conference on Autonomic Computing (ICAC’18). 187–192. https://doi.org/10.1109/ICAC.2018.00031Google Scholar
- X. Gu. 2012. IDES: Self-adaptive Software with Online Policy Evolution Extended from Rainbow. Springer, Berlin, 181–195. https://doi.org/10.1007/978-3-642-30454-5_13Google Scholar
- F. Heylighen. 2002. The science of self-organization and adaptivity. In Knowledge Management, Organizational Intelligence and Learning, and Complexity: vol. 3, L. D. Kiel (Ed.). EOLSS Publishers.Google Scholar
- H. Ho and E. Lee. 2015. Model-based reinforcement learning approach for planning in self-adaptive software system. In Proceedings of the 9th International Conference on Ubiquitous Information Management and Communication. https://doi.org/10.1145/2701126.2701191Google Scholar
- U. Iftikhar and D. Weyns. 2014. ActivFORMS: Active formal models for self-adaptation. In Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’14). https://doi.org/10.1145/2593929.2593944Google Scholar
- A. Ismail and V. Cardellini. 2015. Decentralized planning for self-adaptation in multi-cloud environment. In Advances in Service-Oriented and Cloud Computing, G. Ortiz and C. Tran (Eds.). Springer.Google Scholar
- P. Jamshidi, C. Pahl, and N. C. Mendonca. 2016. Managing uncertainty in autonomic cloud elasticity controllers. IEEE Cloud Comput. 3, 3 (2016), 50–60. https://doi.org/10.1109/MCC.2016.66Google Scholar
Cross Ref
- P. Jamshidi, A. Sharifloo, C. Pahl, H. Arabnejad, A. Metzger, and G. Estrada. 2016. Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In Proceedings of the 12th International ACM SIGSOFT Conference on Quality of Software Architectures. 70–79. https://doi.org/10.1109/QoSA.2016.13Google Scholar
- P. Jamshidi, A. Sharifloo, C. Pahl, H. Arabnejad, A. Metzger, and G. Estrada. 2016. Fuzzy self-learning controllers for elasticity management in dynamic cloud architectures. In Proceedings of the 12th International ACM SIGSOFT Conference on Quality of Software Architectures (QoSA’16). 70–79. https://doi.org/10.1109/QoSA.2016.13Google Scholar
- P. Jamshidi, M. Velez, C. Kästner, and N. Siegmund. 2018. Learning to sample: Exploiting similarities across environments to learn performance models for configurable systems. In Proceedings of the 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. https://doi.org/10.1145/3236024.3236074Google Scholar
- P. Jamshidi, M. Velez, C. Kastner, N. Siegmund, and P. Kawthekar. 2017. Transfer learning for improving model predictions in highly configurable software. In Proceedings of the IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’17). 31–41. https://doi.org/10.1109/SEAMS.2017.11Google Scholar
- D. Julian. 2016. Designing Machine Learning Systems with Python. PACKT. Retrieved from https://www.packtpub.com/product/designing-machine-learning-systems-with-python/9781785882951.Google Scholar
- S. Keele et al. 2007. Guidelines for performing systematic literature reviews in software engineering. Technical Report. Technical report, Ver. 2.3 EBSE Technical Report. EBSE.Google Scholar
- J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer1 (2003), 41–50.Google Scholar
- M. A. Khan and H. Tembine. 2017. Meta-learning for realizing self-x management of future networks. IEEE Access 5 (2017), 19072–19083. https://doi.org/10.1109/ACCESS.2017.2745999Google Scholar
Cross Ref
- P. V. Klaine, M. A. Imran, O. Onireti, and R. D. Souza. 2017. A survey of machine learning techniques applied to self-organizing cellular networks. IEEE Commun. Surveys Tutor. 19, 4 (2017), 2392–2431. https://doi.org/10.1109/COMST.2017.2727878Google Scholar
Cross Ref
- D. Kramer and W. Karl. 2012. Realizing a proactive, self-optimizing system behavior within adaptive, heterogeneous many-core architectures. In Proceedings of the IEEE 6th International Conference on Self-Adaptive and Self-Organizing Systems. 39–48. https://doi.org/10.1109/SASO.2012.26Google Scholar
- J. Kramer and J. Magee. 2007. Self-managed systems: An architectural challenge. In Proceedings of the Conference on the Future of Software Engineering (FOSE’07). 259–268.Google Scholar
- C. Krupitzer, J. Otto, F. M. Roth, A. Frommgen, and C. Becker. 2017. Adding self-improvement to an autonomic traffic management system. In Proceedings of the IEEE International Conference on Autonomic Computing (ICAC’17). 209–214. https://doi.org/10.1109/ICAC.2017.16Google Scholar
- C. Krupitzer, M. Pfannemuller, J. Kaddour, and C. Becker. 2018. SATISFy: Towards a self-learning analyzer for time series forecasting in self-improving systems. In Proceedings of the IEEE International Workshops on Foundations and Applications of Self Systems.182–189. https://doi.org/10.1109/FAS-W.2018.00045Google Scholar
- A. Kurakin, I. Goodfellow, and S. Bengio. 2017. Adversarial machine learning at scale. Retrieved from https://arxiv.org/abs/1611.01236.Google Scholar
- E. Lee, Y.-D. Seo, and Y.-G. Kim. 2019. A Nash equilibrium based decision-making method for internet of things. J. Ambient Intell. Human. Comput. (2019), 1–9. https://doi.org/10.1007/s12652-019-01367-2Google Scholar
- T. Liu, C. Yang, C. Hu, H. Wang, L. Li, D. Cao, and F. Wang. 2018. Reinforcement learning-based predictive control for autonomous electrified vehicles. In Proceedings of the IEEE Intelligent Vehicles Symposium (IV’18). 185–190. https://doi.org/10.1109/IVS.2018.8500719Google Scholar
- Y. Liu, D. Bai, and W. Jiao. 2018. Generating adaptation rules of software systems: A method based on genetic algorithm. In Proceedings of the 10th International Conference on Machine Learning and Computing. https://doi.org/10.1145/3195106.3195137Google Scholar
- T. Lorido-Botran, J. Miguel-Alonso, and J. Lozano. 2014. A review of auto-scaling techniques for elastic applications in cloud environments. J. Grid Comput. 12, 4 (2014), 559–592.Google Scholar
Digital Library
- M. Maggio, H. Hoffmann, A. Papadopoulos, J. Panerati, M. Santambrogio, A. Agarwal, and A. Leva. 2012. Comparison of decision-making strategies for self-optimization in autonomic computing systems. ACM Trans. Auton. Adapt. Syst. 7, 4 (2012). https://doi.org/10.1145/2382570.2382572Google Scholar
Digital Library
- S. Mahdavi-Hezavehi, V. Durelli, D. Weyns, and P. Avgeriou. 2017. A systematic literature review on methods that handle multiple quality attributes in architecture-based self-adaptive systems. Info. Softw. Technol. 90 (2017), 1–26. https://doi.org/10.1016/j.infsof.2017.03.013Google Scholar
Cross Ref
- M. Masdari and A. Khoshnevis. 2019. A survey and classification of the workload forecasting methods in cloud computing. Cluster Comput. 23 (2019), 1–26.Google Scholar
- T. M. Mitchell. 1997. Machine Learning. McGraw-Hill. 97007692 Retrieved from https://books.google.be/books?id=EoYBngEACAAJ.Google Scholar
Digital Library
- M. Moghadam, M.d Saadatmand, M.s Borg, M. Bohlin, and B. Lisper. 2018. Adaptive runtime response time control in plc-based real-time systems using reinforcement learning. In Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. https://doi.org/10.1145/3194133.3194153Google Scholar
- A. Pandey, B. Schmerl, and D. Garlan. 2017. Instance-based learning for hybrid planning. In Proceedings of the IEEE 2nd International Workshops on Foundations and Applications of Self* Systems (FAS*W’17). 64–69. https://doi.org/10.1109/FAS-W.2017.122Google Scholar
- D. Papamartzivanos, F. Gomez Marmol, and G. Kambourakis. 2019. Introducing deep learning self-adaptive misuse network intrusion detection systems. IEEE Access 7 (2019), 13546–13560. https://doi.org/10.1109/ACCESS.2019.2893871Google Scholar
Cross Ref
- Van Dyke Parunak and S. Brueckner. 2015. Software engineering for self-organizing systems. Knowl. Eng. Rev. 30, 4 (2015), 419–434. https://doi.org/10.1017/S0269888915000089Google Scholar
Cross Ref
- A. Pelaez, A. Quiroz, and M. Parashar. 2016. Dynamic adaptation of policies using machine learning. In Proceedings of the International Symposium on Cluster, Cloud and Grid Computing (CCGrid’16). IEEE, 501–510.Google Scholar
- L. Prechelt, D. Graziotin, and D. Mendez Fernandez. 2018. A community’s perspective on the status and future of peer review in software engineering. Info. Softw. Technol. 95 (2018), 75–85.Google Scholar
Cross Ref
- W. Qian, X. Peng, B. Chen, J. Mylopoulos, H. Wang, and W. Zhao. 2015. Rationalism with a dose of empiricism: Combining goal reasoning and case-based reasoning for self-adaptive software systems. Require. Eng. 20, 3 (2015), 233–252.Google Scholar
Digital Library
- X. Qin, W. Wang, W. Zhang, J. Wei, X. Zhao, and T. Huang. 2012. Elasticat: A load rebalancing framework for cloud-based key-value stores. In Proceedings of the 19th International Conference on High Performance Computing. 1–10.Google Scholar
- X. Qin, W. Wang, W. Zhang, J. Wei, X. Zhao, H. Zhong, and T. Huang. 2014. PRESC: Efficient self-reconfiguration of cache strategies for elastic caching platforms. Computing 96, 5 (2014), 415–451.Google Scholar
Cross Ref
- F. Quin, D. Weyns, T. Bamelis, S. Buttar, and S. Michiels. 2019. Efficient analysis of large adaptation spaces in self-adaptive systems using machine learning. In Proceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE Press. https://doi.org/10.1109/SEAMS.2019.00011Google Scholar
- G. S. Blair, N. Bencomo, and R. France. 2009. Models@ run.time. Computer 42 (11 2009), 22–27. https://doi.org/10.1109/MC.2009.326Google Scholar
- F. Salfner and M. Malek. 2010. Architecting Dependable Systems with Proactive Fault Management. Springer. https://doi.org/10.1007/978-3-642-17245-8_8Google Scholar
- T. R. D. Saputri and S. W. Lee. 2020. The application of machine learning in self-adaptive systems: A systematic literature review. IEEE Access 8 (2020), 205948–205967. https://doi.org/10.1109/ACCESS.2020.3036037Google Scholar
Cross Ref
- Burr Settles. 2009. Active learning literature survey. Technical Report. University of Wisconsin-Madison Department of Computer Sciences.Google Scholar
- S. Shalev-Shwartz and S. Ben-David. 2014. Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press.Google Scholar
- A. M. Sharifloo, A. Metzger, C. Quinton, L. Baresi, and K. Pohl. 2016. Learning and evolution in dynamic software product lines. In Proceedings of the IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’16). 158–164. https://doi.org/10.1109/SEAMS.2016.026Google Scholar
- S. Sheikhi and S. Babamir. 2018. Using a recurrent artificial neural network for dynamic self-adaptation of cluster-based web-server systems. Appl. Intell. 48, 8 (2018), 2097–2111.Google Scholar
Digital Library
- S. Shevtsov, M. Berekmeri, D. Weyns, and M. Maggio. 2018. Control-theoretical software adaptation: A systematic literature review. IEEE Trans. Softw. Eng. 44, 8 (Aug. 2018), 784–810. https://doi.org/10.1109/TSE.2017.2704579Google Scholar
Digital Library
- K. Skałkowski and K. Zieliński. 2013. Automatic adaptation of SOA systems supported by machine learning. In Technological Innovation for the Internet of Things. Springer.Google Scholar
- M. Sommer, S. Tomforde, J. Hahner, and D. Auer. 2015. Learning a dynamic re-combination strategy of forecast techniques at runtime. In Proceedings of the IEEE International Conference on Autonomic Computing. 261–266. https://doi.org/10.1109/ICAC.2015.70Google Scholar
- A. Stein, S. Tomforde, A. Diaconescu, J. Hahner, and C. Muller-Schloer. 2018. A concept for proactive knowledge construction in self-learning autonomous systems. In Proceedings of the IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS*W’18). 204–213. https://doi.org/10.1109/FAS-W.2018.00048Google Scholar
- A. Strauss and J. Corbin. 1990. Basics of Qualitative Research: Grounded Theory Procedures and Techniques. SAGE.Google Scholar
- D. Sykes, D. Corapi, J. Magee, J. Kramer, A. Russo, and K. Inoue. 2013. Learning revised models for planning in adaptive systems. In Proceedings of the International Conference on Software Engineering. IEEE Press.Google Scholar
- Z. Tang, W. Wang, L. Sun, Y. Huang, H. Wu, J. Wei, and T. Huang. 2018. IO dependent SSD cache allocation for elastic Hadoop applications. Sci. China Info. Sci. 61, 5 (2018), 050104.Google Scholar
Cross Ref
- G. Tesauro, N. Jong, R. Das, and M. Bennani. 2007. On the use of hybrid reinforcement learning for autonomic resource allocation. Cluster Comput. 10, 3 (2007), 287–299.Google Scholar
Digital Library
- S. Thrun and T. Mitchell. 1995. Lifelong robot learning. Robot. Auton. Syst. 15, 1–2 (1995), 25–46.Google Scholar
Cross Ref
- R. Van Solingen, V. Basili, G. Caldiera, and D. Rombach. 2002. Goal question metric (GQM) approach. Encyclopedia of Software Engineering. CRC Press, Boca Raton, FL.Google Scholar
- N. Villegas, H. Müller, G. Tamura, L. Duchien, and R. Casallas. 2011. A framework for evaluating quality-driven self-adaptive software systems. In Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. Association for Computing Machinery, New York, NY, 80–89. https://doi.org/10.1145/1988008.1988020Google Scholar
- M. Vollstedt and S. Rezat. 2019. An Introduction to Grounded Theory with a Special Focus on Axial Coding and the Coding Paradigm. Springer. https://doi.org/10.1007/978-3-030-15636-7_4Google Scholar
- J. Wan, Q. Li, L. Wang, L. He, and Y. Li. 2017. A self-adaptation framework for dealing with the complexities of software changes. In Proceedings of the 8th IEEE International Conference on Software Engineering and Service Science (ICSESS’17). 521–524. https://doi.org/10.1109/ICSESS.2017.8342969Google Scholar
- D. Weyns. 2019. Software engineering of self-adaptive systems. In Handbook of Software Engineering. Springer International Publishing, Cham, 399–443. https://doi.org/10.1007/978-3-030-00262-6_11Google Scholar
- D. Weyns. 2020. Introduction to Self-adaptive Systems: A Contemporary Software Engineering Perspective. Wiley.Google Scholar
- D. Weyns and T. Ahmad. 2013. Claims and evidence for architecture-based self-adaptation: a systematic literature review. In Proceedings of the European Conference on Software Architecture. Springer, 249–265.Google Scholar
- D. Weyns and U. Iftikhar. 2016. Model-based simulation at runtime for self-adaptive systems. In Proceedings of the IEEE International Conference on Autonomic Computing (ICAC’16). 364–373. https://doi.org/10.1109/ICAC.2016.67Google Scholar
- D. Weyns, U. Iftikhar, D. Hughes, and N. Matthys. 2018. Applying architecture-based adaptation to automate the management of internet-of-things. In Software Architecture, C. Cuesta, D. Garlan, and J. Pérez (Eds.). Springer, 49–67.Google Scholar
- D. Weyns, U. Iftikhar, D. Hughes, and N. Matthys. 2018. Applying architecture-based adaptation to automate the management of internet-of-things. In Software Architecture, C. Cuesta, D. Garlan, and J. Pérez (Eds.). Springer, 49–67.Google Scholar
- D. Weyns, S. Malek, and J. Andersson. 2012. FORMS: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 7, 1 (2012), 8.Google Scholar
Digital Library
- Bin Xiao. 2017. Self-evolvable knowledge-enhanced IoT data mobility for smart environment. In Proceedings of the 1st International Conference on Internet of Things and Machine Learning. 1–14.Google Scholar
Digital Library
- Satoru Yamagata, Hiroyuki Nakagawa, Yuichi Sei, Yasuyuki Tahara, and Akihiko Ohsuga. 2019. Self-adaptation for heterogeneous client-server online games. In Proceedings of the International Conference on Intelligence Science. Springer, 65–79.Google Scholar
- C. Zannier, G. Melnik, and F. Maurer. 2006. On the success of empirical studies in the international conference on software engineering. In Proceedings of the 28th International Conference on Software Engineering. https://doi.org/10.1145/1134285.1134333Google Scholar
- S. Žapčević and P. Butala. 2013. Adaptive process control based on a self-learning mechanism in autonomous manufacturing systems. Int. J. Adv. Manufactur. Technol. 66, 9–12 (2013), 1725–1743.Google Scholar
Cross Ref
- T. Zhao, W. Zhang, H. Zhao, and Z. Jin. 2017. A reinforcement learning-based framework for the generation and evolution of adaptation rules. In Proceedings of the IEEE International Conference on Autonomic Computing (ICAC’17). 103–112. https://doi.org/10.1109/ICAC.2017.47Google Scholar
- X. Zuo, G. Zhang, and W. Tan. 2014. Self-adaptive learning pso-based deadline constrained task scheduling for hybrid IAAS cloud. IEEE Trans. Autom. Sci. Eng. 11, 2 (2014), 564–573. https://doi.org/10.1109/TASE.2013.2272758Google Scholar
Cross Ref
Index Terms
Applying Machine Learning in Self-adaptive Systems: A Systematic Literature Review
Recommendations
ActivFORMS: A Formally Founded Model-based Approach to Engineer Self-adaptive Systems
Self-adaptation equips a computing system with a feedback loop that enables it to deal with change caused by uncertainties during operation, such as changing availability of resources and fluctuating workloads. To ensure that the system complies with the ...
Efficient analysis of large adaptation spaces in self-adaptive systems using machine learning
SEAMS '19: Proceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing SystemsWhen a self-adaptive system detects that its adaptation goals may be compromised, it needs to determine how to adapt to ensure its goals. To that end, the system can analyze the possible options for adaptation, i.e., the adaptation space, and pick the ...
Online Reinforcement Learning for Self-adaptive Information Systems
Advanced Information Systems EngineeringAbstractA self-adaptive information system is capable of maintaining its quality requirements in the presence of dynamic environment changes. To develop a self-adaptive information system, information system engineers have to create self-adaptation logic ...






Comments