Self-adaptive Software with Decentralised Control Loops

  • Radu Calinescu
  • Simos Gerasimou
  • Alec Banks
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9033)


We present DECIDE, a rigorous approach to decentralising the control loops of distributed self-adaptive software used in missioncritical applications. DECIDE uses quantitative verification at runtime, first to agree individual component contributions to meeting systemlevel quality-of-service requirements, and then to ensure that components achieve their agreed contributions in the presence of changes and failures. All verification operations are carried out locally, using component-level models, and communication between components is infrequent. We illustrate the application of DECIDE and show its effectiveness using a case study from the unmanned underwater vehicle domain.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Benjamin, M., et al.: Autonomy for unmanned marine vehicles with MOOS-IvP. In: Marine Robot Autonomy, pp. 47–90 (2013)Google Scholar
  2. 2.
    Bures, T., et al.: Deeco: An ensemble-based component system. In: CBSE 2013 (2013)Google Scholar
  3. 3.
    Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Comm. ACM 55(9), 69–77 (2012)CrossRefGoogle Scholar
  4. 4.
    Calinescu, R., Grunske, L., Kwiatkowska, M., et al.: Dynamic QoS management and optimization in service-based systems. IEEE Trans. Softw. Eng. 37, 387–409 (2011)CrossRefGoogle Scholar
  5. 5.
    Calinescu, R., Johnson, K., Rafiq, Y.: Developing self-verifying service-based systems. In: ASE 2013, pp. 734–737 (2013)Google Scholar
  6. 6.
    Calinescu, R., Kwiatkowska, M.Z.: Using quantitative analysis to implement autonomic IT systems. In: ICSE 2009, pp. 100–110 (2009)Google Scholar
  7. 7.
    Di Marzo Serugendo, G., Gleizes, M.-P., Karageorgos, A.: Self-Organization in Multi-Agent Systems. The Knowledge Eng. Rev. 20(2), 165–189 (2005)CrossRefGoogle Scholar
  8. 8.
    D’Ippolito, N., et al.: Hope for the best, prepare for the worst: Multi-tier control for adaptive systems. In: ICSE 2014, pp. 688–699 (2014)Google Scholar
  9. 9.
    Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: ICSE 2009, pp. 111–121 (2009)Google Scholar
  10. 10.
    Etessami, K., Kwiatkowska, M., Vardi, M.Y., Yannakakis, M.: Multi-objective model checking of markov decision processes. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 50–65. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  11. 11.
    Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: ICSE 2011, pp. 341–350 (2011)Google Scholar
  12. 12.
    Fisher, M., Dennis, L., Webster, M.: Verifying autonomous systems. Comm. ACM 56(9), 84–93 (2013)CrossRefGoogle Scholar
  13. 13.
    Forejt, V., Kwiatkowska, M., Norman, G., Parker, D., Qu, H.: Quantitative multi-objective verification for probabilistic systems. In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS 2011. LNCS, vol. 6605, pp. 112–127. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  14. 14.
    Fouquet, F., et al.: Kevoree modeling framework (KMF): Efficient modelling techniques for runtime use. CoRR, abs/1405.6817 (2014)Google Scholar
  15. 15.
    Gerasimou, S., Calinescu, R., Banks, A.: Efficient runtime quantitative verification using caching, lookahead, and nearly-optimal reconfiguration. In: SEAMS 2014 (2014)Google Scholar
  16. 16.
    Johnson, K., Calinescu, R., Kikuchi, S.: An incremental verification framework for component-based software systems. In: CBSE 2013, pp. 33–42 (2013)Google Scholar
  17. 17.
    Kellerer, H., Pferschy, U., Pisinger, D.: The multiple-choice knapsack problem. In: Knapsack Problems, pp. 317–347 (2004)Google Scholar
  18. 18.
    Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1) (2003)Google Scholar
  19. 19.
    Kwiatkowska, M.: Quantitative verification: models, techniques and tools. In: ESEC-FSE Companion 2007, pp. 449–458 (2007)Google Scholar
  20. 20.
    Kwiatkowska, M., Norman, G., Parker, D.: Prism 4.0: verification of probabilistic real-time systems. In: CAV 2011, pp. 585–591 (2011)Google Scholar
  21. 21.
    Lemos, R., et al.: Software engineering for self-adaptive systems: A second research roadmap. In: Software Engineering for Self-Adaptive Systems II, pp. 1–32 (2013)Google Scholar
  22. 22.
    Nallur, V., Bahsoon, R.: A decentralized self-adaptation mechanism for service-based applications in the cloud. IEEE Trans. Softw. Eng. 39(5), 591–612 (2013)CrossRefGoogle Scholar
  23. 23.
    Redfield, S.: Cooperation between underwater vehicles. In: Seto, M.L. (ed.) Marine Robot Autonomy, pp. 257–286 (2013)Google Scholar
  24. 24.
    Seto, M., Paull, L., Saeedi, S.: Introduction to autonomy for marine robots. In: Marine Robot Autonomy, pp. 1–46 (2013)Google Scholar
  25. 25.
    Sykes, D., Magee, J., Kramer, J.: Flashmob: Distributed adaptive self-assembly. In: SEAMS 2011, pp. 100–109 (2011)Google Scholar
  26. 26.
    Weyns, D., et al.: FORMS: Unifying Reference Model for Formal Specification of Distributed Self-Adaptive Systems. ACM Trans. Aut. Adapt. Syst. 7(1) (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Radu Calinescu
    • 1
  • Simos Gerasimou
    • 1
  • Alec Banks
    • 2
  1. 1.Department of Computer ScienceUniversity of YorkYorkUK
  2. 2.Defence Science and Technology LaboratoryMinistry of DefenceWestminster, LondonUK

Personalised recommendations