Towards a theory of actor computation

Extended abstract
  • Gul Agha
  • Ian A. Mason
  • Scott Smith
  • Carolyn Talcott
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 630)


In this paper we present preliminary results of a rigorous development of the actor model of computation. We present an actor language which is an extension of a simple functional language, and provide a precise operational semantics for this extension. Our actor systems are open distributed systems, meaning we explicitly take into account the interface with external components in the specification of an actor system. We define and study various notions of equivalence on actor expressions and systems. We show that the usual tripartite family of testing equivalence relations collapses to two in the presence of fairness. We define a notion of operational bisimulation as a tool for establishing equivalence under fairness assumptions, and illustrate its use.


Actor Address External Actor Operational Semantic Actor Expression Computation Tree 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, Mass., 1986.Google Scholar
  2. [2]
    Gul Agha. Concurrent object-oriented programming. Communications of the ACM, 33(9):125–141, September 1990.CrossRefGoogle Scholar
  3. [3]
    D. Berry, R. Milner, and D.N. Turner. A semantics for ML concurrency primitives. In Conference record of the 19th annual ACM symposium on principles of programming languages, pages 105–129, 1992.Google Scholar
  4. [4]
    R. de Nicola and M. C. B. Hennessy. Testing equivalences for processes. Theoretical Computer Science, 34:83–133, 1984.zbMATHMathSciNetCrossRefGoogle Scholar
  5. [5]
    C. Hewitt. Viewing control structures as patterns of passing messages. Journal of Artificial Intelligence, 8(3), 1977.Google Scholar
  6. [6]
    C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  7. [7]
    I. A. Mason and C. L. Talcott. Equivalence in functional languages with effects. Journal, of Functional Programming, 1:287–327, 1991.zbMATHMathSciNetCrossRefGoogle Scholar
  8. [8]
    R. Milner, J. G. Parrow, and D. J. Walker. A calculus of mobile processes, parts i and ii. Technical Report ECS-LFCS-89-85,-86, Edinburgh University, 1989.Google Scholar
  9. [9]
    G. Plotkin. Call-by-name, call-by-value and the lambda-v-calculus. Theoretical Computer Science, 1:125–159, 1975.zbMATHMathSciNetCrossRefGoogle Scholar
  10. [10]
    J. H. Reppy. An operational semantics of first-class synchronous operations. Technical Report TR 91-1232, Cornell University, 1991.Google Scholar
  11. [11]
    C. L. Talcott. A theory for program and data specification. In Design and Implementation of Symbolic Computation Systems. DISCO'90, volume 429 of Lecture Notes in Computer Science. Springer-Verlag, 1990. full version to appear in TCS special issue.Google Scholar
  12. [12]
    A. Yonezawa. ABCL: An Object-Oriented. Concurrent System. MIT Press, Cambridge Mass., 1990.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1992

Authors and Affiliations

  • Gul Agha
    • 1
  • Ian A. Mason
    • 2
  • Scott Smith
    • 3
  • Carolyn Talcott
    • 4
  1. 1.University of IllinoisUSA
  2. 2.Stanford UniversityUSA
  3. 3.Johns Hopkins UniversityUSA
  4. 4.Stanford UniversityUSA

Personalised recommendations