Skip to main content
Log in

A layered semantics for a parallel object-oriented language

  • Published:
Formal Aspects of Computing

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

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

    Google Scholar 

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

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

  5. Pierre America. Issues in the design of a parallel object-oriented language.Formal Aspects of Computing, 1(4):366–411, 1989.

    Google Scholar 

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

    Google Scholar 

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

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

    Google Scholar 

  9. J. W. de Bakker and J. I. Zucker. Processes and the denotational semantics of concurrency.Information and Control, 54:70–120, 1982.

    Google Scholar 

  10. J. Dugundji.Topology. Allyn and Bacon, Boston, Massachusetts, 1966.

    Google Scholar 

  11. R. Engelking.General Topology. Revised and completed version. Sigma Series in Pure Mathematics, Vol. 6, Heldermann, Berlin, 1989.

    Google Scholar 

  12. Michael J. C. Gordon.The Denotational Description of Programming Languages: An Introduction. Springer, 1979.

  13. C. A. R. Hoare. Communicating sequential processes.Communications of the ACM, 21(8):666–677, August 1978.

    Google Scholar 

  14. E. Michael. Topologies on spaces of subsets.Transactions of the AMS, 71:152–182, 1951.

    Google Scholar 

  15. Saunders Mac Lane.Categories for the Working Mathematician. Graduate Texts in Mathematics, Vol. 5, Springer, 1971.

  16. Gordon D. Plotkin. A structural approach to operational semantics. Report DAIMI FN-19, Aarhus University, Computer Science Department, Aarhus, Denmark, September 1981.

    Google Scholar 

  17. Jan Rutten. Semantic correctness for a parallel object-oriented language.SIAM Journal on Computing, 19(3):341–383, 1990.

    Google Scholar 

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

Download references

Author information

Authors and Affiliations

Authors

Additional information

This paper describes work done in ESPRIT Basic Research Action 3020,Integration.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01211312

Keywords

Navigation