Resolving Non-determinism in Choreographies

Resolving non-deterministic choices of choreographies is a crucial task. We introduce a novel notion of realisability for choreographies ---called whole-spectrum implementation--- that rules out deterministic implementations of roles that, no matter which context they are placed in, will never follow one of the branches of a non-deterministic choice. We show that, under some conditions, it is decidable whether an implementation is whole-spectrum. As a case study, we analyse the POP protocol under the lens of whole-spectrum implementation.

[1]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[2]  D. H. Crocker,et al.  Standard for the format of arpa intemet text messages , 1982 .

[3]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[4]  Jon Postel,et al.  Post Office Protocol: Version 2 , 1985, RFC.

[5]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[6]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[7]  Simon J. Gay,et al.  Types and Subtypes for Client-Server Interactions , 1999, ESOP.

[8]  Atsushi Igarashi,et al.  A generic type system for the Pi-calculus , 2001, POPL '01.

[9]  Nobuko Yoshida,et al.  Strong normalisation in the /spl pi/-calculus , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[10]  Xiang Fu,et al.  Realizability of conversation protocols with message contents , 2004, Proceedings. IEEE International Conference on Web Services, 2004..

[11]  Peter Thiemann,et al.  An Implementation of Session Types , 2004, PADL.

[12]  Nobuko Yoshida,et al.  Strong normalisation in the pi -calculus , 2004, Inf. Comput..

[13]  Naoki Kobayashi Type-based information flow analysis for the π-calculus , 2005, Acta Informatica.

[14]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[15]  Davide Sangiorgi,et al.  Ensuring termination by typability , 2006, Inf. Comput..

[16]  Naoki Kobayashi,et al.  A New Type System for Deadlock-Free Processes , 2006, CONCUR.

[17]  Andrew D. Gordon,et al.  Verified Reference Implementations of WS-Security Protocols , 2006, WS-FM.

[18]  Xiang Fu,et al.  Towards a Theory of Web Service Choreographies , 2007, WS-FM.

[19]  Ivan Lanese,et al.  Bridging the Gap between Interaction- and Process-Oriented Choreographies , 2008, 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods.

[20]  Luca Padovani,et al.  Contracts for Mobile Processes , 2009, CONCUR.

[21]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

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

[23]  Franck van Breugel,et al.  Concur 2008 - Concurrency Theory , 2009 .

[24]  Mario Bravetti,et al.  CONCUR 2009 - Concurrency Theory, 20th International Conference, CONCUR 2009, Bologna, Italy, September 1-4, 2009. Proceedings , 2009, CONCUR.

[25]  Mario Bravetti,et al.  A theory of contracts for strong service compliance , 2009, Mathematical Structures in Computer Science.

[26]  Nobuko Yoshida,et al.  Type-Safe Eventful Sessions in Java , 2010, ECOOP.

[27]  Hugo Torres Vieira,et al.  Conversation types , 2009, Theor. Comput. Sci..

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

[29]  Niels Lohmann,et al.  Decidability Results for Choreography Realization , 2011, ICSOC.

[30]  Laura Bocchi,et al.  Asynchronous Distributed Monitoring for Multiparty Session Enforcement , 2011, TGC.

[31]  Luca Padovani,et al.  Fair Subtyping for Multi-party Session Types , 2011, COORDINATION.

[32]  Emilio Tuosto,et al.  Synthesising Choreographies from Local Session Types , 2012, CONCUR.

[33]  Tevfik Bultan,et al.  Realizability of Choreographies Using Process Algebra Encodings , 2012, IEEE Transactions on Services Computing.

[34]  Nobuko Yoshida,et al.  Multiparty Session Types Meet Communicating Automata , 2012, ESOP.

[35]  Samik Basu,et al.  Deciding choreography realizability , 2012, POPL '12.

[36]  Luca Bortolussi,et al.  Fluid Model Checking , 2012, CONCUR.

[37]  Laura Bocchi,et al.  A Multiparty Multi-session Logic , 2012, TGC.

[38]  Tzu-Chun Chen,et al.  Specifying Stateful Asynchronous Properties for Distributed Programs , 2012, CONCUR.

[39]  Luca Padovani,et al.  On Global Types and Multi-Party Session , 2012, Log. Methods Comput. Sci..

[40]  Fabrizio Montesi,et al.  Deadlock-freedom-by-design: multiparty asynchronous global programming , 2013, POPL.

[41]  Mariangiola Dezani-Ciancaglini,et al.  Self-adaptive multiparty sessions , 2014, Service Oriented Computing and Applications.

[42]  Laura Bocchi,et al.  Resolving Nondeterminism in Choreographies ⋆ , 2014 .

[43]  Luca Padovani,et al.  Global progress for dynamically interleaved multiparty sessions , 2014, Mathematical Structures in Computer Science.

[44]  Emilio Tuosto,et al.  From Communicating Machines to Graphical Choreographies , 2015, POPL.

[45]  Flemming Nielson,et al.  Discretionary Information Flow Control for Interaction-Oriented Specifications , 2015, Logic, Rewriting, and Concurrency.

[46]  Ilaria Castellani,et al.  Information flow safety in multiparty sessions , 2016, Math. Struct. Comput. Sci..

[47]  Nobuko Yoshida,et al.  Hybrid Session Verification Through Endpoint API Generation , 2016, FASE.

[48]  Ilaria Castellani,et al.  Self-adaptation and secure information flow in multiparty communications , 2016, Formal Aspects of Computing.

[49]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

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