MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Linearity and the Pi-Calculus Naoki Kobayashi

Download:
Download as a PDF
by Benjamin C. Pierce, David N. Turner
ftp://ftp.ifi.unizh.ch/pub/techreports/TR-2004/ifi-2004.01.pdf
Add To MetaCart

Abstract:

The economy and flexibility of the pi-calculus make it attractive both as an object of theoretical study and as a basis for concurrent language design and implementation. However, such generality has a cost: encoding higher-level features like functional computation in pi-calculus throws away potentially useful information. We show how a linear type system can be used to recover important static information about a process's behaviour. In particular, we can guarantee that two processes communicating over a linear channel cannot interfere with other communicating processes. This enables more aggressive optimisation of communications over linear channels and allows useful refinements to the usual notions of process equivalence for pi-calculus. After developing standard results such as soundness of typing, we focus on equivalences, adapting the standard notion of barbed bisimulation to the linear setting and showing how reductions on linear channels induce a useful "partial confluence " of process behaviors. 1

Citations

2762 R.: Communication and Concurrency – Milner - 1989
886 A Calculus of Mobile Processes – Milner, Parrow, et al. - 1992
865 ACTORS, a model of concurrent computation in distributed systems – Agha - 1986
299 Control structure as patterns of passing messages – Hewitt - 1979
283 An Object Calculus for Asynchronous Communication – Honda, Tokoro - 1991
233 Pict: A programming language based on the pi-calculus – Pierce, Turner - 2000
229 Expressing Mobility in Process Algebras: First-Order and Higher-Order Paradigms – Sangiorgi - 1992
225 Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem – Bruijn - 1972
220 Typing and subtyping for mobile processes – Pierce, Sangiorgi - 1996
216 CML: A Higher-order Concurrent Language – Reppy - 1991
211 Computational interpretations of linear logic – Abramsky - 1993
183 The reflexive chemical abstract machine and the join-calculus – Fournet, Gonthier - 1996
181 Barbed bisimulation – Milner, Sangiorgi - 1992
125 FACILE, a symmetric integration of concurrent and functional programming – Giacalone, Mishra, et al. - 1989
86 Proofs and Types, volume 7 of Cambridge Tracts – Girard, Lafont, et al. - 1989
78 Concurrent objects in a process calculus – Pierce, Turner - 1994
75 A partially deadlock-free typed process calculus – Kobayashi - 1998
74 Once upon a type – Turner, Wadler, et al. - 1995
71 Typed Concurrent Objects – Vasconcelos - 1996
70 Interaction categories and the foundations of typed concurrent programming – Abramsky, Gay, et al. - 1995
64 Higher-order concurrent programs with finite communication topology – Nielson, Nielson - 1994
59 An interaction-based language and its typing system – Takeuchi, Honda, et al. - 1994
49 Linear LISP—Look Ma, No Garbage – Lively - 1992
49 A π-calculus semantics for an object-based design notation – Jones - 1993
47 Lilac: A functional programming language based on linear logic – Mackie - 1991
43 Types for dyadic interaction – Honda - 1993
39 Syntactic control of interference revisited – O’Hearn, Takeyama, et al. - 1995
38 Towards foundations for concurrent objectoriented programming – types and language design. Theory and Practice of Object Systems – Kobayashi, Yonezawa - 1995
35 A sort inference algorithm for the polyadic -calculus – Gay - 1993
31 Composing processes – Honda - 1996
26 Static analysis of communication for asynchronous concurrent programming languages – Kobayashi, Nakade, et al. - 1995
19 Combinatory representation of mobile processes – Honda, Yoshida - 1994
19 Type-Theoretic Foundations for Concurrent Object-Programming – Kobayashi, Yonezawa - 1994
18 Polarized name passing – Odersky - 1995
15 A typed calculus of synchronous processes – Gay, Nagarajan - 1995
15 Functional Computation as Concurrent Computation – Niehren - 1996
14 On bisimulations for the asynchronous pi-calculus – Amadio, Castellani, et al. - 1998
13 Functions as processes. Research Report 1154, INRIA, Sofia Antipolis – Milner - 1990
13 Type-based analysis of usage of communication channels for concurrent programming languages – Igarashi, Kobayashi - 1997
10 The polyadic ��-calculus: a tutorial. Technical Report ECS--LFCS--91--180, Laboratory for Foundations of Computer Science – Milner - 1991
10 Static and dynamic processor allocation for higher-order concurrent languages – Nielson, Nielson - 1995
9 Typing confluence – Nestmann, Steffen - 1997
9 A polymorphic type system for the polyadic -calculus – Liu, Walker - 1995
7 Types for dydadic interaction – Honda - 1993
7 Confluence of Processes and Systems of Objects – Liu, Walker - 1995
6 Motoki Nakade, and Akinori Yonezawa. Static analysis of communication for asynchronous concurrent programming languages – Kobayashi
4 The -calculus: Types, polymorphism and implementation – Turner - 1995
1 Lolli: An extension of Prolog with linear context management – Hodas - 1992