Type-checking Liveness for Collaborative Processes with Bounded and Unbounded Recursion

We present the first session typing system guaranteeing request-response liveness properties for possibly non-terminating communicating processes. The types augment the branch and select types of the standard binary session types with a set of required responses, indicating that whenever a particular label is selected, a set of other labels, its responses, must eventually also be selected. We prove that these extended types are strictly more expressive than standard session types. We provide a type system for a process calculus similar to a subset of collaborative BPMN processes with internal (data-based) and external (event-based) branching, message passing, bounded and unbounded looping. We prove that this type system is sound, i.e., it guarantees request-response liveness for dead-lock free processes. We exemplify the use of the calculus and type system on a concrete example of an infinite state system.

[1]  Bernd Westphal,et al.  Live Sequence Charts: An Introduction to Lines, Arrows, and Strange Boxes in the Context of Formal Verification , 2004, SoftSpez Final Report.

[2]  Gary Brown,et al.  Scribbling Interactions with a Formal Foundation , 2011, ICDCIT.

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

[4]  Luca Padovani,et al.  Inference of Global Progress Properties for Dynamically Interleaved Multiparty Sessions , 2013, COORDINATION.

[5]  Vasco Thudichum Vasconcelos,et al.  Session Typing for a Featherweight Erlang , 2011, COORDINATION.

[6]  Vasco Thudichum Vasconcelos,et al.  Fundamentals of session types , 2009, Inf. Comput..

[7]  Davide Sangiorgi,et al.  Session types revisited , 2012, PPDP.

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

[9]  Nobuko Yoshida,et al.  Intensional and Extensional Characterisation of Global Progress in the π-Calculus , 2012, CONCUR.

[10]  Nobuko Yoshida,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 2007, Electron. Notes Theor. Comput. Sci..

[11]  Mariangiola Dezani-Ciancaglini,et al.  On Progress for Structured Communications , 2007, TGC.

[12]  Luca Padovani,et al.  Deadlock and lock freedom in the linear π-calculus , 2014, CSL-LICS.

[13]  Nobuko Yoshida,et al.  Type Checking Liveness for Collaborative Processes with Bounded and Unbounded Recursion , 2014, FORTE.

[14]  Frank Pfenning,et al.  Session Types as Intuitionistic Linear Propositions , 2010, CONCUR.

[15]  Nobuko Yoshida,et al.  Multiparty Compatibility in Communicating Automata: Characterisation and Synthesis of Global Session Types , 2013, ICALP.

[16]  Thomas A. Henzinger,et al.  Proceedings of the Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS) , 2014, LICS 2014.

[17]  Nobuko Yoshida,et al.  Session-Based Distributed Programming in Java , 2008, ECOOP.

[18]  Omar Chiotti,et al.  A Verification Method for Collaborative Business Processes , 2011, Business Process Management Workshops.

[19]  Sophia Drossopoulou,et al.  Objects and session types , 2009, Inf. Comput..

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

[21]  Mariangiola Dezani-Ciancaglini,et al.  Asynchronous Session Types and Progress for Object Oriented Languages , 2007, FMOODS.

[22]  Vasco Thudichum Vasconcelos,et al.  Typing Progress in Communication-Centred Systems , 2013, COORDINATION.

[23]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[24]  C.-H. Luke Ong,et al.  A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[25]  Sophia Drossopoulou,et al.  Session Types for Object-Oriented Languages , 2006, ECOOP.

[26]  Søren Debois,et al.  A Graphical Approach to Progress for Structured Communication in Web Services , 2010, ICE.

[27]  Catuscia Palamidessi,et al.  Explicit fairness in testing semantics , 2009, Log. Methods Comput. Sci..

[28]  Luca Padovani,et al.  From Lock Freedom to Progress Using Session Types , 2013, PLACES.

[29]  Shing-Chi Cheung,et al.  Verification of liveness properties using compositional reachability analysis , 1997, ESEC '97/FSE-5.

[30]  Naoki Kobayashi,et al.  A Type System for Lock-Free Processes , 2002, Inf. Comput..

[31]  David Harel,et al.  LSC'S: BREATHING LIFE INTO MESSAGE SEQUENCE CHARTS , 2022 .

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

[33]  Luca Padovani Fair Subtyping for Open Session Types , 2013, ICALP.

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