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.
Preview
Unable to display preview. Download preview PDF.
References
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.
D. Goodman. The Complete HyperCard Handbook. Bantam, 1987.
C. A. R. Hoare. Communicating sequential processes. Commun. ACM, 21:666–677, 1978.
C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
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.
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.
R. Milner. A Calculus of Communicating Systems. Number 92 in Lecture Notes in Computer Science. Springer-Verlag, 1980.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
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.
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.
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.
P. D. Mosses. Action Semantics. Number 26 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992.
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.
D. A. Watt. Programming Language Syntax and Semantics. Prentice-Hall, 1991.
Author information
Authors and Affiliations
Editor information
Rights 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