Skip to main content

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

  • Chapter
From Object-Orientation to Formal Methods

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2635))

Abstract

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].

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 16.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)

    Google Scholar 

  2. Agha, G.: Concurrent Object-Oriented Programming. Communications of the ACM 33(9), 125–141 (1990)

    Article  Google Scholar 

  3. Agha, G., Mason, I., Smith, S., Talcott, C.: A Foundation for Actor Computation. Journal of Functional Programming (1996)

    Google Scholar 

  4. Agha, G., Wegner, P., Yonezawa, A. (eds.): Proceedings of the ACM SIGPLAN workshop on object-based concurrent programming. Special issue of SIGPLAN Notices

    Google Scholar 

  5. Astley, M., Sturman, D., Agha, G.: Customizable middleware for modular distributed software. CACM 44(5), 99–107 (2001)

    Google Scholar 

  6. Birtwistle, G.M., Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula Begin. Van Nostrand Reinhold, New York (1973)

    Google Scholar 

  7. Boreale, M., de Nicola, R., Pugliese, R.: Trace and testing equivalence on asynchronous processes. Information and Computation 172(2), 139–164 (2002)

    Article  MATH  MathSciNet  Google Scholar 

  8. Boreale, M., Sangiorgi, D.: Some congruence properties for π-calculus bisimilarities. Theoretical Computer Science 198 (1998)

    Google Scholar 

  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. Clinger, W.D.: Foundations of Actor Semantics. PhD thesis, Massachusetts Institute of Technology, AI Laboratory (1981)

    Google Scholar 

  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. de Nicola, R., Hennesy, M.: Testing equivalence for processes. Theoretical Computer Science 34, 83–133 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  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. Frolund, S.: Coordinating Distributed Objects: An Actor-Based Approach for Synchronization. MIT Press, Cambridge (1996)

    Google Scholar 

  15. Gaspari, M., Zavattaro, G.: An Algebra of Actors. In: Formal Methods for Open Object Based Systems (1999)

    Google Scholar 

  16. Greif, I.: Semantics of communicating parallel processes. Technical Report 154, MIT, Project MAC (1975)

    Google Scholar 

  17. Hennessy, M.: Algebraic Theory of Processes. MIT Press, Cambridge (1988)

    MATH  Google Scholar 

  18. Hewitt, C.: Viewing Control Structures as Patterns of Message Passing. Journal of Artificial Intelligence 8(3), 323–364 (1977)

    Article  Google Scholar 

  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. Hoare, C.A.R.: Communication Sequential Processes. Prentice Hall, Englewood Cliffs (1985)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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. Kim, W., Agha, G.: Efficient support of location transparency in concurrent object-oriented programming languages. In: Proceedings of SuperComputing (1995)

    Google Scholar 

  28. Kobayashi, N., Yonezawa, A.: Higher-order concurrent linear logic programming. Theory and Practice of Parallel Programming, 137–166 (1994)

    Google Scholar 

  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. 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. Maes, P.: Computational Reflection. PhD thesis, Vrije University, Brussels, Belgium, Technical Report 87-2 (1987)

    Google Scholar 

  32. Maes, P.: Intelligent software: Easing the burdens that computers put on people. IEEE Expert, special issue on intelligent agents (1996)

    Google Scholar 

  33. Martí-Oliet, N., Meseguer, J.: Rewriting logic as a logical and semantic framework (1993)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  39. Milner, R.: Interactions, turing award lecture. Communications of the ACM 36(1), 79–97 (1993)

    Article  Google Scholar 

  40. Milner, R.: Communicating and Mobile Systems: the π-calculus. Cambridge University Press, Cambridge (1999)

    Google Scholar 

  41. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes (Parts I and II). Information and Computation 100, 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  42. Miriyala, S., Agha, G., Sami, Y.: Visulatizing actor programs using predicate transition nets. Journal of Visual Programming (1992)

    Google Scholar 

  43. Open Systems Laboratory. The Actor Foundry: A Java based actor programming language. Available for download at http://www-osl.cs.uiuc.edu/foundry

  44. Peterson, J.L.: Petri nets. Comput. Survey (September 1977)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  46. Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, Springer, Heidelberg (1992)

    Google Scholar 

  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. Talcott, C.: An Actor Rewriting Theory. Electronic Notes in Theoretical Computer Science 5 (1996)

    Google Scholar 

  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. Talcott, C.: Composable semantic models for actor theories. Higher-Order and Symbolic Computation, 11(3) (1998)

    Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  56. Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with SALSA. SIGPLAN Notices 36(12), 20–34 (2001)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Yonezawa, A.: ABCL: An Object-Oriented Concurrent System. MIT Press, Cambridge (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Agha, G., Thati, P. (2004). An Algebraic Theory of Actors and Its Application to a Simple Object-Based Language. In: Owe, O., Krogdahl, S., Lyche, T. (eds) From Object-Orientation to Formal Methods. Lecture Notes in Computer Science, vol 2635. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39993-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39993-3_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21366-6

  • Online ISBN: 978-3-540-39993-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics