Modelling and Analysis of Collective Adaptive Systems with CARMA and its Tools

  • Michele LoretiEmail author
  • Jane Hillston
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9700)


Collective Adaptive Systems (CAS) are heterogeneous collections of autonomous task-oriented systems that cooperate on common goals forming a collective system. This class of systems is typically composed of a huge number of interacting agents that dynamically adjust and combine their behaviour to achieve specific goals.

This chapter presents Carma, a language recently defined to support specification and analysis of collective adaptive systems, and its tools developed for supporting system design and analysis. Carma is equipped with linguistic constructs specifically developed for modelling and programming systems that can operate in open-ended and unpredictable environments. The chapter also presents the Carma Eclipse plug-in that allows Carma models to be specified by means of an appropriate high-level language. Finally, we show how Carma and its tools can be used to support specification with a simple but illustrative example of a socio-technical collective adaptive system.


Operational Semantic Process Algebra Boolean Expression Broadcast Message Global Store 
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.



This work is partially supported by the EU project QUANTICOL, 600708. The authors thank Stephen Gilmore for his helpful comments on the chapter.


  1. 1.
    Alrahman, Y.A., De Nicola, R., Loreti, M.: On the power of attribute-based communication. CoRR, abs/1602.05635 (2016)Google Scholar
  2. 2.
    Alrahman, Y.A., De Nicola, R., Loreti, M., Tiezzi, F., Vigo, R.: A calculus for attribute-based communication. In: Proceedings of SAC, pp. 1840–1845. ACM (2015)Google Scholar
  3. 3.
    Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier, Amsterdam (2001)zbMATHGoogle Scholar
  4. 4.
    Bernardo, M., Gorrieri, R.: A tutorial on EMPA: a theory of concurrent processes with nondeterminism, priorities, probabilities and time. Theoret. Comput. Sci. 202(1–2), 1–54 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Bohnenkamp, H.C., D’Argenio, P.R., Hermanns, H., Katoen, J.-P.: MODEST: a compositional modeling formalism for hard and softly timed systems. IEEE Trans. Software Eng. 32(10), 812–830 (2006)CrossRefGoogle Scholar
  6. 6.
    Bortolussi, L., Gast, N.: Mean-field limits beyond ordinary differential equations. Springer. In: SFM (2016)Google Scholar
  7. 7.
    Bortolussi, L., De Nicola, R., Galpin, V., Gilmore, S., Hillston, J., Latella, D., Loreti, M., Massink, M.: Collective adaptive resource-sharing Markovian agents. In: Proceedings of the Workshop on Quantitative Analysis of Programming Languages, vol. 194, EPTCS, pp. 16–31 (2015)Google Scholar
  8. 8.
    Bortolussi, L., Policriti, A.: Hybrid dynamics of stochastic programs. Theor. Comput. Sci. 411(20), 2052–2077 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Ciocchetta, F., Hillston, J.: Bio-PEPA: a framework for the modelling and analysis of biological systems. Theoret. Comput. Sci. 410(33), 3065–3084 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    De Maio, P.: Bike-sharing: Its history, impacts, models of provision, and future. J. Public Transp. 12(4), 41–56 (2009)CrossRefGoogle Scholar
  11. 11.
    De Nicola, R., Latella, D., Loreti, M., Massink, M.: A uniform definition of stochastic process calculi. ACM Comput. Surv. 46(1), 5 (2013)CrossRefzbMATHGoogle Scholar
  12. 12.
    De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: The SCEL language. TAAS 9(2), 7 (2014)CrossRefGoogle Scholar
  13. 13.
    Feng, C., Hillston, J.: PALOMA: a process algebra for located Markovian agents. In: Norman, G., Sanders, W. (eds.) QEST 2014. LNCS, vol. 8657, pp. 265–280. Springer, Heidelberg (2014)Google Scholar
  14. 14.
    Fricker, C., Gast, N.: Incentives and redistribution in bike-sharing systems (2013). Accessed 17 Sept 2013Google Scholar
  15. 15.
    Galpin, V.: Spatial representations and analysis techniques. In: Bernardo, M., De Nicola, R., Hillston, J. (eds.) SFM 2016. LNCS, vol. 9700, pp. 120–155. Springer, Switzerland (2016)Google Scholar
  16. 16.
    Daniel, T.: Gillespie. A general method for numerically simulating the stochastic time evolution of coupled chemical reactions. J. Comput. Phys. 22(4), 403–434 (1976)CrossRefGoogle Scholar
  17. 17.
    Hermanns, H., Herzog, U., Katoen, J.-P.: Process algebra for performance evaluation. Theor. Comput. Sci. 274(1–2), 43–87 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Hermanns, H., Rettelbach, M.: Syntax, semantics, equivalences and axioms for MTIPP. In: Herzog, U., Rettelbach, M., (eds.), Proceedings of 2nd Process Algebra and Performance Modelling Workshop (1994)Google Scholar
  19. 19.
    Hillston, J.: A compositional approach to performance modelling. Cambridge University Press, New York (1996). ISBN:0-521-57189-8Google Scholar
  20. 20.
    Hillston, J., Loreti, M.: Specification and analysis of open-ended systems with CARMA. In: Weyns, D., et al. (eds.) E4MAS 2014 - 10 years later. LNCS, vol. 9068, pp. 95–116. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-23850-0_7 CrossRefGoogle Scholar
  21. 21.
    Latella, D., Loreti, M., Massink, M.: Investigating fluid-flow semantics of asynchronous tuple-based process languages for collective adaptive systems. In: Holvoet, T., Viroli, M. (eds.) Coordination Models and Languages. LNCS, vol. 9037, pp. 19–34. Springer, Heidelberg (2015)Google Scholar
  22. 22.
    Latella, D., Loreti, M., Massink, M., Senni, V.: Stochastically timed predicate-based communication primitives for autonomic computing. In: Bertrand, N., Bortolussi, L., (eds.) Proceedings Twelfth International Workshop on Quantitative Aspects of Programming Languages and Systems, QApPL 2014, Grenoble, France, 12–13 , vol. 154, EPTCS, pp. 1–16, April 2014Google Scholar
  23. 23.
    Priami, C.: Stochastic \(\pi \)-calculus. Comput. J. 38(7), 578–589 (1995)CrossRefGoogle Scholar
  24. 24.
    Saunier, J., Balbo, F., Pinson, S.: A formal model of communication and context awareness in multiagent systems. J. Logic Lang. Inform. 23(2), 219–247 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Vandin, A., Tribastone, M.: Quantitative abstractions for collective adaptive systems. Springer. In: SFM (2016)Google Scholar
  26. 26.
    Weyns, D., Holvoet, T.: A formal model for situated multi-agent systems. Fundam. Inform. 63(2–3), 125–158 (2004)MathSciNetzbMATHGoogle Scholar
  27. 27.
    Weyns, D., Omicini, A., Odell, J.: Environment as a first class abstraction in multiagent systems. Auton. Agent. Multi-Agent Syst. 14(1), 5–30 (2007)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Dipartimento di Statistica, Informatica, Applicazioni “G. Parenti”Università di FirenzeFlorenceItaly
  2. 2.Laboratory for Foundations of Computer ScienceUniversity of EdinburghEdinburghUK

Personalised recommendations