Integrated Operational Semantics: Small-Step, Big-Step and Multi-step
Plotkin’s structural operational semantics provides a tried and tested method for defining the semantics of a programming language via sets of rules that define valid transitions between program configurations. Mosses’ modular structural operational semantics (MSOS) recasts the approach by making use of rules consisting of labelled transitions, allowing a more modular approach to defining language semantics. MSOS can be adapted by using “syntactic” labels that allow local variables and aliasing to be defined without augmenting the semantics with environments and locations. The syntactic labels allow both state-based constructs of imperative languages and event-based constructs of process algebras to the specified in an integrated manner.
To illustrate the integrated approach we compare its rules with Plotkin’s original rules for both small-step and big-step operational semantics. One issue that arises is that defining concurrency requires the use of a small-step approach to handle interleaving, while defining a specification command requires a big-step approach. The integrated approach can be generalised to use a sequence of (small) steps as a label; we call this a multi-step operational semantics. This approach allows both concurrency and non-atomic specification commands to be defined.
KeywordsOperational Semantic Label Transition System Process Algebra Binary Expression Imperative Language
Unable to display preview. Download preview PDF.
- 2.Back, R.-J.R., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer (1998)Google Scholar
- 6.Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985)Google Scholar
- 8.Milner, A.J.R.G.: Communication and Concurrency. Prentice-Hall (1989)Google Scholar
- 9.Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice Hall (1994)Google Scholar