Most undergraduate courses on formal semantics are based on conventional Structural Operational Semantics (SOS) and/or Denotational Semantics. Typically, they give semantic descriptions of a series of small programming languages, starting from a very simple one, and subsequently extending it with various new features. For each extension, however, it is usually necessary to revisit the description of the constructs of the initial language, and reformulate it to take account of the new features – although the required reformulation is often so routine that it may be left as an exercise. In contrast, a course based on Modular SOS gives an independent description of each language construct, and no reformulation at all is needed when adding new features. Such a course has been given for 3rd-year undergraduates at the University of Aarhus, Denmark, 2001–2004. A further novelty of the course was to use substantial fragments of a real programming language (Standard ML) for illustration and exercises. Moreover, tool support for Modular SOS enabled the students to add their own descriptions of new constructs to a given language description, and to check empirically whether the resulting semantics of programs in the extended language was as intended.
Content
Author and article information
Contributors
Peter D. Mosses
Conference
Publication date:
December
2006
Publication date
(Print):
December
2006
Pages: 1-6
Affiliations
[0001]Department of Computer Science, Swansea University
Singleton Park, Swansea, SA2 8PP, UK
www.cs.swan.ac.uk/~cspdm