An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language

  • Gul Agha
  • Prasanna Thati
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2635)


The development of Simula by Ole-Johan Dahl and Kristen Nygaard introduced a number of important programming language concepts – object which supports modularity in programming through encapsulation of data and procedures, the concept of class which organizes behavior and supports Abstract Data Types, and the concept inheritance which provides subtyping relations and reuse [6]. Peter Wegner terms programming languages which use objects as object-based languages, and reserves the term object-oriented languages for languages which also support classes and inheritance [58].


Actor Model Operational Semantic Algebraic Theory Ontological Commitment Label Transition System 
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.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Agha, G.: Concurrent Object-Oriented Programming. Communications of the ACM 33(9), 125–141 (1990)CrossRefGoogle Scholar
  3. 3.
    Agha, G., Mason, I., Smith, S., Talcott, C.: A Foundation for Actor Computation. Journal of Functional Programming (1996)Google Scholar
  4. 4.
    Agha, G., Wegner, P., Yonezawa, A. (eds.): Proceedings of the ACM SIGPLAN workshop on object-based concurrent programming. Special issue of SIGPLAN NoticesGoogle Scholar
  5. 5.
    Astley, M., Sturman, D., Agha, G.: Customizable middleware for modular distributed software. CACM 44(5), 99–107 (2001)Google Scholar
  6. 6.
    Birtwistle, G.M., Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula Begin. Van Nostrand Reinhold, New York (1973)Google Scholar
  7. 7.
    Boreale, M., de Nicola, R., Pugliese, R.: Trace and testing equivalence on asynchronous processes. Information and Computation 172(2), 139–164 (2002)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Boreale, M., Sangiorgi, D.: Some congruence properties for π-calculus bisimilarities. Theoretical Computer Science 198 (1998)Google Scholar
  9. 9.
    Briot, J.P.: Acttalk: A framework for object-oriented concurrent programming - design and experience. In: Object-based parallel and distributed computing II - Proceedings of the 2nd France-Japan workshop (1999)Google Scholar
  10. 10.
    Clinger, W.D.: Foundations of Actor Semantics. PhD thesis, Massachusetts Institute of Technology, AI Laboratory (1981)Google Scholar
  11. 11.
    Darlington, J., Guo, Y.K.: Formalizing actors in linear logic. In: International Conference on Object-Oriented Information Systems, pp. 37–53. Springer, Heidelberg (1994)Google Scholar
  12. 12.
    de Nicola, R., Hennesy, M.: Testing equivalence for processes. Theoretical Computer Science 34, 83–133 (1984)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Dagnat, F., Pantel, M., Colin, M., Sall, P.: Typing concurrent objects and actors. In: L’Objet – Mthodes formelles pour les objets (L’OBJET), vol. 6, pp. 83–106 (2000)Google Scholar
  14. 14.
    Frolund, S.: Coordinating Distributed Objects: An Actor-Based Approach for Synchronization. MIT Press, Cambridge (1996)Google Scholar
  15. 15.
    Gaspari, M., Zavattaro, G.: An Algebra of Actors. In: Formal Methods for Open Object Based Systems (1999)Google Scholar
  16. 16.
    Greif, I.: Semantics of communicating parallel processes. Technical Report 154, MIT, Project MAC (1975)Google Scholar
  17. 17.
    Hennessy, M.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)zbMATHGoogle Scholar
  18. 18.
    Hewitt, C.: Viewing Control Structures as Patterns of Message Passing. Journal of Artificial Intelligence 8(3), 323–364 (1977)CrossRefGoogle Scholar
  19. 19.
    Hewitt, C., Bishop, P., Steiger, R.: A Universal Modular Actor Formalism for Artificial Intelligence. In: International Joint Conference on Artificial Intelligence, pp. 235–245 (1973)Google Scholar
  20. 20.
    Hoare, C.A.R.: Communication Sequential Processes. Prentice Hall, Englewood Cliffs (1985)Google Scholar
  21. 21.
    Honda, K., Tokoro, M.: An Object Calculus for Asynchronous Communication. In: America, P. (ed.) ECOOP 1991. LNCS, vol. 512, pp. 133–147. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  22. 22.
    Colao, J.-L., Pantel, M., Sall, P.: Analyse de linarit par typage dans un calcul d’acteurs primitifs. In: Actes des Journes Francophones des Langages Applicatifs, JFLA (1997)Google Scholar
  23. 23.
    Jamali, N., Thati, P., Agha, G.: An actor based architecture for customizing and controlling agent ensembles. IEEE Intelligent Systems 14(2) (1999)Google Scholar
  24. 24.
    Kale, L.V., Krishnan, S.: CHARM++: A portable concurrent object oriented system based on C++. In: Proceedings of the Conference on Object Oriented Programming Systems, Languages and Applications (1993)Google Scholar
  25. 25.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  26. 26.
    Kim, W.: ThAL: An Actor System for Efficient and Scalable Concurrent Computing. PhD thesis, University of Illinois at Urbana Champaign (1997)Google Scholar
  27. 27.
    Kim, W., Agha, G.: Efficient support of location transparency in concurrent object-oriented programming languages. In: Proceedings of SuperComputing (1995)Google Scholar
  28. 28.
    Kobayashi, N., Yonezawa, A.: Higher-order concurrent linear logic programming. Theory and Practice of Parallel Programming, 137–166 (1994)Google Scholar
  29. 29.
    Kobayashi, N., Yonezawa, A.: Towards foundations of concurrent objectoriented programming – types and language design. Theory and Practice of Object Systems 1(4) (1995)Google Scholar
  30. 30.
    Lee, E., Neuendorffer, S., Wirthlin, M.: Actor-oriented design of embedded hardware and software systems. Journal of circuits, systems, and computers (2002)Google Scholar
  31. 31.
    Maes, P.: Computational Reflection. PhD thesis, Vrije University, Brussels, Belgium, Technical Report 87-2 (1987)Google Scholar
  32. 32.
    Maes, P.: Intelligent software: Easing the burdens that computers put on people. IEEE Expert, special issue on intelligent agents (1996)Google Scholar
  33. 33.
    Martí-Oliet, N., Meseguer, J.: Rewriting logic as a logical and semantic framework (1993)Google Scholar
  34. 34.
    Mason, I.A., Talcott, C.: A semantically sound actor translation. In: Degano, P., Gorrieri, R., Marchetti-Spaccamela, A. (eds.) ICALP 1997. LNCS, vol. 1256, pp. 369–378. Springer, Heidelberg (1997)Google Scholar
  35. 35.
    Merro, M., Sangiorgi, D.: On Asynchrony in Name-Passing Calculi. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, p. 856. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  36. 36.
    Meseguer, J.: Rewriting Logic as a Unified Model of Concurrency. Technical Report SRI-CSI-90-02, SRI International, Computer Science Laboratory (February 1990)Google Scholar
  37. 37.
    Meseguer, J., Talcott, C.: Semantic models for distributed object reflection. In: Proceedings of the European Conference on Object-Oriented Programming, pp. 1–36 (2002)Google Scholar
  38. 38.
    Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)zbMATHGoogle Scholar
  39. 39.
    Milner, R.: Interactions, turing award lecture. Communications of the ACM 36(1), 79–97 (1993)CrossRefGoogle Scholar
  40. 40.
    Milner, R.: Communicating and Mobile Systems: the π-calculus. Cambridge University Press, Cambridge (1999)Google Scholar
  41. 41.
    Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (Parts I and II). Information and Computation 100, 1–77 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  42. 42.
    Miriyala, S., Agha, G., Sami, Y.: Visulatizing actor programs using predicate transition nets. Journal of Visual Programming (1992)Google Scholar
  43. 43.
    Open Systems Laboratory. The Actor Foundry: A Java based actor programming language. Available for download at
  44. 44.
    Peterson, J.L.: Petri nets. Comput. Survey (September 1977)Google Scholar
  45. 45.
    Ravara, A., Vasconcelos, V.: Typing non-uniform concurrent objects. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 474–488. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  46. 46.
    Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, Springer, Heidelberg (1992)Google Scholar
  47. 47.
    Sturman, D., Agha, G.: A protocol description language for cutomizing semantics. In: Proceedings of symposium on reliable distributed systems, pp. 148–157 (1994)Google Scholar
  48. 48.
    Talcott, C.: An Actor Rewriting Theory. Electronic Notes in Theoretical Computer Science 5 (1996)Google Scholar
  49. 49.
    Talcott, C.: Interaction Semantics for Components of Distributed Systems. In: Najm, E., Stefani, J.B. (eds.) Formal Methods for Open Object Based Distributed Systems. Chapman & Hall, Boca Raton (1996)Google Scholar
  50. 50.
    Talcott, C.: Composable semantic models for actor theories. Higher-Order and Symbolic Computation, 11(3) (1998)Google Scholar
  51. 51.
    Taura, K., Matsuoka, S., Yonezawa, A.: An efficient implementation scheme of concurrent object-oriented languages on stock multicomputers. In: Symposium on principles and practice of parallel programming (PPOPP), pp. 218–228 (1993)Google Scholar
  52. 52.
    Thati, P., Sen, K., Martí-Oliet, N.: An executable specification of asynchronous pi-calculus semantics and may testing in maude 2.0. In: 4th International Workshop on Rewriting Logic and its Applications (September 2002)Google Scholar
  53. 53.
    Thati, P., Ziaei, R., Agha, G.: A theory of may testing for actors. In: Formal Methods for Open Object-based Distributed Systems (March 2002)Google Scholar
  54. 54.
    Thati, P., Ziaei, R., Agha, G.: A theory of may testing for asynchronous calculi with locality and no name matching. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, p. 223. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  55. 55.
    Tomlinson, C., Kim, W., Schevel, M., Singh, V., Will, B., Agha, G.: Rosette: An object-oriented concurrent system architecture. Sigplan Notices 24(4), 91–93 (1989)CrossRefGoogle Scholar
  56. 56.
    Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. SIGPLAN Notices 36(12), 20–34 (2001)CrossRefGoogle Scholar
  57. 57.
    Venkatasubramanian, N., Talcott, C., Agha, G.: A formal model for reasoning about adaptive QoS-enabled middleware. In: Oliveira, J.N., Zave, P. (eds.) FME 2001. LNCS, vol. 2021, p. 197. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  58. 58.
    Wegner, P.: Dimensions of object-based language design. In: Proceedings of the Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), pp. 168–182 (1987)Google Scholar
  59. 59.
    Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. MIT Press, Cambridge (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Gul Agha
    • 1
  • Prasanna Thati
    • 1
  1. 1.University of Illinois at Urbana-ChampaignUSA

Personalised recommendations