Assuming Just Enough Fairness to make Session Types Complete for Lock-freedom

We investigate how different fairness assumptions affect results concerning lock-freedom, a typical liveness property targeted by session type systems. We fix a minimal session calculus and systematically take into account all known fairness assumptions, thereby identifying precisely three interesting and semantically distinct notions of lock-freedom, all of which having a sound session type system. We then show that, by using a general merge operator in an otherwise standard approach to global session types, we obtain a session type system complete for the strongest amongst those notions of lock-freedom, which assumes only justness of execution paths, a minimal fairness assumption for concurrent systems.

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

[2]  Gerardo Costa,et al.  Weak and Strong Fairness in CCS , 1987, Inf. Comput..

[3]  Alceste Scalas,et al.  Precise subtyping for asynchronous multiparty sessions , 2021, Proc. ACM Program. Lang..

[4]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[5]  Rob van Glabbeek,et al.  Progress, Justness, and Fairness , 2018, ACM Comput. Surv..

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

[7]  Paula Severi,et al.  Observational Equivalence for Multiparty Sessions , 2019, Fundam. Informaticae.

[8]  Nissim Francez,et al.  Appraising fairness in languages for distributed programming , 2005, Distributed Computing.

[9]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

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

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

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

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

[14]  Ilaria Castellani,et al.  Reversible sessions with flexible choices , 2019, Acta Informatica.

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

[16]  Nobuko Yoshida,et al.  A Very Gentle Introduction to Multiparty Session Types , 2020, ICDCIT.

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

[18]  Luca Padovani,et al.  Typing Liveness in Multiparty Communicating Systems , 2014, COORDINATION.

[19]  Nobuko Yoshida,et al.  Less is more: multiparty session types revisited , 2019, Proc. ACM Program. Lang..

[20]  Mariangiola Dezani-Ciancaglini,et al.  Precise subtyping for synchronous multiparty sessions , 2016, PLACES.

[21]  Ross Horne,et al.  Global types with internal delegation , 2020, Theor. Comput. Sci..

[22]  Rob van Glabbeek Coinductive Validity , 2021, ArXiv.

[23]  Sophia Drossopoulou,et al.  A Distributed Object-Oriented Language with Session Types , 2005, TGC.

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

[25]  Elie Najm,et al.  Guaranteeing liveness in an object calculus through behavioural typing , 1999, FORTE.

[26]  Romain Demangeon,et al.  Full Abstraction in a Subtyped pi-Calculus with Linear Types , 2011, CONCUR.

[27]  Sung-Shik Jongmans,et al.  Exploring Type-Level Bisimilarity towards More Expressive Multiparty Session Types , 2020, ESOP.

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

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

[30]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[31]  Jayadev Misra,et al.  A discipline of multiprogramming: programming theory for distributed applications , 2001 .

[32]  Fabrizio Montesi,et al.  Progress as Compositional Lock-Freedom , 2014, COORDINATION.

[33]  Ivan Lanese,et al.  Composition and decomposition of multiparty sessions , 2021, J. Log. Algebraic Methods Program..