Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Benjamin, M., et al.: Autonomy for unmanned marine vehicles with MOOS-IvP. In: Marine Robot Autonomy, pp. 47–90 (2013)
Bures, T., et al.: Deeco: An ensemble-based component system. In: CBSE 2013 (2013)
Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Comm. ACM 55(9), 69–77 (2012)
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)
Calinescu, R., Johnson, K., Rafiq, Y.: Developing self-verifying service-based systems. In: ASE 2013, pp. 734–737 (2013)
Calinescu, R., Kwiatkowska, M.Z.: Using quantitative analysis to implement autonomic IT systems. In: ICSE 2009, pp. 100–110 (2009)
Di Marzo Serugendo, G., Gleizes, M.-P., Karageorgos, A.: Self-Organization in Multi-Agent Systems. The Knowledge Eng. Rev. 20(2), 165–189 (2005)
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)
Epifani, I., Ghezzi, C., Mirandola, R., Tamburrelli, G.: Model evolution by run-time parameter adaptation. In: ICSE 2009, pp. 111–121 (2009)
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)
Filieri, A., Ghezzi, C., Tamburrelli, G.: Run-time efficient probabilistic model checking. In: ICSE 2011, pp. 341–350 (2011)
Fisher, M., Dennis, L., Webster, M.: Verifying autonomous systems. Comm. ACM 56(9), 84–93 (2013)
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)
Fouquet, F., et al.: Kevoree modeling framework (KMF): Efficient modelling techniques for runtime use. CoRR, abs/1405.6817 (2014)
Gerasimou, S., Calinescu, R., Banks, A.: Efficient runtime quantitative verification using caching, lookahead, and nearly-optimal reconfiguration. In: SEAMS 2014 (2014)
Johnson, K., Calinescu, R., Kikuchi, S.: An incremental verification framework for component-based software systems. In: CBSE 2013, pp. 33–42 (2013)
Kellerer, H., Pferschy, U., Pisinger, D.: The multiple-choice knapsack problem. In: Knapsack Problems, pp. 317–347 (2004)
Kephart, J., Chess, D.: The vision of autonomic computing. Computer 36(1) (2003)
Kwiatkowska, M.: Quantitative verification: models, techniques and tools. In: ESEC-FSE Companion 2007, pp. 449–458 (2007)
Kwiatkowska, M., Norman, G., Parker, D.: Prism 4.0: verification of probabilistic real-time systems. In: CAV 2011, pp. 585–591 (2011)
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)
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)
Redfield, S.: Cooperation between underwater vehicles. In: Seto, M.L. (ed.) Marine Robot Autonomy, pp. 257–286 (2013)
Seto, M., Paull, L., Saeedi, S.: Introduction to autonomy for marine robots. In: Marine Robot Autonomy, pp. 1–46 (2013)
Sykes, D., Magee, J., Kramer, J.: Flashmob: Distributed adaptive self-assembly. In: SEAMS 2011, pp. 100–109 (2011)
Weyns, D., et al.: FORMS: Unifying Reference Model for Formal Specification of Distributed Self-Adaptive Systems. ACM Trans. Aut. Adapt. Syst. 7(1) (2012)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Calinescu, R., Gerasimou, S., Banks, A. (2015). Self-adaptive Software with Decentralised Control Loops. In: Egyed, A., Schaefer, I. (eds) Fundamental Approaches to Software Engineering. FASE 2015. Lecture Notes in Computer Science(), vol 9033. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46675-9_16
Download citation
DOI: https://doi.org/10.1007/978-3-662-46675-9_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-46674-2
Online ISBN: 978-3-662-46675-9
eBook Packages: Computer ScienceComputer Science (R0)