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.


Model Check Control Loop Decide Stage Local Requirement Unmanned Underwater Vehicle 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  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