Abstract
We develop a denotational semantics for POOL, a parallel object-oriented programming language. The main contribution of this semantics is an accurate mathematical model of the most important concept in object-oriented programming: the object. This is achieved by structuring the semantics in layers working at three different levels: for statements, for objects, and for programs. For each of these levels we define a specialized mathematical domain of processes, which we use to assign a meaning to each language construct. This is done in the mathematical framework of complete metric spaces. We also define operators that translate between these domains. At the program level we give a precise definition of the observable input/output behaviour of a particular program, which could be used at a later stage to decide the issue of full abstractness. We illustrate our semantic techniques by first applying them to a toy language similar to CSP.
This paper describes work done in ESPRIT Basic Research Action 3020, Integration.
Preview
Unable to display preview. Download preview PDF.
References
Pierre America, Jaco de Bakker, Joost N. Kok, and Jan Rutten. Operational semantics of a parallel object-oriented language. In Conference Record of the 13th Symposium on Principles of Programming Languages, St. Petersburg, Florida, January 13–15, 1986, 194–208.
Pierre America, Jaco de Bakker, Joost N. Kok, and Jan Rutten. Denotational semantics of a parallel object-oriented language. Information and Computation, 83(2):152–205, November 1989.
Pierre America. POOL-T: A parallel object-oriented language. In Akinori Yonezawa and Mario Tokoro, editors, Object-Oriented Concurrent Programming, 199–220. MIT Press, 1987.
Pierre America. A behavioural approach to subtyping in object-oriented programming languages. In Workshop on Inheritance Hierarchies in Knowledge Representation and Programming Languages, Viareggio, Italy, February 6–8, 1989. Wiley. Also appeared in Philips Journal of Research, 44(2/3):365–383, July 1989.
Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4):366–411, 1989.
Pierre America. The practical importance of formal semantics. In J.W. Klop, J.-J. Ch. Meyer, and J. J. M. M. Rutten, editors, J. W. de Bakker, 25 Jaar Semantiek, Liber Amicorum, 31–40. Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, April 1989.
Pierre America. Designing an Object-Oriented Programming Language with Behavioural Subtyping. In this volume.
ANSI. The Programming Language Ada Reference Manual, ANSI/MIL-STD-1815A-1983, approved 17 February 1983. Lecture Notes in Computer Science, Vol. 155, Springer, 1983.
Pierre America and Jan Rutten. Solving reflexive domain equations in a category of complete metric spaces. Journal of Computer and System Sciences, 39(3):343–375, December 1989.
J. W. de Bakker and J. I. Zucker. Processes and the denotational semantics of concurrency. Information and Control, 54:70–120, 1982.
J. Dugundji. Topology. Allyn and Bacon, Boston, Massachusetts, 1966.
R. Engelking. General Topology. Revised and completed version. Sigma Series in Pure Mathematics, Vol. 6, Heldermann, Berlin, 1989.
Michael J. C. Gordon. The Denotational Description of Programming Languages: An Introduction. Springer, 1979.
C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, August 1978.
E. Michael. Topologies on spaces of subsets. Transactions of the AMS, 71:152–182, 1951.
Saunders Mac Lane. Categories for the Working Mathematician. Graduate Texts in Mathematics, Vol. 5, Springer, 1971.
Gordon D. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Aarhus University, Computer Science Department, Aarhus, Denmark, September 1981.
Jan Rutten. Semantic correctness for a parallel object-oriented language. SIAM Journal on Computing, 19(3):341–383, 1990.
Frits W. Vaandrager. Process algebra semantics for POOL. Report CS-R8629, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, August 1986.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
America, P., Rutten, J. (1991). A layered semantics for a parallel object-oriented language. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Foundations of Object-Oriented Languages. REX 1990. Lecture Notes in Computer Science, vol 489. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0019441
Download citation
DOI: https://doi.org/10.1007/BFb0019441
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53931-5
Online ISBN: 978-3-540-46450-1
eBook Packages: Springer Book Archive