skip to main content
research-article
Open Access

Applying Machine Learning in Self-adaptive Systems: A Systematic Literature Review

Authors Info & Claims
Published:18 August 2021Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. C. Bishop. 2006. Pattern Recognition and Machine Learning. Springer.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarCross RefCross Ref
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle Scholar
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. 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 ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle Scholar
  17. 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 ScholarGoogle Scholar
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarCross RefCross Ref
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarCross RefCross Ref
  32. 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 ScholarGoogle Scholar
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle Scholar
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 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 ScholarGoogle Scholar
  37. 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 ScholarGoogle Scholar
  38. 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 ScholarGoogle Scholar
  39. 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 ScholarGoogle Scholar
  40. 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 ScholarGoogle Scholar
  41. 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 ScholarGoogle Scholar
  42. 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 ScholarGoogle Scholar
  43. 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 ScholarGoogle ScholarCross RefCross Ref
  44. 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 ScholarGoogle Scholar
  45. 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 ScholarGoogle Scholar
  46. 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 ScholarGoogle Scholar
  47. 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 ScholarGoogle Scholar
  48. 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 ScholarGoogle Scholar
  49. 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 ScholarGoogle Scholar
  50. J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer1 (2003), 41–50.Google ScholarGoogle Scholar
  51. 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 ScholarGoogle ScholarCross RefCross Ref
  52. 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 ScholarGoogle ScholarCross RefCross Ref
  53. 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 ScholarGoogle Scholar
  54. 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 ScholarGoogle Scholar
  55. 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 ScholarGoogle Scholar
  56. 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 ScholarGoogle Scholar
  57. A. Kurakin, I. Goodfellow, and S. Bengio. 2017. Adversarial machine learning at scale. Retrieved from https://arxiv.org/abs/1611.01236.Google ScholarGoogle Scholar
  58. 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 ScholarGoogle Scholar
  59. 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 ScholarGoogle Scholar
  60. 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 ScholarGoogle Scholar
  61. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  62. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  63. 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 ScholarGoogle ScholarCross RefCross Ref
  64. 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 ScholarGoogle Scholar
  65. T. M. Mitchell. 1997. Machine Learning. McGraw-Hill. 97007692 Retrieved from https://books.google.be/books?id=EoYBngEACAAJ.Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. 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 ScholarGoogle Scholar
  67. 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 ScholarGoogle Scholar
  68. 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 ScholarGoogle ScholarCross RefCross Ref
  69. 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 ScholarGoogle ScholarCross RefCross Ref
  70. 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 ScholarGoogle Scholar
  71. 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 ScholarGoogle ScholarCross RefCross Ref
  72. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  73. 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 ScholarGoogle Scholar
  74. 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 ScholarGoogle ScholarCross RefCross Ref
  75. 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 ScholarGoogle Scholar
  76. 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 ScholarGoogle Scholar
  77. 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 ScholarGoogle Scholar
  78. 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 ScholarGoogle ScholarCross RefCross Ref
  79. Burr Settles. 2009. Active learning literature survey. Technical Report. University of Wisconsin-Madison Department of Computer Sciences.Google ScholarGoogle Scholar
  80. S. Shalev-Shwartz and S. Ben-David. 2014. Understanding Machine Learning: From Theory to Algorithms. Cambridge University Press.Google ScholarGoogle Scholar
  81. 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 ScholarGoogle Scholar
  82. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  83. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  84. 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 ScholarGoogle Scholar
  85. 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 ScholarGoogle Scholar
  86. 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 ScholarGoogle Scholar
  87. A. Strauss and J. Corbin. 1990. Basics of Qualitative Research: Grounded Theory Procedures and Techniques. SAGE.Google ScholarGoogle Scholar
  88. 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 ScholarGoogle Scholar
  89. 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 ScholarGoogle ScholarCross RefCross Ref
  90. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  91. S. Thrun and T. Mitchell. 1995. Lifelong robot learning. Robot. Auton. Syst. 15, 1–2 (1995), 25–46.Google ScholarGoogle ScholarCross RefCross Ref
  92. 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 ScholarGoogle Scholar
  93. 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 ScholarGoogle Scholar
  94. 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 ScholarGoogle Scholar
  95. 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 ScholarGoogle Scholar
  96. 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 ScholarGoogle Scholar
  97. D. Weyns. 2020. Introduction to Self-adaptive Systems: A Contemporary Software Engineering Perspective. Wiley.Google ScholarGoogle Scholar
  98. 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 ScholarGoogle Scholar
  99. 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 ScholarGoogle Scholar
  100. 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 ScholarGoogle Scholar
  101. 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 ScholarGoogle Scholar
  102. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  103. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  104. 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 ScholarGoogle Scholar
  105. 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 ScholarGoogle Scholar
  106. 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 ScholarGoogle ScholarCross RefCross Ref
  107. 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 ScholarGoogle Scholar
  108. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Applying Machine Learning in Self-adaptive Systems: A Systematic Literature Review

        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 3
          September 2020
          88 pages
          ISSN:1556-4665
          EISSN:1556-4703
          DOI:10.1145/3475940
          Issue’s Table of Contents

          Copyright © 2021 Owner/Author

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 18 August 2021
          • Accepted: 1 June 2021
          • Revised: 1 February 2021
          • Received: 1 October 2020
          Published in taas Volume 15, Issue 3

          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!