Data-Driven Choreographies à la Klaim

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.

[1]  Nobuko Yoshida,et al.  Distributed programming using role-parametric session types in go: statically-typed endpoint APIs for dynamically-instantiated communication structures , 2019, Proc. ACM Program. Lang..

[2]  Ivan Lanese,et al.  Foundations of Session Types and Behavioural Contracts , 2016, ACM Comput. Surv..

[3]  Nobuko Yoshida,et al.  Parameterised Multiparty Session Types , 2010, FoSSaCS.

[4]  Laura Bocchi,et al.  Resolving Non-determinism in Choreographies , 2014, ESOP.

[5]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[6]  Emilio Tuosto,et al.  Semantics of global view of choreographies , 2018, J. Log. Algebraic Methods Program..

[7]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[8]  Emilio Tuosto,et al.  The Klaim Project: Theory and Practice , 2003, Global Computing.

[9]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[10]  Laura Bocchi,et al.  A Theory of Design-by-Contract for Distributed Multiparty Interactions , 2010, CONCUR.

[11]  Haim Gaifman,et al.  Partial Order Models of Concurrency and the Computation of Functions , 1987, LICS.

[12]  Nobuko Yoshida,et al.  Parameterised Multiparty Session Types , 2010, Log. Methods Comput. Sci..

[13]  Mariangiola Dezani-Ciancaglini,et al.  Sessions and Session Types: An Overview , 2009, WS-FM.

[14]  Emilio Tuosto,et al.  An Abstract Semantics of the Global View of Choreographies , 2016, ICE.