Integrated operational semantics: small-step, big-step and multi-step

  • Authors:
  • Ian J. Hayes;Robert J. Colvin

  • Affiliations:
  • School of Information Technology and Electrical Engineering, The University of Queensland, Australia;Queensland Brain Institute, The University of Queensland, Australia

  • Venue:
  • ABZ'12 Proceedings of the Third international conference on Abstract State Machines, Alloy, B, VDM, and Z
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.