Skip to main content

Systematic Approach to Engineer Decentralized Self-adaptive Systems

  • Conference paper
  • First Online:
Software Architecture (ECSA 2020)

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

Included in the following conference series:

  • 2107 Accesses

Abstract

Self-adaptation is a widely accepted approach to deal with uncertainties that are difficult to anticipate before deployment. We focus on architecture-based adaptation that relies on a feedback loop that reasons over architectural models of the system at runtime to make adaptation decisions. In particular, we study decentralized self-adaptive systems where self-adaptation is realized through multiple coordinating feedback loops. Such decentralization is crucial for systems where adaptation decisions cannot be made in a centralized way, such as in large scale Internet of Things (IoT). State of the art in this area is limited to either conceptual ideas or solutions dedicated to particular settings. This paper outlines a research project targeting the research question: “how to model and realize decentralized feedback loops that are capable to guarantee compliance of system goals in an efficient way despite uncertainties the system faces?” We plan to answer this question in two stage. First, we study commonalities and variability of decentralized self-adaptive systems leveraging on patterns and coordination mechanisms, and reify our insights in a framework. Second, we study language support for the design and implementation of decentralized self-adaptation, capitalizing on the outcome of the first stage. To ensure guarantees for the qualities we will found our work on formal techniques. To ensure efficiency, we will combine statistical techniques with machine learning. We plan to validate the research results in two domains: IoT and multi-cloud systems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Institutional subscriptions

References

  1. https://www.cs.york.ac.uk/people/raduc

  2. https://www.versasense.com/

  3. Alvares, F., Rutten, E., Seinturier, L.: High-level language support for reconfiguration control in component-based architectures. In: Weyns, D., Mirandola, R., Crnkovic, I. (eds.) ECSA 2015. LNCS, vol. 9278, pp. 3–19. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23727-5_1

    Chapter  Google Scholar 

  4. Arcaini, P., Riccobene, E., Scandurra, P.: Formal design and verification of self-adaptive systems with decentralized control. ACM Trans. Auton. Adapt. Syst. 11(4), 1–35 (2017)

    Article  Google Scholar 

  5. Calinescu, R., Gerasimou, S., Banks, A.: Self-adaptive software with decentralised control loops. In: Egyed, A., Schaefer, I. (eds.) FASE 2015. LNCS, vol. 9033, pp. 235–251. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-46675-9_16

    Chapter  Google Scholar 

  6. 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 

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

  8. Calinescu, R., Rafiq, Y., Johnson, K., Bakundefinedr, M.E.: Adaptive model learning for continual verification of non-functional properties. In: 5th ACM/SPEC International Conference on Performance Engineering (2014)

    Google Scholar 

  9. Caporuscio, M., Grassi, V., Marzolla, M., Mirandola, R.: GoPrime: a fully decentralized middleware for utility-aware service assembly. IEEE Trans. Softw. Eng. 42(2), 136–152 (2016)

    Article  Google Scholar 

  10. Dowling, J., Cahill, V.: The k-component architecture meta-model for self-adaptive software. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 81–88. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-45429-2_6

    Chapter  Google Scholar 

  11. Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: 31st International Conference on Software Engineering. IEEE, USA (2009)

    Google Scholar 

  12. Esfahani, N., Kouroshfar, E., Malek, S.: Taming uncertainty in self-adaptive software. In: 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering. ACM (2011)

    Google Scholar 

  13. Filieri, A., Tamburrelli, G., Ghezzi, C.: Supporting self-adaptation via quantitative verification and sensitivity analysis at run time. IEEE Trans. Softw. Eng. 42(1), 75–99 (2016)

    Article  Google Scholar 

  14. Florio, L., Nitto, E.D.: Gru: an approach to introduce decentralized autonomic behavior in microservices architectures. In: 2016 IEEE International Conference on Autonomic Computing (ICAC) (2016)

    Google Scholar 

  15. Fotrousi, F.: Combining user feedback and monitoring data to support evidence-based software evolution. Ph.D. thesis, Blekinge Institute of Technology, Karlskrona, Sweden, April 2020

    Google Scholar 

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

    Article  Google Scholar 

  17. Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed systems. In: 1st Workshop on Self-Healing Systems. ACM (2002)

    Google Scholar 

  18. Ghezzi, C., Pinto, L.S., Spoletini, P., Tamburrelli, G.: Managing non-functional uncertainty via model-driven adaptivity. In: 2013 35th International Conference on Software Engineering (ICSE) (2013)

    Google Scholar 

  19. Hebig, R., Giese, H., Becker, B.: Making control loops explicit when architecting self-adaptive systems. In: 2nd International Workshop on Self-Organizing Architectures. ACM (2010)

    Google Scholar 

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

    Google Scholar 

  21. Keele, S., et al.: Guidelines for performing systematic literature reviews in software engineering. Technical report, Ver. 2.3 EBSE Technical Report. EBSE (2007)

    Google Scholar 

  22. Kephart, J.O., Chess, D.M.: The vision of autonomic computing. Computer 36(1), 41–50 (2003)

    Article  MathSciNet  Google Scholar 

  23. Kluge, T.: A role-based architecture for self-adaptive cyber-physical systems. In: 15th International Conference on Software Engineering for Adaptive and Self-Managing Systems (2020)

    Google Scholar 

  24. Kota, R., Gibbins, N., Jennings, N.R.: Decentralized approaches for self-adaptation in agent organizations. ACM Trans. Auton. Adapt. Syst. 7(1), 1–28 (2012)

    Article  Google Scholar 

  25. Kramer, J., Magee, J.: Self-managed systems: an architectural challenge. In: Future of Software Engineering (FOSE 2007), pp. 259–268 (2007)

    Google Scholar 

  26. Mahdavi Hezavehi, S., Durelli, V., Weyns, D., Avgeriou, P.: A systematic literature review onmethods that handle multiple quality attributes in architecture-based self-adaptive systems. Inf. Softw. Technol. 90, 1–26 (2017)

    Article  Google Scholar 

  27. Malek, S., Mikic-Rakic, M., Medvidovic, N.: A decentralized redeployment algorithm for improving the availability of distributed systems. In: Dearle, A., Eisenbach, S. (eds.) CD 2005. LNCS, vol. 3798, pp. 99–114. Springer, Heidelberg (2005). https://doi.org/10.1007/11590712_8

    Chapter  Google Scholar 

  28. Mellor, S.J., Balcer, M., Jacoboson, I.: Executable UML: A Foundation for Model-Driven Architectures. Addison-Wesley Longman Publishing Co. Inc., USA (2002)

    Google Scholar 

  29. Minsky, N.H., Ungureanu, V.: Law-governed interaction: a coordination and control mechanism for heterogeneous distributed systems. ACM Trans. Softw. Eng. Methodol. 9(3), 273–305 (2000)

    Article  Google Scholar 

  30. Nallur, V., Cardozo, N., Clarke, S.: Clonal plasticity: a method for decentralized adaptation in multi-agent systems. In: 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM (2016)

    Google Scholar 

  31. Papamartzivanos, D., Gómez Mármol, F., Kambourakis, G.: Introducing deep learning self-adaptive misuse network intrusion detection systems. IEEE Access 7, 13546–13560 (2019)

    Article  Google Scholar 

  32. Perez-Palacin, D., Mirandola, R.: Uncertainties in the modeling of self-adaptive systems: a taxonomy and an example of availability evaluation. In: ACM/SPEC International Conference on Performance Engineering (2014)

    Google Scholar 

  33. Porter, B., Filho, R.R.: Losing control: the case for emergent software systems using autonomous assembly, perception, and learning. In: 2016 IEEE 10th International Conference on Self-Adaptive and Self-Organizing Systems (SASO) (2016)

    Google Scholar 

  34. Blair, G., Bencomo, N., France, R.: Models@ run.time. Computer 42, 22–27 (2009)

    Article  Google Scholar 

  35. Salehie, M., Tahvildari, L.: Self-adaptive software: landscape and research challenges. ACM Trans. Auton. Adap. Syst. 4(2), 1–42 (2009)

    Article  Google Scholar 

  36. Shmelkin, I.: Monitoring for control in role-oriented self-adaptive systems. In: 15th International Conference on Software Engineering for Adaptive and Self-Managing Systems (2020)

    Google Scholar 

  37. Stack, P., Xiong, H., Mersel, D., Makhloufi, M., Terpend, G., Dong, D.: Self-healing in a decentralised cloud management system. In: 1st International Workshop on Next Generation of Cloud Architectures. ACM (2017)

    Google Scholar 

  38. Sykes, D., Magee, J., Kramer, J.: FlashMob: distributed adaptive self-assembly. In: 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2011, pp. 100–109. ACM (2011)

    Google Scholar 

  39. Van Der Donckt, J., Weyns, D., Quin, F., Van Der Donckt, J., Michiels, S.: Applying deep learning to reduce large adaptation spaces of self-adaptive systems with multiple types of goals. In: 15th International Conference on Software Engineering for Adaptive and Self-Managing Systems (2020)

    Google Scholar 

  40. Vogel, T., Giese, H.: Model-driven engineering of self-adaptive software with EUREMA. ACM Trans. Auton. Adapt. Syst. 8(4), 1–33 (2014)

    Article  Google Scholar 

  41. Vromant, P., Weyns, D., Malek, S., Andersson, J.: On interacting control loops in self-adaptive systems. In: 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. ACM (2011)

    Google Scholar 

  42. Weyns, D., Georgeff, M.: Self-adaptation using multiagent systems. IEEE Softw. 27(1), 86–91 (2010)

    Article  Google Scholar 

  43. Weyns, D.: Software engineering of self-adaptive systems. In: Cha, S., Taylor, R., Kang, K. (eds.) Handbook of Software Engineering, pp. 399–443. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-00262-6_11

    Chapter  Google Scholar 

  44. Weyns, D., Malek, S., Andersson, J.: Forms: a formal reference model for self-adaptation. In: 7th International Conference on Autonomic Computing. ACM (2010)

    Google Scholar 

  45. Weyns, D., Malek, S., Andersson, J.: On decentralized self-adaptation: lessons from the trenches and challenges for the future. In: Software Engineering for Adaptive and Self-Managing Systems, pp. 84–93. ACM (2010)

    Google Scholar 

  46. Weyns, D., et al.: On patterns for decentralized control in self-adaptive systems. In: de Lemos, R., Giese, H., Müller, H.A., Shaw, M. (eds.) Software Engineering for Self-Adaptive Systems II. LNCS, vol. 7475, pp. 76–107. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35813-5_4

    Chapter  Google Scholar 

  47. Zhang, J., Cheng, B.H.C.: Model-based development of dynamically adaptive software. In: 28th International Conference on Software Engineering. ACM (2006)

    Google Scholar 

  48. Zhang, J., Goldsby, H.J., Cheng, B.H.: Modular verification of dynamically adaptive systems. In: 8th ACM International Conference on Aspect-Oriented Software Development. ACM (2009)

    Google Scholar 

Download references

Acknowledgements

This research project is supported by the KU Leuven C1 grant “Trustworthy Decentralized Self-Adaptive Systems”.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Federico Quin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Quin, F. (2020). Systematic Approach to Engineer Decentralized Self-adaptive Systems. In: Muccini, H., et al. Software Architecture. ECSA 2020. Communications in Computer and Information Science, vol 1269. Springer, Cham. https://doi.org/10.1007/978-3-030-59155-7_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-59155-7_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-59154-0

  • Online ISBN: 978-3-030-59155-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics