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, objects and 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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Pierre America, Jaco de Bakker, Joost N. Kok, and Jan Rutten. Operational semantics of a parallel object-oriented language. InConference 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. InWorkshop on Inheritance Hierarchies in Knowledge Representation and Programming Languages, Viareggio, Italy, February 6–8, 1989. Wiley. Also appeared inPhilips 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 J.W. de Bakker, W.P. de Roever and G. Rozenberg, editors,Proceedings REX/FOOL Workshop on the Foundations of Object-Oriented Languages, 60–90. Springer LNCS 489, 1991.
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. In J.C.M. Baeten, editor,Applications of process algebra, 173–236. Cambridge Tracts in Theoretical Computer Science 17, Cambridge University Press, 1990.
Author information
Authors and Affiliations
Additional information
This paper describes work done in ESPRIT Basic Research Action 3020,Integration.
Rights and permissions
About this article
Cite this article
America, P., Rutten, J. A layered semantics for a parallel object-oriented language. Formal Aspects of Computing 4, 376–408 (1992). https://doi.org/10.1007/BF01211312
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01211312