On the Action Semantics of Concurrent Programming Languages

Authors

  • Peter D. Mosses

DOI:

https://doi.org/10.7146/dpb.v21i424.6738

Abstract

Action semantics is a framework for semantic description of prograrnming 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.

Author Biography

Peter D. Mosses

Downloads

Published

1992-11-01

How to Cite

Mosses, P. D. (1992). On the Action Semantics of Concurrent Programming Languages. DAIMI Report Series, 21(424). https://doi.org/10.7146/dpb.v21i424.6738