Skip to main content

Towards an object calculus

  • Conference paper
  • First Online:

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

Abstract

The development of concurrent object-based programming languages has suffered from the lack of any generally accepted formal foundations for defining their semantics. Furthermore, the delicate relationship between object-oriented features supporting reuse and operational features concerning interaction and state change is poorly understood in a concurrent setting. To address this problem, we propose the development of an object calculus, borrowing heavily from relevant work in the area of process calculi. To this end, we briefly review some of this work, we pose some informal requirements for an object calculus, and we present the syntax, operational semantics and use through examples of a proposed object calculus, called OC.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G.A. Agha, ACTORS: A Model of Concurrent Computation in Distributed Systems, The MIT Press, Cambridge, Massachusetts, 1986.

    Google Scholar 

  2. C. Alexander, S. Ishakawa and M. Silverstein, A Pattern Language, Oxford University Press, New York, 1977.

    Google Scholar 

  3. P. America, J. de Bakker, J.N. Kok and J. Rutten, “Operational Semantics of a Parallel Object-Oriented Language,” in Proceedings POPL '86, pp. 194–208, St. Petersburg Beach, Florida, Jan 13–15, 1986.

    Google Scholar 

  4. P. America, J. de Bakker, J. Kok and J. Rutten, “Denotational Semantics of a Parallel Object-Oriented Language,” Information and Computation, vol. 83, no. 2, pp. 152–205, Nov 1989.

    Google Scholar 

  5. P. America, “A Parallel Object-Oriented Language with Inheritance and Subtyping,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 161–168, Oct 1990.

    Google Scholar 

  6. H.P. Barendregt, The Lambda Calculus — Its Syntax and Semantics, Studies in Logic and the Foundations of Mathematics, 103, North-Holland, 1984, (Revised edition).

    Google Scholar 

  7. G. Berry and G. Boudol, “The Chemical Abstract Machine,” in Proceedings POPL '90, pp. 81–94, San Francisco, Jan 17–19, 1990.

    Google Scholar 

  8. G. Boudol, “Towards a Lambda-Calculus for Concurrent and Communicating Systems,” in Proceedings TAPSOFT '89, ed. Díaz and Orejas, LNCS 351, pp. 149–161, Springer-Verlag, 1989.

    Google Scholar 

  9. G. Bracha and Wm. Cook, “Mixin-based Inheritance,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 303–311, Oct 1990.

    Google Scholar 

  10. L. Cardelli, “A Semantics of Multiple Inheritance,” Information and Computation, vol. 76, pp. 138–164, 1988.

    Google Scholar 

  11. N. Carriero and D. Gelernter, “How to Write Parallel Programs: A Guide to the Perplexed,” ACM Computing Surveys, vol. 21, no. 3, pp. 323–357, Sept 1989.

    Google Scholar 

  12. W.D. Clinger, “Foundations of Actor Semantics,” AI-TR-633, MIT Artificial Intelligence Laboratory, May 1981.

    Google Scholar 

  13. Wm. Cook, “A Denotational Semantics of Inheritance,” ACM SIGPLAN Notices, Proceedings OOPSLA '89, vol. 24, no. 10, pp. 433–443, Oct 1989.

    Google Scholar 

  14. Wm. Cook, W. Hill and P. Canning, “Inheritance is not Subtyping,” in Proceedings POPL '90, San Francisco, Jan 17–19, 1990.

    Google Scholar 

  15. U. Engberg and M. Nielsen, “A Calculus of Communicating Systems with Label Passing,” DAIMI PB-208, University of Aarhus, 1986.

    Google Scholar 

  16. R. Helm, I.M. Holland and D. Gangopadhyay, “Contracts: Specifying Behavioural Compositions in Object-Oriented Systems,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 169–180, Oct 1990.

    Google Scholar 

  17. A.V. Hense, “Denotational Semantics of an Object Oriented Programming Language with Explicit Wrappers,” Technical report A11/90, FB 14, Universität des Saarlandes, Nov. 5, 1990, submitted for publication.

    Google Scholar 

  18. C. Hewitt, “Viewing Control Structures as Patterns of Passing Messages,” Artificial Intelligence, vol. 8, no. 3, pp. 323–364, June 1977.

    Google Scholar 

  19. C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall, 1985.

    Google Scholar 

  20. K. Honda and M. Tokoro, “An Object Calculus for Asynchronous Communication,” in Proceedings ECOOP '91, ed. P. America, LNCS 512, pp. 133–147, Springer-Verlag, Geneva, Switzerland, July 15–19, 1991.

    Google Scholar 

  21. K. Honda and M. Tokoro, “On Asynchronous Communication Semantics,” in Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing, ed. M. Tokoro, O. Nierstrasz, P. Wegner, A. Yonezawa, LNCS, Springer-Verlag, Geneva, Switzerland, July 15–16, 1991, to appear.

    Google Scholar 

  22. D.G. Kafura and K.H. Lee, “Inheritance in Actor Based Concurrent Object-Oriented Languages,” in Proceedings ECOOP '89, pp. 131–145, Cambridge University Press, Nottingham, July 10–14, 1989.

    Google Scholar 

  23. J. Meseguer, “A Logical Theory of Concurrent Objects,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 101–115, Oct 1990.

    Google Scholar 

  24. R. Milner, Communication and Concurrency, Prentice-Hall, 1989.

    Google Scholar 

  25. R. Milner, J. Parrow and D. Walker, “A Calculus of Mobile Processes, Parts I and II,” Reports ECS-LFCS-89-85 and-86, Computer Science Dept., University of Edinburgh, March 1989.

    Google Scholar 

  26. R. Milner, “Functions as Processes,” in Proceedings ICALP '90, ed. M.S. Paterson, LNCS 443, pp. 167–180, Springer-Verlag, Warwick U., July 1990.

    Google Scholar 

  27. R. Milner, “Sorts and Types in the π Calculus,” manuscript (RM15), Computer Science Dept., University of Edinburgh, December 1990.

    Google Scholar 

  28. F. Nielson, “The Typed Lambda-Calculus with First-Class Processes,” in Proceedings PARLE '89, Vol II, ed. E. Odijk, J-C. Syre, LNCS 366, pp. 357–373, Springer Verlag, Eindhoven, June 1989.

    Google Scholar 

  29. O.M. Nierstrasz and M. Papathomas, “Viewing Objects as Patterns of Communicating Agents,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 38–43, Oct 1990.

    Google Scholar 

  30. O.M. Nierstrasz, “A Guide to Specifying Concurrent Behaviour with Abacus,” in Object Management, ed. D.C. Tsichritzis, pp. 267–293, Centre Universitaire d'Informatique, University of Geneva, July 1990.

    Google Scholar 

  31. O.M. Nierstrasz and M. Papathomas, “Towards a Type Theory for Active Objects,” ACM OOPS Messenger, Proceedings OOPSLA/ECOOP 90 workshop on Object-Based Concurrent Systems, vol. 2, no. 2, pp. 89–93, April 1991.

    Google Scholar 

  32. O. Nierstrasz, “The Next 700 Concurrent Object-Oriented Languages—Reflections on the Future of Object-Based Concurrency,” in Object Composition, ed. D.C. Tsichritzis, pp. 165–187, Centre Universitaire d'Informatique, University of Geneva, June 1991, Submitted for publication.

    Google Scholar 

  33. M. Papathomas,“Concurrency Issues in Object-Oriented Programming Languages,” in Object Oriented Development, ed. D.C. Tsichritzis, pp. 207–245, Centre Universitaire d'Informatique, University of Geneva, July 1989.

    Google Scholar 

  34. M. Papathomas,“A Unifying Framework for Process Calculus Semantics of Concurrent Object-Based Languages,” in Proceedings of the ECOOP '91 Workshop on Object-Based Concurrent Computing, ed. M. Tokoro, O. Nierstrasz, P. Wegner, A. Yonezawa, LNCS, Springer-Verlag, Geneva, Switzerland, July 15–16, 1991, to appear.

    Google Scholar 

  35. R.K. Raj and H.M. Levy,“A Compositional Model for Software Reuse,” in Proceedings ECOOP '89, pp. 3–24, Cambridge University Press, Nottingham, July 10–14, 1989.

    Google Scholar 

  36. D. Sangiorgi, forthcoming Ph.D. thesis, Computer Science Dept., University of Edinburgh, 1992.

    Google Scholar 

  37. D. Taenzer, M. Ganti and S. Podar,“Problems in Object-Oriented Software Reuse,” in Proceedings ECOOP '89, pp. 25–38, Cambridge University Press, Nottingham, July 10–14, 1989.

    Google Scholar 

  38. B. Thomsen,“A Calculus of Higher Order Communicating Systems,” in Proceedings POPL '89, pp. 143–154, Austin, Texas, Jan 11–13, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oscar Nierstrasz .

Editor information

M. Tokoro O. Nierstrasz P. Wegner

Rights and permissions

Reprints and permissions

Copyright information

© 1992 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nierstrasz, O. (1992). Towards an object calculus. In: Tokoro, M., Nierstrasz, O., Wegner, P. (eds) Object-Based Concurrent Computing. ECOOP 1991. Lecture Notes in Computer Science, vol 612. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55613-3_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-55613-3_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-55613-8

  • Online ISBN: 978-3-540-47260-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics