Skip to main content

On the action semantics of concurrent programming languages

  • Conference paper
  • First Online:
Book cover Semantics: Foundations and Applications (REX 1992)

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

  • 178 Accesses

Abstract

Action semantics is a framework for semantic description of programming languages. In this framework, actions are semantic entities, used to represent the potential behaviour of programs—also the contributions that parts of programs make to such behaviour. The notation for expressing actions, called action notation, is combinator-based. It is used in much the same way that lambda-notation is used in denotational semantics. However, the essence of action notation is operational, rather than mathematical, and its meaning is formally defined by a structural operational semantics together with a bisimulation equivalence.

This paper briefly motivates action semantics, and explains the basic concepts. It then illustrates the use of the framework by giving an action semantic description of a small example language. This language includes a simple form of concurrency: tasks that may synchronize by means of rendezvous. The paper also discusses the operational semantics of action notation, focusing on the primitive actions that represent asynchronous message transmission and process initiation.

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. E. Astesiano. Inductive and operational semantics. In E. J. Neuhold and M. Paul, editors, Formal Description of Programming Concepts, IFIP State-of-the-Art Report, pages 51–136. Springer-Verlag, 1991.

    Google Scholar 

  2. D. Goodman. The Complete HyperCard Handbook. Bantam, 1987.

    Google Scholar 

  3. C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21:666–677, 1978.

    Google Scholar 

  4. C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

    Google Scholar 

  5. G. Kahn. Natural semantics. In STACS'87, Proc. Symp. on Theoretical Aspects of Computer Science, number 247 in Lecture Notes in Computer Science. Springer-Verlag, 1987.

    Google Scholar 

  6. P. Krishnan and P. D. Mosses. Specifying asynchronous transfer of control. In RTFT'92, Proc. Symp. on Formal Techniques in Real-Time and Fault-Tolerant Systems, Delft, number 571 in Lecture Notes in Computer Science. Springer-Verlag, 1992.

    Google Scholar 

  7. R. Milner. A Calculus of Communicating Systems. Number 92 in Lecture Notes in Computer Science. Springer-Verlag, 1980.

    Google Scholar 

  8. R. Milner. Communication and Concurrency. Prentice-Hall, 1989.

    Google Scholar 

  9. R. Milner. Operational and algebraic semantics of concurrent processes. In J.van Leeuwen, A. Meyer, M. Nivat, M. Paterson, and D. Perrin, editors, Handbook of Theoretical Computer Science, volume B, chapter 19. Elsevier Science Publishers, Amsterdam; and MIT Press, 1990.

    Google Scholar 

  10. P. D. Mosses. Denotational semantics. In J. van Leeuwen, A. Meyer, M. Nivat, M. Paterson, and D. Perrin, editors, Handbook of Theoretical Computer Science, volume B, chapter 11. Elsevier Science Publishers, Amsterdam; and MIT Press, 1990.

    Google Scholar 

  11. P. D. Mosses. A practical introduction to denotational semantics. In E. J. Neuhold and M. Paul, editors, Formal Description of Programming Concepts, IFIP State-of-the-Art Report, pages 1–49. Springer-Verlag, 1991.

    Google Scholar 

  12. P. D. Mosses. Action Semantics. Number 26 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992.

    Google Scholar 

  13. G. D. Plotkin. A structural approach to operational semantics. Lecture Notes DAIMI FN-19, Computer Science Dept., Aarhus University, 1981. Now available only from University of Edinburgh.

    Google Scholar 

  14. D. A. Watt. Programming Language Syntax and Semantics. Prentice-Hall, 1991.

    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

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Mosses, P.D. (1993). On the action semantics of concurrent programming languages. In: de Bakker, J.W., de Roever, W.P., Rozenberg, G. (eds) Semantics: Foundations and Applications. REX 1992. Lecture Notes in Computer Science, vol 666. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56596-5_42

Download citation

  • DOI: https://doi.org/10.1007/3-540-56596-5_42

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56596-3

  • Online ISBN: 978-3-540-47595-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics