Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The precise syntax of expressions e has been deliberately omitted. We only assume that expressions are built using the appropriate combinations of values, attributes (sometime prefixed with \(\mathsf {my}\)), variables and the special term \(\mathsf {now}{}\). The latter is used to refer to current time unit.
- 2.
Here we use \(\bullet \) to denote the unit value.
- 3.
Here we assume that functions mtime and atime are obtained after some observations on real systems.
- 4.
We let \(\llbracket \cdot \rrbracket _{\gamma }\) denote the evaluation function of an expression/predicate with respect to the store \(\gamma \).
- 5.
All the operators are right associative and presented in the order of priority.
- 6.
Detailed installation instructions can be found at http://quanticol.sourceforge.net.
- 7.
References
Alrahman, Y.A., De Nicola, R., Loreti, M.: On the power of attribute-based communication. CoRR, abs/1602.05635 (2016)
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)
Bergstra, J.A., Ponse, A., Smolka, S.A.: Handbook of Process Algebra. Elsevier, Amsterdam (2001)
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)
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)
Bortolussi, L., Gast, N.: Mean-field limits beyond ordinary differential equations. Springer. In: SFM (2016)
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)
Bortolussi, L., Policriti, A.: Hybrid dynamics of stochastic programs. Theor. Comput. Sci. 411(20), 2052–2077 (2010)
Ciocchetta, F., Hillston, J.: Bio-PEPA: a framework for the modelling and analysis of biological systems. Theoret. Comput. Sci. 410(33), 3065–3084 (2009)
De Maio, P.: Bike-sharing: Its history, impacts, models of provision, and future. J. Public Transp. 12(4), 41–56 (2009)
De Nicola, R., Latella, D., Loreti, M., Massink, M.: A uniform definition of stochastic process calculi. ACM Comput. Surv. 46(1), 5 (2013)
De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: The SCEL language. TAAS 9(2), 7 (2014)
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)
Fricker, C., Gast, N.: Incentives and redistribution in bike-sharing systems (2013). Accessed 17 Sept 2013
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)
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)
Hermanns, H., Herzog, U., Katoen, J.-P.: Process algebra for performance evaluation. Theor. Comput. Sci. 274(1–2), 43–87 (2002)
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)
Hillston, J.: A compositional approach to performance modelling. Cambridge University Press, New York (1996). ISBN:0-521-57189-8
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
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)
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 2014
Priami, C.: Stochastic \(\pi \)-calculus. Comput. J. 38(7), 578–589 (1995)
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)
Vandin, A., Tribastone, M.: Quantitative abstractions for collective adaptive systems. Springer. In: SFM (2016)
Weyns, D., Holvoet, T.: A formal model for situated multi-agent systems. Fundam. Inform. 63(2–3), 125–158 (2004)
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)
Acknowledgements
This work is partially supported by the EU project QUANTICOL, 600708. The authors thank Stephen Gilmore for his helpful comments on the chapter.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Loreti, M., Hillston, J. (2016). Modelling and Analysis of Collective Adaptive Systems with CARMA and its Tools. In: Bernardo, M., De Nicola, R., Hillston, J. (eds) Formal Methods for the Quantitative Evaluation of Collective Adaptive Systems. SFM 2016. Lecture Notes in Computer Science(), vol 9700. Springer, Cham. https://doi.org/10.1007/978-3-319-34096-8_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-34096-8_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-34095-1
Online ISBN: 978-3-319-34096-8
eBook Packages: Computer ScienceComputer Science (R0)