Skip to main content

A layered semantics for a parallel object-oriented language

  • Technical Contributions
  • Conference paper
  • First Online:
Foundations of Object-Oriented Languages (REX 1990)

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

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

  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.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  19. Frits W. Vaandrager. Process algebra semantics for POOL. Report CS-R8629, Centre for Mathematics and Computer Science, Amsterdam, the Netherlands, August 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. W. de Bakker W. P. de Roever G. Rozenberg

Rights and permissions

Reprints 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

Publish with us

Policies and ethics