Composing processes

We present a theory of types for concurrency based on a simple notion of typed algebras, and discuss its applications. The basic idea is to determine a partial algebra of processes by a partial algebra of types, thus controlling process composability, just as types in a typed applicative structure [25] determine composability of elements of the underlying applicative structure. A class of typed algebras with a simple operator for process composition are introduced, which are shown to encompass a wide range of type disciplines for processes, placing extant theories such as Milner's sorting [22] and Lafont's typed nets [20] on a uniform technical footing, suggesting generalisations, and offering a secure basis for integration. We also prove that the class of typable operations in the underlying partial algebras is completely characterised by a certain modularity principle in process composition, which gives us the basic understanding on the nature of the type disciplines representable in the proposed construction.

[1]  Kohei Honda,et al.  Types for Dynamic Interaction , 1993 .

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

[3]  Kohei Honda,et al.  An Interaction-based Language and its Typing System , 1994, PARLE.

[4]  John C. Mitchell,et al.  Type Systems for Programming Languages , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

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

[6]  Alister Cumming,et al.  WRITING EXPERTISE AND SECOND LANGUAGE PROFICIENCY , 1989 .

[7]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

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

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

[10]  Rajagopal Nagarajan,et al.  A typed calculus of synchronous processes , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[11]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

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

[13]  Vivian Zamel The Composing Processes of Advanced ESL Students: Six Case Studies , 1983 .

[14]  R. Milner Action Structures , 1992 .

[15]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

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

[17]  Hiroe Kobayashi,et al.  Effects of First Language on Second Language Writing: Translation versus Direct Composition† , 1992 .

[18]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[19]  Kohei Honda Notes on P-Algebra (2): Group Presentation of Process Structure , 1992 .

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

[21]  Nobuko Yoshida,et al.  Combinatory representation of mobile processes , 1994, POPL '94.

[22]  Jean-Yves Girard,et al.  Linear Logic , 1987, Theor. Comput. Sci..

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

[24]  Robin Milner,et al.  Definition of standard ML , 1990 .

[25]  Bernard Susser,et al.  Process approaches in ESL/EFL writing instruction , 1994 .

[26]  J. Hayes,et al.  A Cognitive Process Theory of Writing , 1981, College Composition & Communication.

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

[28]  Kohei Honda Notes on P-Algebra 1: Process Structure , 1994, Theory and Practice of Parallel Programming.

[29]  Yves Lafont,et al.  Interaction nets , 1989, POPL '90.

[30]  Nobuko Yoshida,et al.  Replication in Concurrent Combinators , 1994, TACS.

[31]  Rajagopal Nagarajan,et al.  Interaction categories and the foundations of typed concurrent programming , 1996, NATO ASI DPD.

[32]  Nobuko Yoshida Graph Notation for Concurrent Combinators , 1994, Theory and Practice of Parallel Programming.

[33]  Cliff B. Jones,et al.  Accommodating interference in the formal design of concurrent object-based programs , 1996, Formal Methods Syst. Des..

[34]  Cliff B. Jones,et al.  Process algebraic foundations for an object-based design notation , 1993 .