A partially deadlock-free typed process calculus

We propose a novel static type system for a process calculus, which ensures both partial deadlock-freedom and partial confluence. The key novel ideas are: (1) introduction of the order of channel use as type information and (2) classification of communication channels into reliable and unreliable channels based on their usage and a guarantee of the usage by the type system. We can ensure that communication on reliable channels never causes deadlock and also that certain reliable channels never introduce nondeterminism. With the type system, for example, the simply typed /spl lambda/-calculus can be encoded into the deadlock-free and confluent fragment of our process calculus; we can therefore recover behavior of the typed /spl lambda/-calculus in the level of process calculi. We also show that typical concurrent objects can also be encoded into the deadlock-free fragment.

[1]  Akinori Yonezawa,et al.  Towards Foundations of Concurrent Object-Oriented Programming-Types and Language Design , 1995, Theory Pract. Object Syst..

[2]  Atsushi Igarashi,et al.  Type-Based Analysis of Communication for Concurrent Programming Languages , 1997, SAS.

[3]  Davide Sangiorgi,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

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

[5]  John H. Reppy,et al.  CML: A Higher-Order Concurrent Language , 1991, PLDI.

[6]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1999, TOPL.

[7]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[8]  Mario Tokoro,et al.  Object-oriented concurrent programming , 1987 .

[9]  Benjamin C. Pierce,et al.  Concurrent Objects in a Process Calculus , 1994, Theory and Practice of Parallel Programming.

[10]  Dale Miller,et al.  Logic programming in a fragment of intuitionistic linear logic , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[11]  Simon L. Peyton Jones,et al.  Concurrent Haskell , 1996, POPL '96.

[12]  Naoki Kobayashi A partially deadlock-free typed process calculus , 1998, TOPL.

[13]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[14]  Nobuko Yoshida,et al.  Graph Types for Monadic Mobile Processes , 1996, FSTTCS.

[15]  Akinori Yonezawa,et al.  Higher-Order Concurrent Linear Logic Programming , 1994, Theory and Practice of Parallel Programming.

[16]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[17]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1996, POPL '96.

[18]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .