## An Implicitly-Typed Deadlock-Free Process Calculus (0)

### Cached

### Download Links

Venue: | In Proc. of Workshop on High-Level Concurrent Language (HLCL’98), volume 16(3) of ENTCS |

Citations: | 27 - 8 self |

### BibTeX

@INPROCEEDINGS{Kobayashi_animplicitly-typed,

author = {Naoki Kobayashi and Shin Saito and Eijiro Sumii},

title = {An Implicitly-Typed Deadlock-Free Process Calculus},

booktitle = {In Proc. of Workshop on High-Level Concurrent Language (HLCL’98), volume 16(3) of ENTCS},

year = {},

pages = {489--503},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

We extend Kobayashi and Sumii's type system for the deadlock -free #-calculus and develop a type reconstruction algorithm. Kobayashi and Sumii's type system helps high-level reasoning about concurrent programs by guaranteeing that communication on certain channels will eventually succeed. It can ensure, for example, that a process implementing a function really behaves like a function. However, because it lacked a type reconstruction algorithm and required rather complicated type annotations, applying it to real concurrent languages was impractical. We have therefore developed a type reconstruction algorithm for an extension of the type system. The key novelties that made it possible are generalization of usages (which specifies how each communication channel is used) and a subusage relation. 1

### Citations

3204 | Communication and Concurrency - Milner - 1989 |

995 | A calculus of mobile processes
- Milner, Parrow, et al.
- 1992
(Show Context)
Citation Context ...dings of CONCUR2000. 11.2 Our Previous Type Systems for Deadlock-freedom and Their Problem To overcome problems like above, a number of type systems [11, 16, 26] have been studied through - calculus =-=[14]-=- (just as type systems for functional languages have been studied through -calculus). For example, Pierce and Sangiorgi [16] introduced a type system that can guarantee that certain channels are used ... |

620 | Compiling with Continuations - Appel - 1992 |

403 |
Viewing control structures as patterns of passing messages
- Hewitt
- 1977
(Show Context)
Citation Context ...tor (like jj of ours). The underlying calculus is di erent 62from ours in that the message arrival order is FIFO (messages are accepted by an object in the order they are sent) as in the actor model =-=[7]-=-. We think, however, that this is not an essential di erence of the type systems. In fact, we can introduce the typing rule for an asynchronous, FIFO output operation \x![v1;:::;vn]; P " as a mixture ... |

272 |
The Polyadic -Calculus: A Tutorial
- Milner
- 1993
(Show Context)
Citation Context ...tems for Deadlock-Freedom In order to explain the necessity oftype systems for deadlock-freedom and ideas of Kobayashi and Sumii's type system, we use the following subset of the polyadic pi-calculus =-=[13]-=-: 3P ::= P1 j P2 (executes P1 and P2 concurrently) x![v1;:::;vn] (sends a tuple [v1;:::;vn] along the channel x) x?[z1;:::;zn]:P (receives a tuple [v1;:::;vn] along x and behaves like [z1 7! v1;:::;z... |

251 | Pict: A Programming Language Based on the Pi-Calculus - Pierce, Turner - 2000 |

241 | Typing and subtyping for mobile processes
- Pierce, Sangiorgi
- 1996
(Show Context)
Citation Context ...niveristy ofTokyo. A summary will appear in Proceedings of CONCUR2000. 11.2 Our Previous Type Systems for Deadlock-freedom and Their Problem To overcome problems like above, a number of type systems =-=[11, 16, 26]-=- have been studied through - calculus [14] (just as type systems for functional languages have been studied through -calculus). For example, Pierce and Sangiorgi [16] introduced a type system that can... |

217 |
CML: A higher-order concurrent language
- Reppy
- 1991
(Show Context)
Citation Context ... concurrency, in particular, deadlock (ina broad sense). Traditional type systems are insu cient to guarantee the correctness of concurrent/distributed programs. Consider the following program of CML =-=[21]-=-: fun f n = let val ch=channel() in recv(ch)+n+1 end; The function f creates a new channel ch (by channel()), waits for a value v from the channel (by recv(ch)), and returns v + n +1. Since there is n... |

187 | Regular types for active objects
- Nierstrasz
- 1993
(Show Context)
Citation Context ...system [22] can be roughly seen as our type system plus the above extension, minus usages except for 3I ;:0jj!O;:0, Io:0jjOc:0, and 3Io:0jj3Oc:0, and the subusage relation. Nierstrasz's regular types =-=[15]-=- An idea similar to our usages is also found in an earlier work by Nierstrasz on regular types [15]. In order to express changing behaviors of a concurrent object, he introduced types (called regular ... |

135 | Linearity in the pi-calculus
- Kobayashi, Pierce, et al.
- 1996
(Show Context)
Citation Context ...ayashi and Sumii's Deadlock-Free Type Systems The key ideas of Kobayashi and Sumii's deadlock-free type systems are as follows: Generalization of input/output modes and linearity The linear -calculus =-=[11]-=- is only concerned with whether channels are used just once or more; it does not care about whether channels are used twice or more, or about the order in which outputs and inputs are performed. This ... |

108 | An interaction-based language and its typing system
- Honda, Kubo, et al.
- 1994
(Show Context)
Citation Context ...t u corresponds to the additive disjunction 8, while t corresponds to the additive conjunction &. The distinction between these two kinds of choice have already been made by Takeuchi, Honda, and Kubo =-=[24]-=- (although their type system does not guarantee the deadlock-freedom in the sense of ours). This distinction will be particularly useful when our type system is extended to deal with object types as d... |

89 | Decidability issues for Petri nets – a survey
- Esparza, Nielsen
- 1994
(Show Context)
Citation Context ...11[SubUExp(Un) . The result follows, since SubUExp(U)[SubUExp(U1)[1 1 1[SubUExp(Un) is nite (Lemma 6.28). 2 We can compute the set Deriv(U; C) by reducing it to the reachability problem of Petri nets =-=[4]-=-. It is explained later in Section 6.2.7. 6.2.5 Reducing obligation constraints The remaining constraints on usages are of the form fobO( 1) ) obO( 1);:::;obO( n) ) obO( n) obI( 1) ) obI( 1);:::;obI( ... |

78 |
A sort inference algorithm for the polyadic -calculus
- Gay
- 1993
(Show Context)
Citation Context ... sending a pair [0; 2] of integers to fact, execution of the above process gets stuck with 2![1]. In order to overcome such a problem, earlier type systems for process calculi or concurrent languages =-=[5, 21, 25]-=- incorporated into channel types information on values communicated along eachchannel. Let us write l[ 1;:::; n] for the type of a channel for communicating a tuple of values of types 1;:::; n. Then, ... |

76 | A partially deadlock-free type process calculus. Pages 128–139 of
- Kobayashi
- 1997
(Show Context)
Citation Context ...ystem that can guarantee that certain channels (called linear channels) are used just once for communication. Among them,advanced type systems for the -calculus, Our type systems for deadlock-freedom =-=[10, 23]-=- are among the most powerful type systems: They can guarantee partial deadlock-freedom in the sense that communication on certain channels will eventually succeed. In addition to the usual meaning of ... |

74 | Concurrent objects in a process calculus - Pierce, Turner - 1994 |

59 | Graph types for monadic mobile processes
- Yoshida
- 1996
(Show Context)
Citation Context ...niveristy ofTokyo. A summary will appear in Proceedings of CONCUR2000. 11.2 Our Previous Type Systems for Deadlock-freedom and Their Problem To overcome problems like above, a number of type systems =-=[11, 16, 26]-=- have been studied through - calculus [14] (just as type systems for functional languages have been studied through -calculus). For example, Pierce and Sangiorgi [16] introduced a type system that can... |

30 | Coordination requirements expressed in types for active objects
- Puntigam
(Show Context)
Citation Context ...e basically viewed as our type system plus object types in Section 7.7, minus usage attributes, usage constructors Oa:, j , and u, and the tag orderings. Puntigam's type system for concurrent objects =-=[19]-=- Puntigam [19] extends Nierstrasz's work [15] above by giving a type system that can ensure that a concurrent object really provides services speci ed by types (similar to regular types) and that user... |

26 |
Typing the use of resources in a concurrent calculus
- Boudol
(Show Context)
Citation Context ...Q is guaranteed to eventually send a value on x, so that the input x? c []:P can succeed. Recall the example of the factorial function. In order to call the function, a programmer can write ( r)(fact!=-=[3;r]-=- j r? c [n]:P). Then, it is guaranteed that the result will eventually be received on r. (Note here that fact![3;r] need not be annotated with c. Programmers need to attach annotations only to the out... |

26 |
Principal typing schemes in a polyadic -calculus
- Vasconcelos, Honda
- 1993
(Show Context)
Citation Context ... sending a pair [0; 2] of integers to fact, execution of the above process gets stuck with 2![1]. In order to overcome such a problem, earlier type systems for process calculi or concurrent languages =-=[5, 21, 25]-=- incorporated into channel types information on values communicated along eachchannel. Let us write l[ 1;:::; n] for the type of a channel for communicating a tuple of values of types 1;:::; n. Then, ... |

26 |
Compiling with Continuations. Cambridge
- Appel
- 1992
(Show Context)
Citation Context ...x and a reply channel r, evaluates M and returns the result to r. For example, a function that computes the factorial can be implemented as the following process F act: fact? 3 [n; r]: (if n =0then r!=-=[1]-=- else ( r 0 )(fact![n 0 1;r 0 ] j r 0 ?[m]:r![m 2 n]) ) This process receives a pair of an integer n and a channel r along the channel fact and tests whether n =0. If n = 0, then it returns the result... |

15 | Type Inference in Systems of Recursive Types with Subtyping’. Manuscript - Jim, Palsberg - 1997 |

11 | Type reconstruction for linear pi-calculus with I/O subtyping. Information and Computation. To appear. A preliminary summary appeared
- Igarashi, Kobayashi
(Show Context)
Citation Context ...on algorithm, which inputs an implicitly-typed process and checks whether it is well typed or not. The algorithm 2is a non-trivial extension of Igarashi and Kobayashi's type reconstruction algorithm =-=[8]-=- for the linear -calculus [11], where a principal typing is expressed as a pair of a type environment and a set of constraints on type/usage variables. 1.4 Limitations of This Paper The type system an... |

8 | Changeable interfaces and promised messages for concurrent components
- Puntigam, Peter
- 1999
(Show Context)
Citation Context ...ystem [19] canberegardedas our type system plus the object types, minus the usage attributes except for the output capability and the input obligation and the tag orderings. In Puntigam's recent work =-=[20]-=-, a method reply channel corresponding to a channel of the usage Oo:0jjIc:0 and an ordering similar to the tag orderings have been introduced. Boudol's type system [3] Boudol [3] proposed a kind of de... |

6 |
Concurrent objects in a process calculus, in: Theory and Practice of Parallel Programming
- Pierce, Turner
- 1995
(Show Context)
Citation Context ...e way to encode concurrent objects in the -calculus is to express a concurrent object as a pair of (1) achannel to store the current state and (2) a set of processes each ofwhich executes each method =-=[10, 17]-=-. An object identity is expressed as a record of channels for receiving requests. For example, a counter object with a method inc to increment the counter and a method read to read the counter is expr... |

5 | The name discipline of uniform receptiveness (extended abstract
- Sangiorgi
- 1997
(Show Context)
Citation Context ...hannel types in Section 7.6, and the object types in Section 7.7, minus the empty/capability-only/obligation-only attributes, the tag orderings, and the subusage relation. Sangiorgi's receptive names =-=[22]-=- Sangiorgi [22] also introduced a type system of the -calculus which can guarantee deadlock-freedom in a certain sense. It guarantees that a process is always waiting to input on certain channels (cal... |

1 | The pi-calculus in direct syle - Boudol - 1997 |

1 | Type inference in systems of recursivetypes with subtyping. Manuscript, available at http://www.cs.purdue.edu/homes/palsberg/publications.html - Jim, Palsberg - 1999 |