An Algebra of Actors

We introduce an actor language following a "process algebra" style. The idea is to define a formalism that enjoys a clean formal definition allowing the reuse of the rich algebraic theory typical of process algebras in a context where an high level object oriented programming style is preserved. We provide an operational semantics based on a labelled transition system which allows to discuss, e.g., how different notions of equivalence, such as standard and asynchronous bisimulation, map in the actor model. To illustrate the expressive power of the language, we provide an encoding of the asynchronous pi-calculus and several programming examples. Finally, we define a simple object oriented notation and we provide a specification of the Hurried Philosophers case study.

[1]  Gianluigi Zavattaro,et al.  An Actor Algebra for Specifying Distributed Systems: The Hurried Philosophers Case Study , 2001, Concurrent Object-Oriented Programming and Petri Nets.

[2]  Catuscia Palamidessi,et al.  Comparing the expressive power of the synchronous and the asynchronous π-calculus , 1998, POPL '97.

[3]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[4]  Gul A. Agha,et al.  Concurrent object-oriented programming , 1993, CACM.

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

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

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

[8]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

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

[10]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[11]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[12]  Elie Najm,et al.  Computational models for open distributed systems , 1997 .

[13]  Thorsten von Eicken,et al.  技術解説 IEEE Computer , 1999 .

[14]  Carolyn L. Talcott,et al.  A Semantically Sound Actor Tranlsation , 1997, ICALP.

[15]  Marc A. Hamilton Java and the Shift to Net-Centric Computing , 1996, Computer.

[16]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[17]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[18]  Mario Tokoro,et al.  An Object Calculus for Asynchronous Communication , 1991, ECOOP.

[19]  Vasco Thudichum Vasconcelos,et al.  Typed Concurrent Objects , 1994, ECOOP.

[20]  Joost Engelfriet,et al.  Net-based description of parallel object based mechanisms , 1991 .

[21]  Richard E. Zultner,et al.  TQM for technical teams , 1993, CACM.

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

[23]  Carolyn L. Talcott,et al.  An actor rewriting theory , 1996, WRLA.

[24]  Martín Abadi,et al.  An Imperative Object Calculus , 1995, TAPSOFT.

[25]  Robin Milner,et al.  Elements of interaction: Turing award lecture , 1993, CACM.

[26]  Edward Yourdon Java, the Web, and Software Development , 1996, Computer.

[27]  Pierre America,et al.  A Layered Semantics for a Parallel Object-Oriented Language , 1990, REX Workshop.

[28]  Carolyn L. Talcott,et al.  Interaction Semantics for Components of Distributed Systems , 1997 .

[29]  Gérard Boudol,et al.  Asynchrony and the Pi-calculus , 1992 .

[30]  Reid G. Smith,et al.  The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver , 1980, IEEE Transactions on Computers.

[31]  David Walker,et al.  Pi-Calculus Semantics of Object-Oriented Programming Languages , 1991, TACS.

[32]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[33]  Elie Najm,et al.  Invited Paper — Computational models for open distributed systems , 1997 .

[34]  Robin Milner,et al.  Elements of interaction , 1993 .

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

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

[37]  Carolyn L. Talcott,et al.  Towards a Theory of Actor Computation , 1992, CONCUR.

[38]  Mauro Gaspari,et al.  Concurrency and Knowledge-Level Communication in Agent Languages , 1998, Artif. Intell..