Constraints for Free in Concurrent Computation

We investigate concurrency as unifying computational paradigm which integrates functional, constraint, and object-oriented programming. We propose the ρ-calculus as a uniform foundation of concurrent computation and formally relate it to other models: The ρ calculus with equational constraints provides for logic variables and is bisimilar to the γ-calculus. The ρ-calculus without constraints is a proper subset of the π-calculus. We prove its Turing completeness by embedding the eager λ-calculus in continuation passing style. The ρ-calculus over an arbitrary constraint system is an extension of the standard cc-model with procedural abstraction.

[1]  Nobuko Yoshida,et al.  On Reduction-Based Semantics , 1993, FSTTCS.

[2]  Matthias Felleisen,et al.  A call-by-need lambda calculus , 1995, POPL '95.

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

[4]  Gert Smolka,et al.  Object-Oriented Concurrent Constraint Programming in Oz , 1993, KI.

[5]  Joachim Niehren Funktionale Berechnung in einem uniform nebenläufigen Kalkül mit logischen Variablen , 1994 .

[6]  Maurizio Gabbrielli,et al.  Compositional analysis for concurrent constraint programming , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[7]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[8]  Simon Brock,et al.  Process Semantics of Graph Reduction , 1995, CONCUR.

[9]  Prakash Panangaden,et al.  The semantic foundations of concurrent constraint programming , 1991, POPL '91.

[10]  Gert Smolka The Definition of Kernel Oz , 1994 .

[11]  Joachim Niehren,et al.  A Confluent Relational Calculus for Higher-Order Programming with Constraints , 1994, CCL.

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

[13]  G. Erard Boudol Asynchrony and the -calculus (note) , 1992 .

[14]  S. Gerd,et al.  A calculus for higher-order concurrent constraint programming with deep guards , 1994 .

[15]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[16]  Frank S. de Boer,et al.  A Process Algebra of Concurrent Constraint Programming , 1992, JICSLP.

[17]  Sverker Janson,et al.  AKL - A Multiparadigm Programming Language , 1994 .

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

[19]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[20]  Christian Schulte,et al.  An Abstract Machine for Oz , 1995, PLILP.

[21]  Joachim Niehren,et al.  Functional computation as concurrent computation , 1996, POPL '96.