skip to main content
10.1145/3387939.3391605acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Applying deep learning to reduce large adaptation spaces of self-adaptive systems with multiple types of goals

Published:18 September 2020Publication History

ABSTRACT

When a self-adaptive system needs to adapt, it has to analyze the possible options for adaptation, i.e., the adaptation space. For systems with large adaptation spaces, this analysis process can be resource- and time-consuming. One approach to tackle this problem is using machine learning techniques to reduce the adaptation space to only the relevant adaptation options. However, existing approaches only handle threshold goals, while practical systems often need to address also optimization goals. To tackle this limitation, we propose a two-stage learning approach called Deep Learning for Adaptation Space Reduction (DLASeR). DLASeR applies a deep learner first to reduce the adaptation space for the threshold goals and then ranks these options for the optimization goal. A benefit of deep learning is that it does not require feature engineering. Results on two instances of the DeltaIoT artifact (with different sizes of adaptation space) show that DLASeR outperforms a state-of-the-art approach for settings with only threshold goals. The results for settings with both threshold goals and an optimization goal show that DLASeR is effective with a negligible effect on the realization of the adaptation goals. Finally, we observe no noteworthy effect on the effectiveness of DLASeR for larger sizes of adaptation spaces.

References

  1. M. Abadi, P. Barham, J. Chen, Z. Chen, A. Davis, J. Dean, M. Devin, S. Ghemawat, G. Irving, M. Isard, et al. 2016. Tensorflow: A system for large-scale machine learning. In 12th {USENIX} Symposium on Operating Systems Design and Implementation ({OSDI} 16). 265--283.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. G. Agha and K. Palmskog. 2018. A Survey of Statistical Model Checking. ACM Trans. Model. Comput. Simul. 28, 1, Article 6 (Jan. 2018), 39 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli. 2011. Dynamic QoS Management and Optimization in Service-Based Systems. IEEE Transactions on Software Engineering 37, 3 (May 2011), 387--409. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. T. Chen and R. Bahsoon. 2017. Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services. IEEE Transactions on Software Engineering 43, 5 (May 2017), 453--475. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. T. Chen, K. Li, R. Bahsoon, and X. Yao. 2018. FEMOSAA: Feature-Guided and Knee-Driven Multi-Objective Optimization for Self-Adaptive Software. ACM Trans. Softw. Eng. Methodol. 27, 2, Article Article 5 (June 2018), 50 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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, B. Cheng, R. de Lemos, H. Giese, P. Inverardi, and J. Magee (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 1--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CMU. 2020. Neural Networks: What can a network represent. In Deep Learning, Spring Course Carnegie Mellon University. https://deeplearning.cs.cmu.edu/document/slides/lec2.universal.pdfGoogle ScholarGoogle Scholar
  8. A. David, K. Larsen, A. Legay, M. Mikučionis, and D. Poulsen. 2015. Uppaal SMC tutorial. International Journal on Software Tools for Technology Transfer 17, 4 (2015), 397--415.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. de Lemos, D. Garlan, C. Ghezzi, H. Giese, J. Andersson, M. Litoiu, B. Schmerl, D. Weyns, L. Baresi, N. Bencomo, Y. Brun, J. Camara, R. Calinescu, M. Cohen, A. Gorla, V. Grassi, L. Grunske, P. Inverardi, J. Jezequel, S. Malek, R. Mirandola, M. Mori, H. Müller, R. Rouvoy, C. Rubira, E. Rutten, M. Shaw, G. Tamburrelli, G. Tamura, N. Villegas, T. Vogel, and F. Zambonelli. 2017. Software Engineering for Self-Adaptive Systems: Research Challenges in the Provision of Assurances. In Software Engineering for Self-Adaptive Systems III. Assurances, R. de Lemos, D. Garlan, C. Ghezzi, and H. Giese (Eds.). Springer, 3--30.Google ScholarGoogle Scholar
  10. J. Van Der Donckt, D. Weyns, and F. Quin. 2020. DLASeR website. https://people.cs.kuleuven.be/danny.weyns/material/2020SEAMS/DLASeR/Google ScholarGoogle Scholar
  11. A. Elkhodary, N. Esfahani, and S. Malek. 2010. FUSION: a framework for engineering self-tuning self-adaptive software systems. In 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering. ACM, 7--16.Google ScholarGoogle Scholar
  12. N. Esfahani, E. Kouroshfar, and S. Malek. 2011. Taming Uncertainty in Self-adaptive Software. In 19th Symposium and the 13th European Conference on Foundations of Software Engineering. ACM, 234--244. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Filieri, C. Ghezzi, and G. Tamburrelli. 2011. Run-time efficient probabilistic model checking. In 33rd International Conference on Software Engineering. 341--350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Garlan, S. Cheng, A. Huang, B. Schmerl, and P. Steenkiste. 2004. Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. Computer 37, 10 (Oct. 2004), 46--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. A. Géron. 2019. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. O'Reilly Media.Google ScholarGoogle Scholar
  16. I. Goodfellow, Y. Bengio, and A. Courville. 2016. Deep learning. MIT press.Google ScholarGoogle Scholar
  17. M. Harman, P. McMinn, J. de Souza, and S. Yoo. 2012. Search Based Software Engineering: Techniques, Taxonomy, Tutorial. Springer-Verlag, 1--59.Google ScholarGoogle Scholar
  18. U. Iftikhar, J. Lundberg, and D. Weyns. 2016. A model interpreter for timed automata. In International Symposium on Leveraging Applications of Formal Methods. Springer, 243--258.Google ScholarGoogle Scholar
  19. U. Iftikhar, G. S. Ramachandran, P. Bollansée, D. Weyns, and D. Hughes. 2017. DeltaIoT: A self-adaptive Internet of Things Exemplar. In 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE Press, 76--82.Google ScholarGoogle Scholar
  20. U. Iftikhar and D. Weyns. 2014. ActivFORMS: Active Formal Models for Self-Adaptation (SEAMS 2014). Association for Computing Machinery, New York, NY, USA, 125--134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Ioffe and C. Szegedy. 2015. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167 (2015).Google ScholarGoogle Scholar
  22. Pooyan Jamshidi, Javier Cámara, Bradley Schmerl, Christian Käestner, and David Garlan. 2019. Machine learning meets quantitative planning: Enabling self-adaptation in autonomous robots. In 2019 IEEE/ACM 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). IEEE, 39--50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer 1 (2003), 41--50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Kinneer, Z. Coker, J. Wang, D. Garlan, and C. Goues. 2018. Managing Uncertainty in Self-Adaptive Systems with Plan Reuse and Stochastic Search (SEAMS '18). Association for Computing Machinery, New York, NY, USA, 40--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. C. Klein, M. Maggio, K. Årzén, and F. Hernández-Rodriguez. 2014. Brownout: Building more robust cloud applications. In 36th International Conference on Software Engineering. ACM, 700--711.Google ScholarGoogle Scholar
  26. J. Kramer and J. Magee. 2007. Self-Managed Systems: An Architectural Challenge. In Future of Software Engineering. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. Krizhevsky, I. Sutskever, and G. Hinton. 2012. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems. 1097--1105.Google ScholarGoogle Scholar
  28. M. Kwiatkowska, G. Norman, and D. Parker. 2011. PRISM 4.0: Verification of Probabilistic Real-Time Systems. In Computer Aided Verification, G. Gopalakrishnan and S. Qadeer (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 585--591.Google ScholarGoogle Scholar
  29. Y. LeCun, Y. Bengio, and G. Hinton. 2015. Deep learning. Nature 521 (2015), 436--444.Google ScholarGoogle ScholarCross RefCross Ref
  30. S. Mahdavi-Hezavehi, P. Avgeriou, and D. Weyns. 2017. A Classification Framework of Uncertainty in Architecture-Based Self-Adaptive Systems With Multiple Quality Requirements. In Managing Trade-Offs in Adaptable Software Architectures, I. Mistrik, N. Ali, R. Kazman, J. Grundy, and B. Schmerl (Eds.). Morgan Kaufmann, Boston, 45 -- 77. Google ScholarGoogle ScholarCross RefCross Ref
  31. A. Metzger, C. Quinton, Z. Mann, L. Baresi, and K. Pohl. 2019. Feature-Model-Guided Online Learning for Self-Adaptive Systems. arXiv preprint arXiv:1907.09158 (2019).Google ScholarGoogle Scholar
  32. G. A. Moreno, J. Cámara, D. Garlan, and B. Schmerl. 2015. Proactive Self-adaptation Under Uncertainty: A Probabilistic Model Checking Approach. In Foundations of Software Engineering. ACM.Google ScholarGoogle Scholar
  33. V. Nair, Z. Yu, T. Menzies, N. Siegmund, and S. Apel. 2018. Finding Faster Configurations using FLASH. IEEE Transactions on Software Engineering (2018), 1--1. Google ScholarGoogle ScholarCross RefCross Ref
  34. A. Ng. 2004. Feature selection, L 1 vs. L 2 regularization, and rotational invariance. In 21th International Conference on Machine Learning. ACM, 78.Google ScholarGoogle Scholar
  35. F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, et al. 2011. Scikit-learn: Machine learning in Python. Journal of machine learning research 12 (2011), 2825--2830.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. D. Perez-Palacin and R. Mirandola. 2014. Uncertainties in the Modeling of Self-adaptive Systems: A Taxonomy and an Example of Availability Evaluation (ICPE '14). ACM, New York, NY, USA, 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. F. Quin, D. Weyns, T. Bamelis, S. B. Sarpreet, and S. Michiels. 2019. Efficient analysis of large adaptation spaces in self-adaptive systems using machine learning. In 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE, 1--12.Google ScholarGoogle Scholar
  38. M. Shanker, M. Hu, and M. Hung. 1996. Effect of data standardization on neural network training. Omega 24, 4 (1996), 385--397.Google ScholarGoogle ScholarCross RefCross Ref
  39. N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, and R. Salakhutdinov. 2014. Dropout: a simple way to prevent neural networks from overfitting. The journal of machine learning research 15, 1 (2014), 1929--1958.Google ScholarGoogle Scholar
  40. J. Van Der Donckt, D. Weyns, U. Iftikhar, and S. Sing Buttar. 2019. Efficient Decision Making in Self-adaptive Systems Using Cost-Benefit Analysis at Runtime and Online Learning of Adaptation Spaces. In Evaluation of Novel Approaches to Software Engineering. Springer, 373--404.Google ScholarGoogle Scholar
  41. D. Weyns. 2019. Software Engineering of Self-adaptive Systems. In Handbook of Software Engineering. Springer, 399--443.Google ScholarGoogle Scholar
  42. D. Weyns, N. Bencomo, R. Calinescu, J. Camara, C. Ghezzi, V. Grassi, L. Grunske, P. Inverardi, J. Jezequel, S. Malek, R. Mirandola, M. Mori, and G. Tamburrelli. 2017. Perpetual Assurances for Self-Adaptive Systems. In Software Engineering for Self-Adaptive Systems III. Assurances. Springer, 31--63.Google ScholarGoogle Scholar
  43. D. Weyns and M. U. Iftikhar. 2016. Model-Based Simulation at Runtime for Self-Adaptive Systems. In 2016 IEEE International Conference on Autonomic Computing (ICAC). 364--373.Google ScholarGoogle Scholar
  44. D. Weyns and U. Iftikhar. 2019. ActivFORMS: A Model-Based Approach to Engineer Self-Adaptive Systems. arXiv:cs.SE/1908.11179Google ScholarGoogle Scholar
  45. D. Weyns, U. Iftikhar, and J. Söderlund. 2013. Do External Feedback Loops Improve the Design of Self-Adaptive Systems? A Controlled Experiment. In International Symposium on Software Engineering of Self-Managing and Adaptive Systems (SEAMS '13).Google ScholarGoogle Scholar
  46. D. Weyns, S. Malek, and J. Andersson. 2012. FORMS: Unifying Reference Model for Formal Specification of Distributed Self-adaptive Systems. ACM Transactions on Autonomous and Adaptive Systems 7, 1 (2012), 8:1--8:61. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. D. Weyns, G.S. Ramachandran, and R.K. Singh. 2018. Self-managing Internet of Things. In International Conference on Current Trends in Theory and Practice of Informatics. Springer, 67--84.Google ScholarGoogle Scholar
  48. D. Zwillinger and S. Kokoska. 2000. CRC Standard Probability and Statistics Tables and Formulae, Section 14.7. In Chapman & Hall.Google ScholarGoogle Scholar

Index Terms

  1. Applying deep learning to reduce large adaptation spaces of self-adaptive systems with multiple types of goals

    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
    • Published in

      cover image ACM Conferences
      SEAMS '20: Proceedings of the IEEE/ACM 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
      June 2020
      211 pages
      ISBN:9781450379625
      DOI:10.1145/3387939

      Copyright © 2020 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 18 September 2020

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate17of31submissions,55%

      Upcoming Conference

      ICSE 2025

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader