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.
References
G.A. Agha, ACTORS: A Model of Concurrent Computation in Distributed Systems, The MIT Press, Cambridge, Massachusetts, 1986.
C. Alexander, S. Ishakawa and M. Silverstein, A Pattern Language, Oxford University Press, New York, 1977.
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.
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.
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.
H.P. Barendregt, The Lambda Calculus — Its Syntax and Semantics, Studies in Logic and the Foundations of Mathematics, 103, North-Holland, 1984, (Revised edition).
G. Berry and G. Boudol, “The Chemical Abstract Machine,” in Proceedings POPL '90, pp. 81–94, San Francisco, Jan 17–19, 1990.
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.
G. Bracha and Wm. Cook, “Mixin-based Inheritance,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 303–311, Oct 1990.
L. Cardelli, “A Semantics of Multiple Inheritance,” Information and Computation, vol. 76, pp. 138–164, 1988.
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.
W.D. Clinger, “Foundations of Actor Semantics,” AI-TR-633, MIT Artificial Intelligence Laboratory, May 1981.
Wm. Cook, “A Denotational Semantics of Inheritance,” ACM SIGPLAN Notices, Proceedings OOPSLA '89, vol. 24, no. 10, pp. 433–443, Oct 1989.
Wm. Cook, W. Hill and P. Canning, “Inheritance is not Subtyping,” in Proceedings POPL '90, San Francisco, Jan 17–19, 1990.
U. Engberg and M. Nielsen, “A Calculus of Communicating Systems with Label Passing,” DAIMI PB-208, University of Aarhus, 1986.
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.
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.
C. Hewitt, “Viewing Control Structures as Patterns of Passing Messages,” Artificial Intelligence, vol. 8, no. 3, pp. 323–364, June 1977.
C.A.R. Hoare, Communicating Sequential Processes, Prentice-Hall, 1985.
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.
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.
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.
J. Meseguer, “A Logical Theory of Concurrent Objects,” ACM SIGPLAN Notices, Proceedings OOPSLA/ECOOP '90, vol. 25, no. 10, pp. 101–115, Oct 1990.
R. Milner, Communication and Concurrency, Prentice-Hall, 1989.
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.
R. Milner, “Functions as Processes,” in Proceedings ICALP '90, ed. M.S. Paterson, LNCS 443, pp. 167–180, Springer-Verlag, Warwick U., July 1990.
R. Milner, “Sorts and Types in the π Calculus,” manuscript (RM15), Computer Science Dept., University of Edinburgh, December 1990.
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.
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.
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.
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.
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.
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.
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.
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.
D. Sangiorgi, forthcoming Ph.D. thesis, Computer Science Dept., University of Edinburgh, 1992.
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.
B. Thomsen,“A Calculus of Higher Order Communicating Systems,” in Proceedings POPL '89, pp. 143–154, Austin, Texas, Jan 11–13, 1989.
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights 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