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.
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- J. Van Der Donckt, D. Weyns, and F. Quin. 2020. DLASeR website. https://people.cs.kuleuven.be/danny.weyns/material/2020SEAMS/DLASeR/Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- A. Filieri, C. Ghezzi, and G. Tamburrelli. 2011. Run-time efficient probabilistic model checking. In 33rd International Conference on Software Engineering. 341--350. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- I. Goodfellow, Y. Bengio, and A. Courville. 2016. Deep learning. MIT press.Google Scholar
- M. Harman, P. McMinn, J. de Souza, and S. Yoo. 2012. Search Based Software Engineering: Techniques, Taxonomy, Tutorial. Springer-Verlag, 1--59.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- S. Ioffe and C. Szegedy. 2015. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167 (2015).Google Scholar
- 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 ScholarDigital Library
- J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer 1 (2003), 41--50.Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- J. Kramer and J. Magee. 2007. Self-Managed Systems: An Architectural Challenge. In Future of Software Engineering. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- Y. LeCun, Y. Bengio, and G. Hinton. 2015. Deep learning. Nature 521 (2015), 436--444.Google ScholarCross Ref
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- A. Ng. 2004. Feature selection, L 1 vs. L 2 regularization, and rotational invariance. In 21th International Conference on Machine Learning. ACM, 78.Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- M. Shanker, M. Hu, and M. Hung. 1996. Effect of data standardization on neural network training. Omega 24, 4 (1996), 385--397.Google ScholarCross Ref
- 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 Scholar
- 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 Scholar
- D. Weyns. 2019. Software Engineering of Self-adaptive Systems. In Handbook of Software Engineering. Springer, 399--443.Google Scholar
- 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 Scholar
- 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 Scholar
- D. Weyns and U. Iftikhar. 2019. ActivFORMS: A Model-Based Approach to Engineer Self-Adaptive Systems. arXiv:cs.SE/1908.11179Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- D. Zwillinger and S. Kokoska. 2000. CRC Standard Probability and Statistics Tables and Formulae, Section 14.7. In Chapman & Hall.Google Scholar
Index Terms
- Applying deep learning to reduce large adaptation spaces of self-adaptive systems with multiple types of goals
Recommendations
Deep Learning for Effective and Efficient Reduction of Large Adaptation Spaces in Self-adaptive Systems
Many software systems today face uncertain operating conditions, such as sudden changes in the availability of resources or unexpected user behavior. Without proper mitigation these uncertainties can jeopardize the system goals. Self-adaptation is a ...
Dealing with Drift of Adaptation Spaces in Learning-based Self-Adaptive Systems Using Lifelong Self-Adaptation
Recently, machine learning (ML) has become a popular approach to support self-adaptation. ML has been used to deal with several problems in self-adaptation, such as maintaining an up-to-date runtime model under uncertainty and scalable decision-making. ...
Reducing large adaptation spaces in self-adaptive systems using classical machine learning
AbstractModern software systems often have to cope with uncertain operation conditions, such as changing workloads or fluctuating interference in a wireless network. To ensure that these systems meet their goals these uncertainties have to be ...
Highlights- Real self-adaptive systems require efficient analysis of the adaptation space.
- ...
Comments