A Type System for Flexible Role Assignment in Multiparty Communicating Systems

Communication protocols in distributed systems often specify the roles of the parties involved in the communications, namely for enforcing security policies or task assignment purposes. Ensuring that implementations follow role-based protocol specifications is challenging, especially in scenarios found, e.g., in business processes and web applications, where multiple peers are involved, single peers impersonate several roles, or single roles are carried out by several peers. We present a type-based analysis for statically verifying role-based multi-party interactions, based on a simple π-calculus model and prior work on conversation types. Our main result ensures that well-typed systems follow the role-based protocols prescribed by the types, including systems where roles are flexibly assigned to processes.

[1]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[2]  Nobuko Yoshida,et al.  Dynamic multirole session types , 2011, POPL '11.

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

[4]  Dezani Mariangiola,et al.  Types and Roles for Web Security , 2012 .

[5]  Mario Tokoro,et al.  A Typing System for a Calculus of Objects , 1993, ISOTAS.

[6]  Sophia Drossopoulou,et al.  Softly safely spoken: Role playing for Session Types , 2009 .

[7]  Luca Padovani,et al.  On Global Types and Multi-party Sessions , 2011, FMOODS/FORTE.

[8]  David Lee,et al.  Formal Techniques for Distributed Systems, Joint 11th IFIP WG 6.1 International Conference FMOODS 2009 and 29th IFIP WG 6.1 International Conference FORTE 2009, Lisboa, Portugal, June 9-12, 2009. Proceedings , 2009, FMOODS/FORTE.

[9]  Kohei Honda,et al.  Types for Dynamic Interaction , 1993 .

[10]  Satoshi Matsuoka,et al.  Object Technologies for Advanced Software , 1996, Lecture Notes in Computer Science.

[11]  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.

[12]  Nobuko Yoshida,et al.  Structured Communication-Centred Programming for Web Services , 2007, ESOP.

[13]  D. Walker,et al.  A Calculus of Mobile Processes, Part Ii , 1989 .

[14]  Loris D'Antoni,et al.  Global Progress in Dynamically Interleaved Multiparty Sessions , 2008, CONCUR.

[15]  Luca Padovani,et al.  On projecting processes into session types , 2012, Mathematical Structures in Computer Science.

[16]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[17]  Mario Bravetti,et al.  A Foundational Theory of Contracts for Multi-party Service Composition , 2008, Fundam. Informaticae.

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

[19]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[20]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

[21]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[22]  Vasco T. Vasconcelos,et al.  Dynamic Roles in Multiparty Communicating Systems , 2012 .

[23]  Marsha Chechik,et al.  CONCUR 2008 - Concurrency Theory, 19th International Conference, CONCUR 2008, Toronto, Canada, August 19-22, 2008. Proceedings , 2008, CONCUR.