Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12477))

Included in the following conference series:

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. .

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    We will come back to correctness soon.

  2. 2.

    A suitable typing discipline, out of the scope of this paper, could do the assignment.

References

  1. Abd Alrahman, Y., De Nicola, R., Loreti, M.: A calculus for collective-adaptive systems and its behavioural theory. Inf. Comput. 268, 104457 (2019)

    Google Scholar 

  2. 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)

    Article  Google Scholar 

  3. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)

    Book  Google Scholar 

  4. Aldini, A.: Design and verification of trusted collective adaptive systems. ACM Trans. Model. Comput. Simul. 28(2), 1–27 (2018)

    Article  MathSciNet  Google Scholar 

  5. Balsamo, S., Marzolla, M.: Performance evaluation of UML software architectures with multiclass queueing network models. In: Workshop on Software and Performance (2005)

    Google Scholar 

  6. 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

    Chapter  Google Scholar 

  7. 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

    Chapter  MATH  Google Scholar 

  8. 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

    Chapter  Google Scholar 

  9. Carriero, N., Gelernter, D.: Linda in context. CACM 32(4), 444–458 (1989)

    Article  Google Scholar 

  10. 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

    Chapter  Google Scholar 

  11. Casale, G., Serazzi, G.: Quantitative system evaluation with Java modeling tools. In: International Conference on Performance Engineering (2011)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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

    Chapter  Google Scholar 

  14. 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

    Chapter  Google Scholar 

  15. De Nicola, R., Duong, T., Inverso, O., Trubiani, C.: AErlang: empowering erlang with attribute-based communication. Sci. Comput. Program. 168, 71–93 (2018)

    Article  Google Scholar 

  16. 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)

    Article  Google Scholar 

  17. Ferscha, A.: Collective adaptive systems. In: International Joint Conference on Pervasive and Ubiquitous Computing and Symposium on Wearable Computers (2015)

    Google Scholar 

  18. 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

    Chapter  Google Scholar 

  19. 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

    Chapter  Google Scholar 

  20. Gale, D., Shapley, L.S.: College admissions and the stability of marriage. Am. Math. Monthly 68(1), 9–15 (1962)

    Article  MathSciNet  Google Scholar 

  21. Gay, S., Ravara, A. (eds.): Behavioural Types: From Theory to Tools. Automation, Control and Robotics. River, Gistrup (2009)

    Google Scholar 

  22. Guanciale, R., Tuosto, E.: An abstract semantics of the global view of choreographies. In: Interaction and Concurrency Experience (2016)

    Google Scholar 

  23. Hüttel, H., et al.: Foundations of session types and behavioural contracts. ACM Comput. Surv. 49(1), 1–36 (2016)

    Article  Google Scholar 

  24. Kleinrock, L.: Theory, Volume 1, Queueing Systems. Wiley-Interscience, Hoboken (1975)

    MATH  Google Scholar 

  25. Lazowska, E.D., Zahorjan, J., Scott Graham, G., Sevcik, K.C.: Computer System Analysis Using Queueing Network Models. Prentice-Hall Inc., Englewood Cliffs (1984)

    Google Scholar 

  26. 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

    Chapter  Google Scholar 

  27. Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, I and II. Inf. Comput. 100(1), 1–40 (1992)

    Article  MathSciNet  Google Scholar 

  28. 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

    Article  MathSciNet  MATH  Google Scholar 

  29. Prasad, K.V.S.: A calculus of broadcasting systems. Sci. Comput. Program. 25(2–3), 285–327 (1995)

    Article  MathSciNet  Google Scholar 

  30. 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)

    Google Scholar 

  31. Tuosto, E., Guanciale, R.: Semantics of global view of choreographies. J. Logical Algebraic Methods Program. 95, 17–40 (2018)

    Article  MathSciNet  Google Scholar 

  32. 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

    Chapter  MATH  Google Scholar 

  33. 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)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Omar Inverso , Catia Trubiani or Emilio Tuosto .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics