Skip to main content

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

Abstract

We propose Klaim as a suitable base for a novel choreographic framework. More precisely we advocate Klaim as a suitable language onto which to project data-driven global specifications based on distributed tuple spaces. These specifications, akin to behavioural types, describe the coordination from a global point of view. Differently from behavioural types though, our specifications express the data flow across distributed tuple spaces rather than detailing the communication pattern of processes. We devise a typing system to validate Klaim programs against projections of our global specifications. An interesting feature of our typing approach is that well-typed systems have an arbitrary number of participants. In standard approaches based on behavioural types, this is often achieved at the cost of considerable technical complications.

Research partly supported by the EU H2020 RISE programme under the Marie Skłodowska-Curie grant agreement No. 778233, by UBACyT projects 20020170100544BA and 20020170100086BA, and CONICET project PIP 11220130100148CO, by the EU COST Action IC1405, by the MIUR PRINs 201784YSZ5 ASPRA: Analysis of program analyses and 2017FTXR7S IT-MaTTerS: Methods and tools for trustworthy smart systems, and by University of Pisa PRA_2018_66 DECLWARE: Metodologie dichiarative per la progettazione e il deployment di applicazioni.

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.

    http://www.w3.org/2002/ws/chor.

  2. 2.

    The diagram has been drawn with the BeePMN tool https://www.beepmn.com.

  3. 3.

    Klaim allows code mobility, which for the sake of simplicity is disregarded here. See however the discussion in Sect. 5.

  4. 4.

    The reader should not be confused by the meaning of being different from that of : this is because iteration and termination require some implicit interactions driven by towards the other roles in , as discussed in Sect. 3.1.

  5. 5.

    Edges of Hasse diagrams are usually not oriented; here we use arrows so to draw order relations between events also horizontally.

  6. 6.

    This is just for simplicity as we could adopt definitions similar to the ones in [11, 12] at the cost of higher technical complexity.

References

  1. Bettini, L., et al.: The Klaim project: theory and practice. In: Priami, C. (ed.) GC 2003. LNCS, vol. 2874, pp. 88–150. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-40042-4_4

    Chapter  Google Scholar 

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

  3. Bocchi, L., Melgratti, H., Tuosto, E.: Resolving non-determinism in choreographies. In: Shao, Z. (ed.) ESOP 2014. LNCS, vol. 8410, pp. 493–512. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54833-8_26

    Chapter  Google Scholar 

  4. Castagna, G., Dezani-Ciancaglini, M., Padovani, L.: On global types and multiparty session. Log. Methods Comput. Sci. 8(1), 1–45 (2012)

    Google Scholar 

  5. 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. In: POPL 2019, PACMPL, vol. 3, pp. 29:1–29:30. ACM (2019)

    Article  Google Scholar 

  6. De Nicola, R., Ferrari, G.L., Pugliese, R.: KLAIM: a kernel language for agents interaction and mobility. IEEE Trans. Softw. Eng. 24(5), 315–330 (1998)

    Article  Google Scholar 

  7. Denielou, P.-M., Yoshida, N., Bejleri, A., Hu, R.: Parameterised multiparty session types. Log. Methods Comput. Sci. 8(4), 1–46 (2012)

    Google Scholar 

  8. Dezani-Ciancaglini, M., de’Liguoro, U.: Sessions and session types: an overview. In: Laneve, C., Su, J. (eds.) WS-FM 2009. LNCS, vol. 6194, pp. 1–28. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14458-5_1

    Chapter  Google Scholar 

  9. Gaifman, H., Pratt, V.R.: Partial order models of concurrency and the computation of functions. In: LICS 1987, pp. 72–85. IEEE Computer Society (1987)

    Google Scholar 

  10. Gelernter, D.: Generative communication in Linda. ACM Trans. Program. Lang. Syst. 7(1), 80–112 (1985)

    Article  Google Scholar 

  11. Guanciale, R., Tuosto, E.: An abstract semantics of the global view of choreographies. In: Bartoletti, M., Henrio, L., Knight, S., Vieira, H.T. (eds.) ICE 2016, EPTCS, vol. 223, pp. 67–82 (2016)

    Article  MathSciNet  Google Scholar 

  12. Guanciale, R., Tuosto, E.: Semantics of global views of choreographies. Log. Algebraic Methods Program. 95, 17–40 (2018)

    Article  MathSciNet  Google Scholar 

  13. Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0053567

    Chapter  Google Scholar 

  14. Honda, K., Yoshida, N., Carbone, M.: Multiparty asynchronous session types. In: Necula, G.C., Wadler, P. (eds.) POPL 2008, pp. 273–284 (2008)

    Article  Google Scholar 

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

    Article  Google Scholar 

  16. Yoshida, N., Deniélou, P.-M., Bejleri, A., Hu, R.: Parameterised multiparty session types. In: Ong, L. (ed.) FoSSaCS 2010. LNCS, vol. 6014, pp. 128–145. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12032-9_10

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Fabio Gadducci .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Bruni, R., Corradini, A., Gadducci, F., Melgratti, H., Montanari, U., Tuosto, E. (2019). Data-Driven Choreographies à la Klaim. In: Boreale, M., Corradini, F., Loreti, M., Pugliese, R. (eds) Models, Languages, and Tools for Concurrent and Distributed Programming. Lecture Notes in Computer Science(), vol 11665. Springer, Cham. https://doi.org/10.1007/978-3-030-21485-2_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-21485-2_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-21484-5

  • Online ISBN: 978-3-030-21485-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics