Skip to main content

Effective Decision Making in Self-adaptive Systems Using Cost-Benefit Analysis at Runtime and Online Learning of Adaptation Spaces

  • Conference paper
  • First Online:

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 1023))

Abstract

Self-adaptation is an established approach to deal with uncertainties that are difficult to predict before a system is deployed. A self-adaptative system employs a feedback loop that tracks changes and adapts the system accordingly to ensure its quality goals. However, making effective adaptation decisions at runtime is challenging. In this chapter we tackle two problems of effective decision making in self-adaptive systems. First, current research typically focusses on the benefits adaptaton can bring but ignores the cost of adaptation, which may invalidate the expected benefits. To tackle this problem, we introduce CB@R (Cost-Benefit analysis @ Runtime), a novel model-based approach for runtime decision-making in self-adaptive systems that handles both the benefits and costs of adaptation as first-class citizens in decision making. Second, we look into the adaptation space of self-adaptive systems, i.e. the set of adaption options to select from. For systems with a large number of adaptation options, analyzing the entire adaptation space is often not feasible given the time and resources constraints at hand. To tackle this problem, we present a machine learning approach that integrates learning with the feedback loop to select a subset of the adaption options that are valid in the current situation. We evaluate CB@R and the learning approach for a real world deployed Internet of Things (IoT) application.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   64.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   84.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    www.versasense.com.

  2. 2.

    https://people.cs.kuleuven.be/danny.weyns/software/ActivFORMS/.

References

  1. Andersson, J., de Lemos, R., Malek, S., Weyns, D.: Modeling dimensions of self-adaptive software systems. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 27–47. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_2

    Chapter  Google Scholar 

  2. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Boston (2013)

    Google Scholar 

  3. Bennaceur, A., et al.: Feed me, feed me: an exemplar for engineering adaptive software. In: Software Engineering for Adaptive and Self-Managing Systems (2016)

    Google Scholar 

  4. Bertolli, C., Mencagli, G., Vanneschi, M.: A cost model for autonomic reconfigurations in high-performance pervasive applications. In: Workshop on Context-Awareness for Self-Managing Systems. ACM (2010)

    Google Scholar 

  5. Blair, G., Bencomo, N., France, R.B.: Models@ run. time. Comput. 42(10), 22–29 (2009)

    Article  Google Scholar 

  6. Bu, X., Rao, J., Xu, C.Z.: A reinforcement learning approach to online web systems auto-configuration. In: 2009 29th IEEE International Conference on Distributed Computing Systems. IEEE (2009)

    Google Scholar 

  7. Buttar, S.S.: Applying machine learning to reduce the adaptation space in self-adaptive systems: an exploratory work. Linnaeus University (2018)

    Google Scholar 

  8. Cailliau, A., van Lamsweerde, A.: Runtime monitoring and resolution of probabilistic obstacles to system goals. In: In 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (2017)

    Google Scholar 

  9. Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)

    Article  Google Scholar 

  10. Calinescu, R., Grunske, L., Kwiatkowska, M., Mirandola, R., Tamburrelli, G.: Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37(3), 387–409 (2011)

    Article  Google Scholar 

  11. Cámara, J., Moreno, G.A., Garlan, D., Schmerl, B.: Analyzing latency-awareself-adaptation using stochastic games and simulations. ACM Trans. Auton. Adapt. Syst. 10(4), 23 (2016)

    Article  Google Scholar 

  12. Cheng, B.H.C., et al.: Software engineering for self-adaptive systems: a research roadmap. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds.) Software Engineering for Self-Adaptive Systems. LNCS, vol. 5525, pp. 1–26. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02161-9_1

    Chapter  Google Scholar 

  13. Crammer, K., Dekel, O., Keshet, J., Shalev-Shwartz, S., Singer, Y.: Online passive-aggressive algorithms. J. Mac. Learn. Res. 7, 551–585 (2006)

    MathSciNet  MATH  Google Scholar 

  14. Dobson, S., et al.: A survey of autonomic communications. ACM Trans. Auton. Adapt. Syst. 1(2), 223–259 (2006)

    Article  Google Scholar 

  15. Fokaefs, M., Barna, C., Litoiu, M.: Economics-driven resource scalability on the cloud. In: Proceedings of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM (2016)

    Google Scholar 

  16. Gambi, A., Moldovan, D., Copil, G., Truong, H.L., Dustdar, S.: On estimating actuation delays in elastic computing systems. In: Proceedings of the 8th International Symposium Software Engineering for Adaptive and Self-Managing Systems. IEEE (2013)

    Google Scholar 

  17. Garlan, D., Cheng, S., Huang, A., Schmerl, B., Steenkiste, P.: Rainbow: architecture-based self-adaptation with reusable infrastructure. Comput. 37(10), 46–54 (2004)

    Article  Google Scholar 

  18. Gepperth, A., Hammer, B.: Incremental learning algorithms and applications. In: European Symposium on Artificial Neural Networks (2016)

    Google Scholar 

  19. Gerasimou, S., Calinescu, R., Shevtsov, S., Weyns, D.: UNDERSEA: an exemplar for engineering self-adaptive unmanned underwater vehicles. In: 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE (2017)

    Google Scholar 

  20. Géron, A.: Hands-on Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems. O’Reilly Media Inc., Sebastopol (2017)

    Google Scholar 

  21. Hackeling, G.: Mastering Machine Learning with Scikit-Learn. Packt Publishing Ltd., Birmingham (2017)

    Google Scholar 

  22. Iftikhar, M.U.: A Model-Based Approach to Engineer Self-Adaptive Systems with Guarantees. KU Leuven and Linnaeus University (2017)

    Google Scholar 

  23. Iftikhar, M.U., Weyns, D.: ActivFORMS: active formal models for self-adaptation. In: Proceedings of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM (2014)

    Google Scholar 

  24. Iftikhar, M.U., et al.: DeltaIoT: a self-adaptive internet of things exemplar. In: Proceedings of the 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE (2017)

    Google Scholar 

  25. de la Iglesia, D.G., Weyns, D.: Mape-k formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 10(3), 15 (2015)

    Article  Google Scholar 

  26. Jamshidi, P., Ahmad, A., Pahl, C.: Autonomic resource provisioning for the cloud. In: Proceedings of the 9th international symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM (2014)

    Google Scholar 

  27. Jamshidi, P., Casale, G.: An uncertainty-aware approach to optimal configuration of stream processing systems. In: 2016 IEEE 24th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems. IEEE (2016)

    Google Scholar 

  28. Jamshidi, P., Velez, M., Kästner, C., Siegmund, N., Kawthekar, P.: Transfer learning for improving model predictions in highly configurable software. In: 2016 IEEE 24th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. IEEE (2017)

    Google Scholar 

  29. Jung, G., Hiltunen, M.A., Joshi, K.R., Schlichting, R.D., Pu, C.: Mistral: dynamically managing power, performance, and adaptation cost in cloud infrastructures. In: 2010 IEEE 30th International Conference on Distributed Computing Systems. IEEE (2010)

    Google Scholar 

  30. Kephart, J., Chess, D.: The vision of autonomic computing. Comput. 36(1), 41–50 (2003)

    Article  Google Scholar 

  31. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering. IEEE (2007)

    Google Scholar 

  32. de Lemos, R., et al.: Software engineering for self-adaptive systems: research challenges in the provision of assurances. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds.) Software Engineering for Self-Adaptive Systems III. Assurances. LNCS, vol. 9640, pp. 3–30. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-74183-3_1

    Chapter  Google Scholar 

  33. de Lemos, R., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 1–32. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_1

    Chapter  Google Scholar 

  34. Louridas, P., Ebert, C.: Machine learning. IEEE Softw. 33(5), 110–115 (2016)

    Article  Google Scholar 

  35. Mohri, M., Rostamizadeh, A., Talwalkar, A.: Foundations of Machine Learning. MIT Press, Cambridge (2012)

    MATH  Google Scholar 

  36. Oreizy, P., Medvidovic, N., Taylor, R.: Architecture-based runtime software evolution. In: Proceedings of the 20th International Conference on Software Engineering. IEEE (1998)

    Google Scholar 

  37. Pedregosa, F., et al.: Scikit-learn: machine learning in python. J. Mac. Learn. Res. 12, 2825–2830 (2011)

    MathSciNet  MATH  Google Scholar 

  38. Poladian, V., Garlan, D., Shaw, M., Satyanarayanan, M., Schmerl, B., Sousa, J.: Leveraging resource prediction for anticipatory dynamic configuration. In: International Conference on Self-Adaptive and Self-Organizing Systems. IEEE (2007)

    Google Scholar 

  39. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adapt. Syst. 4(2), 14 (2009)

    Article  Google Scholar 

  40. Sarkar, A., Guo, J., Siegmund, N., Apel, S., Czarnecki, K.: Cost-efficient sampling for performance prediction of configurable systems (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering. IEEE (2015)

    Google Scholar 

  41. Siegmund, N., Grebhahn, A., Apel, S., Kästner, C.: Performance-influence models for highly configurable systems. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (2015)

    Google Scholar 

  42. Software Engineering Institute, C.M.U.: Cost Benefit Analysis Method (2018). https://www.sei.cmu.edu/architecture/tools/evaluate/cbam.cfm

  43. Van Der Donckt, J., Weyns, D., Iftikhar, M.U., Singh, R.K.: Cost-benefit analysis at runtime for self-adaptive systems applied to an Internet of Things application. In: 13th International Conference on Evaluation of Novel Approaches to Software Engineering (2018)

    Google Scholar 

  44. Weyns, D.: Software engineering of self-adaptive systems: an organised tour and future challenges. In: Software Engineering Handbook. Springer, Heidelberg (2018)

    Google Scholar 

  45. Weyns, D., Ahmad, T.: Claims and evidence for architecture-based self-adaptation: a systematic literature review. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 249–265. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39031-9_22

    Chapter  Google Scholar 

  46. Weyns, D., Iftikhar, M.U., Söderlund, J.: Do external feedback loops improve the design of self-adaptive systems? A controlled experiment. In: Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (2013)

    Google Scholar 

  47. Weyns, D., Malek, S., Andersson, J.: FORMS: unifying reference model for formal specification of distributed self-adaptive systems. ACM Trans. Auton. Adapt. Syst. 7(1), 8 (2012)

    Article  Google Scholar 

  48. Weyns, D., et al.: Perpetual assurances for self-adaptive systems. In: de Lemos, R., Garlan, D., Ghezzi, C., Giese, H. (eds.) Software Engineering for Self-Adaptive Systems III. Assurances. LNCS, vol. 9640, pp. 31–63. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-74183-3_2

    Chapter  Google Scholar 

  49. Yigitbasi, N., Willke, T.L., Liao, G., Epema, D.: Towards machine learning-based auto-tuning of mapreduce. In: 2013 IEEE 21st International Symposium on Modelling, Analysis and Simulation of Computer and Telecommunication Systems. IEEE (2013)

    Google Scholar 

  50. Zhang, Y., Guo, J., Blais, E., Czarnecki, K.: Performance prediction of configurable software systems by fourier learning (t). In: 2015 30th IEEE/ACM International Conference on Automated Software Engineering. IEEE (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Danny Weyns .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Van Der Donckt, J., Weyns, D., Iftikhar, M.U., Buttar, S.S. (2019). Effective Decision Making in Self-adaptive Systems Using Cost-Benefit Analysis at Runtime and Online Learning of Adaptation Spaces. In: Damiani, E., Spanoudakis, G., Maciaszek, L. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2018. Communications in Computer and Information Science, vol 1023. Springer, Cham. https://doi.org/10.1007/978-3-030-22559-9_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-22559-9_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-22558-2

  • Online ISBN: 978-3-030-22559-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics