Skip to main content
Log in

Equivalence of formal semantics definition methods

  • Published:
Formal Aspects of Computing

Abstract

There are numerous methods of formally defining the semantics of computer languages. Each method has been designed to fulfil a different purpose. For example, some have been designed to make reasoning about languages as easy as possible; others have been designed to be accessible to a large audience and some have been designed to ease implementation of languages. Given two semantics definitions of a language written using two separate semantics definition methods, we must be able to show that the two are in fact equivalent. If we cannot do this then we either have an error in one of the semantics definitions, or more seriously we have a problem with the semantics definition methods themselves.

Three methods of defining the semantics of computer languages have been considered, i.e. Denotational Semantics, Structural Operational Semantics and Action Semantics. An equivalence between these three is shown for a specific example language by first defining its semantics using each of the three definition methods. The proof of the equivalence is then constructed by selecting pairs of the semantics definitions and showing that they define the same language.

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. Baker-Finch, C. A.: Algebraic, Operational and Denotational Semantics of the Lambda Calculus.The Australian Computer Journal, 16(3), 96–101, 1984.

    Google Scholar 

  2. Burstall, R. M.: Proving properties of programs by structural induction.Computer Journal, 12, 41–48, 1969.

    Google Scholar 

  3. Gordon, M. J. C.:The Denotational Description of Programming Languages: An Introduction. Springer-Verlag, 1979.

  4. Hennessy, M:The Semantics of Programming Languages: An Elementary Introduction using Structural Operational Semantics. John Wiley & Sons, 1990.

  5. Hoare, C. A. R. and Lauer, P. E.: Consistent and Complementary Formal Theories of the Semantics of Programming Languages.Acta Informatica, 3, 135–153, 1974.

    Google Scholar 

  6. Milne, R. and Strachey, C:A Theory of Programming Language Semantics. Chapman and Hall, 1976.

  7. Mosses, P. D.:Action Semantics. Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, 1992.

  8. Plotkin, G. D.:A Structural Approach to Operational Semantics. Report DAIMI FN-19, Computer Science Department, Aarhus University, Ny Munkegade, Building 540, DK-8000, Aarhus C, Denmark, 1981.

    Google Scholar 

  9. Watt, D. A.:Programming Language Syntax and Semantics. Prentice Hall, 1991.

  10. Winskel, G.:The Formal Semantics of Programming Languages: An Introduction. The MIT Press, 1993.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to M. J. A. Caswell.

Additional information

A full version of this paper can be accessed via our web page http://www.cs.man.ac.uk/fmethods/ facj.html

Rights and permissions

Reprints and permissions

About this article

Cite this article

Caswell, M.J.A. Equivalence of formal semantics definition methods. Formal Aspects of Computing 9, 68–77 (1997). https://doi.org/10.1007/BF01212525

Download citation

  • Received:

  • Accepted:

  • Issue Date:

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

Keywords

Navigation