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 2020 Publication 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.
[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.
[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.
[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.
[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.
[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.
[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.pdf
[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.
[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.
[10]
J. Van Der Donckt, D. Weyns, and F. Quin. 2020. DLASeR website. https://people.cs.kuleuven.be/danny.weyns/material/2020SEAMS/DLASeR/
[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.
[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.
[13]
A. Filieri, C. Ghezzi, and G. Tamburrelli. 2011. Run-time efficient probabilistic model checking. In 33rd International Conference on Software Engineering. 341--350.
[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.
[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.
[16]
I. Goodfellow, Y. Bengio, and A. Courville. 2016. Deep learning. MIT press.
[17]
M. Harman, P. McMinn, J. de Souza, and S. Yoo. 2012. Search Based Software Engineering: Techniques, Taxonomy, Tutorial. Springer-Verlag, 1--59.
[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.
[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.
[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.
[21]
S. Ioffe and C. Szegedy. 2015. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167 (2015).
[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.
[23]
J. Kephart and D. Chess. 2003. The vision of autonomic computing. Computer 1 (2003), 41--50.
[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.
[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.
[26]
J. Kramer and J. Magee. 2007. Self-Managed Systems: An Architectural Challenge. In Future of Software Engineering.
[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.
[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.
[29]
Y. LeCun, Y. Bengio, and G. Hinton. 2015. Deep learning. Nature 521 (2015), 436--444.
[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.
[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).
[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.
[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.
[34]
A. Ng. 2004. Feature selection, L 1 vs. L 2 regularization, and rotational invariance. In 21th International Conference on Machine Learning. ACM, 78.
[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.
[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.
[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.
[38]
M. Shanker, M. Hu, and M. Hung. 1996. Effect of data standardization on neural network training. Omega 24, 4 (1996), 385--397.
[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.
[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.
[41]
D. Weyns. 2019. Software Engineering of Self-adaptive Systems. In Handbook of Software Engineering. Springer, 399--443.
[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.
[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.
[44]
D. Weyns and U. Iftikhar. 2019. ActivFORMS: A Model-Based Approach to Engineer Self-Adaptive Systems. arXiv:cs.SE/1908.11179
[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).
[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.
[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.
[48]
D. Zwillinger and S. Kokoska. 2000. CRC Standard Probability and Statistics Tables and Formulae, Section 14.7. In Chapman & Hall.

Cited By

View all
  • (2025)Exploring emergent microservice evolution in elastic deployment environmentsJournal of Systems and Software10.1016/j.jss.2024.112252219(112252)Online publication date: Jan-2025
  • (2025)Proactive self-exploration: Leveraging information sharing and predictive modelling for anticipating and countering adversariesExpert Systems with Applications10.1016/j.eswa.2024.126118267(126118)Online publication date: Apr-2025
  • (2024)Triggering Adaptation via Contextual Metamorphic Relations2024 IEEE 24th International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS62785.2024.00020(105-114)Online publication date: 1-Jul-2024
  • Show More Cited By

Index Terms

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

    Recommendations

    Comments

    Information & Contributors

    Information

    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
    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]

    Sponsors

    In-Cooperation

    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 September 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. adaptation space
    2. deep learning
    3. self-adaptation

    Qualifiers

    • Research-article

    Conference

    SEAMS '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 17 of 31 submissions, 55%

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)32
    • Downloads (Last 6 weeks)4
    Reflects downloads up to 08 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Exploring emergent microservice evolution in elastic deployment environmentsJournal of Systems and Software10.1016/j.jss.2024.112252219(112252)Online publication date: Jan-2025
    • (2025)Proactive self-exploration: Leveraging information sharing and predictive modelling for anticipating and countering adversariesExpert Systems with Applications10.1016/j.eswa.2024.126118267(126118)Online publication date: Apr-2025
    • (2024)Triggering Adaptation via Contextual Metamorphic Relations2024 IEEE 24th International Conference on Software Quality, Reliability and Security (QRS)10.1109/QRS62785.2024.00020(105-114)Online publication date: 1-Jul-2024
    • (2024)Meta-Adaptation Goals: Leveraging Feedback Loop Requirements for Effective Self-Adaptation2024 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOS-C63493.2024.00037(91-96)Online publication date: 16-Sep-2024
    • (2023)Deep Learning for Self-Adaptive System Analyzer Improvement2023 Third International Conference on Theoretical and Applicative Aspects of Computer Science (ICTAACS)10.1109/ICTAACS60400.2023.10449559(1-5)Online publication date: 5-Dec-2023
    • (2023)A hybrid model for efficient decision-making in self-adaptive systemsInformation and Software Technology10.1016/j.infsof.2022.107063153:COnline publication date: 1-Jan-2023
    • (2023)Handling uncertainty in self-adaptive systems: an ontology-based reinforcement learning modelJournal of Reliable Intelligent Environments10.1007/s40860-022-00198-x10:1(19-44)Online publication date: 6-Jan-2023
    • (2023)Machine-learning abstractions for component-based self-optimizing systemsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-023-00726-x25:5-6(717-731)Online publication date: 1-Dec-2023
    • (2023)Generalization of Machine-Learning Adaptation in Ensemble-Based Self-adaptive SystemsSoftware Architecture. ECSA 2022 Tracks and Workshops10.1007/978-3-031-36889-9_26(386-401)Online publication date: 16-Jul-2023
    • (2023)Introducing Estimators—Abstraction for Easy ML Employment in Self-adaptive ArchitecturesSoftware Architecture. ECSA 2022 Tracks and Workshops10.1007/978-3-031-36889-9_25(370-385)Online publication date: 16-Jul-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media