A partially deadlock-free typed process calculus

We propose a novel static type system fora 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) classijication 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 X-calculus can be encoded into the deadlock-free and confluent fragment of ourprocess calculus; we can therefore recover behavior of the typed X-calculus in the level of process calculi. We also show that typical concurrent objects can also be encoded into the deadlock-fne fragment.

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

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

[3]  Robin Milner Functions as Processes , 1990, ICALP.

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

[5]  Flemming Nielson,et al.  Higher-order concurrent programs with finite communication topology (extended abstract) , 1994, POPL '94.

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

[7]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 2000, JACM.

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

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

[10]  Ehud Shapiro,et al.  The family of concurrent logic programming languages , 1989, CSUR.

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

[12]  Antony J. T. Davie,et al.  p-Calculus Characterizations of some Practical ?-Calculus Reduction Strategies , 1993 .

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

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

[15]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[16]  Uwe Nestmann What is a "Good" Encoding of Guarded Choice? , 2000, Inf. Comput..

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

[18]  小林直樹 Concurrent Linear Logic Programming(並行線形論理プログラミング) , 1996 .

[19]  Akinori Yonezawa,et al.  An Efficient Compilation Framework for Languages Based on a Concurrent Process Calculus , 1997, Euro-Par.

[20]  Naoki Kobayashi A Partially Deadlock-free Typed Process Calculus (I) -- A Simple System , 1996 .

[21]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[22]  Christopher Colby Analyzing the communication topology of concurrent programs , 1995, PEPM '95.

[23]  Dale Miller,et al.  Logic Programming in a Fragment of Intuitionistic Linear Logic , 1994, Inf. Comput..

[24]  John H. Reppy,et al.  CML: A higher concurrent language , 1991, PLDI '91.

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

[26]  Ian Mackie,et al.  Lilac: a functional programming language based on linear logic , 1994, Journal of Functional Programming.

[27]  Klaus-Peter Löhr,et al.  Object-Oriented Concurrent Programming , 1992, TOOLS.

[28]  Davide Sangiorgi The Name Discipline of Uniform Receptiveness (Extended Abstract) , 1997, ICALP.

[29]  Simon J. Gay,et al.  A sort inference algorithm for the polyadic π-calculus , 1993, POPL '93.

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

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

[32]  Vasco Thudichum Vasconcelos,et al.  Principal Typing Schemes in a Polyadic pi-Calculus , 1993, CONCUR.

[33]  Kohei Honda,et al.  Principal Typing Schemes in a Polyadic pi-Calculus , 1993, CONCUR.

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