Abstract
This paper advocates behavioural abstractions for the coordination of collective adaptive systems (CAS). In order to ground the discussion in a concrete framework, we sketch mechanisms based on behavioural types for some recently proposed calculi that formalise CAS. We analyse new typing mechanisms and show that such mechanisms enable formal specifications of CAS that cannot be easily attained through existing behavioural types. We illustrate how a quantitative analysis can be instrumented through our behavioural specifications by means of a case study in a scenario involving autonomous robots. Our analysis is auxiliary to our long term aim which is three-fold: (i) study suitable typing mechanisms for CAS, (ii) identify basic properties of CAS that may be enforced by typing, and (iii) consider quantitative properties of CAS.
Research partly supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie grant agreement No 778233. Work partly funded by MIUR projects PRIN 2017FTXR7S IT MATTERS and PRIN 2017TWRCNB SEDUCE. .
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
We will come back to correctness soon.
- 2.
A suitable typing discipline, out of the scope of this paper, could do the assignment.
References
Abd Alrahman, Y., De Nicola, R., Loreti, M.: A calculus for collective-adaptive systems and its behavioural theory. Inf. Comput. 268, 104457 (2019)
Abd Alrahman, Y., De Nicola, R., Loreti, M.: Programming interactions in collective adaptive systems by relying on attribute-based communication. Sci. Comput. Program. 192, 102428 (2020)
Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)
Aldini, A.: Design and verification of trusted collective adaptive systems. ACM Trans. Model. Comput. Simul. 28(2), 1–27 (2018)
Balsamo, S., Marzolla, M.: Performance evaluation of UML software architectures with multiclass queueing network models. In: Workshop on Software and Performance (2005)
Bocchi, L., Chen, T.-C., Demangeon, R., Honda, K., Yoshida, N.: Monitoring networks through multiparty session types. In: Beyer, D., Boreale, M. (eds.) FMOODS/FORTE -2013. LNCS, vol. 7892, pp. 50–65. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-38592-6_5
Bocchi, L., Honda, K., Tuosto, E., Yoshida, N.: A theory of design-by-contract for distributed multiparty interactions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 162–176. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-15375-4_12
Bruni, R., Corradini, A., Gadducci, F., Melgratti, H.C., Montanari, U., Tuosto, E.: Data-driven choreographies à la Klaim. In: Boreale, M., Corradini, F., Loreti, M., Pugliese, R. (eds.) Models, Languages, and Tools for Concurrent and Distributed Programming. LNCS, vol. 11665, pp. 170–190. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21485-2_11
Carriero, N., Gelernter, D.: Linda in context. CACM 32(4), 444–458 (1989)
Casadei, R., Viroli, M.: Programming actor-based collective adaptive systems. In: Ricci, A., Haller, P. (eds.) Programming with Actors. LNCS, vol. 10789, pp. 94–122. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00302-9_4
Casale, G., Serazzi, G.: Quantitative system evaluation with Java modeling tools. In: International Conference on Performance Engineering (2011)
Castro, D., Hu, R., Jongmans, S., Ng, N., Yoshida, N.: Distributed programming using role-parametric session types in go: statically-typed endpoint APIs for dynamically-instantiated communication structures. PACMPL 3(POPL), 1–30 (2019)
De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: AErlang at work. In: Steffen, B., Baier, C., van den Brand, M., Eder, J., Hinchey, M., Margaria, T. (eds.) SOFSEM 2017. LNCS, vol. 10139, pp. 485–497. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-51963-0_38
De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: AErlang: empowering erlang with attribute-based communication. In: Jacquet, J.-M., Massink, M. (eds.) COORDINATION 2017. LNCS, vol. 10319, pp. 21–39. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-59746-1_2
De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: AErlang: empowering erlang with attribute-based communication. Sci. Comput. Program. 168, 71–93 (2018)
De Nicola, R., Loreti, M., Pugliese, R., Tiezzi, F.: A formal approach to autonomic systems programming: the SCEL language. ACM Trans. Auton. Adapt. Syst. 9(2), 1–29 (2014)
Ferscha, A.: Collective adaptive systems. In: International Joint Conference on Pervasive and Ubiquitous Computing and Symposium on Wearable Computers (2015)
Francalanza, A., Mezzina, C.A., Tuosto, E.: Reversible choreographies via monitoring in Erlang. In: Bonomi, S., Rivière, E. (eds.) DAIS 2018. LNCS, vol. 10853, pp. 75–92. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-93767-0_6
Frittelli, L., Maldonado, F., Melgratti, C., Tuosto, E.: A choreography-driven approach to APIs: the OpenDXL case study. In: Bliudze, S., Bocchi, L. (eds.) COORDINATION 2020. LNCS, vol. 12134, pp. 107–124. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-50029-0_7
Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am. Math. Monthly 68(1), 9–15 (1962)
Gay, S., Ravara, A. (eds.): Behavioural Types: From Theory to Tools. Automation, Control and Robotics. River, Gistrup (2009)
Guanciale, R., Tuosto, E.: An abstract semantics of the global view of choreographies. In: Interaction and Concurrency Experience (2016)
Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 1–36 (2016)
Kleinrock, L.: Theory, Volume 1, Queueing Systems. Wiley-Interscience, Hoboken (1975)
Lazowska, E.D., Zahorjan, J., Scott Graham, G., Sevcik, K.C.: Computer System Analysis Using Queueing Network Models. Prentice-Hall Inc., Englewood Cliffs (1984)
Loreti, M., Hillston, J.: Modelling and analysis of collective adaptive systems with CARMA and its tools. In: Bernardo, M., De Nicola, R., Hillston, J. (eds.) SFM 2016. LNCS, vol. 9700, pp. 83–119. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-34096-8_4
Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, I and II. Inf. Comput. 100(1), 1–40 (1992)
Neykova, R., Bocchi, L., Yoshida, N.: Timed runtime monitoring for multiparty conversations. Formal Aspects Comput. 29(5), 877–910 (2017). https://doi.org/10.1007/s00165-017-0420-8
Prasad, K.V.S.: A calculus of broadcasting systems. Sci. Comput. Program. 25(2–3), 285–327 (1995)
Smith, C.U., Williams, L.G.: Performance and scalability of distributed software architectures: an SPE approach. Scalable Comput. Pract. Exp. 3(4), 74106–0700 (2000)
Tuosto, E., Guanciale, R.: Semantics of global view of choreographies. J. Logical Algebraic Methods Program. 95, 17–40 (2018)
Vandin, A., Tribastone, M.: Quantitative abstractions for collective adaptive systems. In: Bernardo, M., De Nicola, R., Hillston, J. (eds.) SFM 2016. LNCS, vol. 9700, pp. 202–232. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-34096-8_7
Viroli, M., Audrito, G., Beal, J., Damiani, F., Pianini, D.: Engineering resilient collective adaptive systems by self-stabilisation. ACM Trans. Model. Comput. Simul. 28(2), 1–28 (2018)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Inverso, O., Trubiani, C., Tuosto, E. (2020). Abstractions for Collective Adaptive Systems. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Engineering Principles. ISoLA 2020. Lecture Notes in Computer Science(), vol 12477. Springer, Cham. https://doi.org/10.1007/978-3-030-61470-6_15
Download citation
DOI: https://doi.org/10.1007/978-3-030-61470-6_15
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-61469-0
Online ISBN: 978-3-030-61470-6
eBook Packages: Computer ScienceComputer Science (R0)