Advertisement

Integrated Operational Semantics: Small-Step, Big-Step and Multi-step

  • Ian J. Hayes
  • Robert J. Colvin
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7316)

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.

Keywords

Operational Semantic Label Transition System Process Algebra Binary Expression Imperative Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Harris, T.: Perspectives on Transactional Memory. In: Bravetti, M., Zavattaro, G. (eds.) CONCUR 2009. LNCS, vol. 5710, pp. 1–14. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  2. 2.
    Back, R.-J.R., von Wright, J.: Refinement Calculus: A Systematic Introduction. Springer (1998)Google Scholar
  3. 3.
    Colvin, R., Hayes, I.J.: CSP with Hierarchical State. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 118–135. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  4. 4.
    Colvin, R.J., Hayes, I.J.: A semantics for Behavior Trees using CSP with specification commands. Science of Computer Programming 76(10), 891–914 (2011)zbMATHCrossRefGoogle Scholar
  5. 5.
    Colvin, R.J., Hayes, I.J.: Structural operational semantics through context-dependent behaviour. Journal of Logic and Algebraic Programming 80(7), 392–426 (2011)zbMATHCrossRefGoogle Scholar
  6. 6.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall (1985)Google Scholar
  7. 7.
    Jones, C.B.: Tentative steps toward a development method for interfering programs. ACM Transactions on Programming Languages and Systems 5(4), 596–619 (1983)zbMATHCrossRefGoogle Scholar
  8. 8.
    Milner, A.J.R.G.: Communication and Concurrency. Prentice-Hall (1989)Google Scholar
  9. 9.
    Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice Hall (1994)Google Scholar
  10. 10.
    Mosses, P.D.: Exploiting labels in structural operational semantics. Fundam. Inform. 60(1-4), 17–31 (2004)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Mosses, P.D.: Modular structural operational semantics. J. Log. Algebr. Program. 60-61, 195–228 (2004)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Owens, S.: A Sound Semantics for OCamllight. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 1–15. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Plotkin, G.D.: A structural approach to operational semantics. J. Log. Algebr. Program. 60-61, 17–139 (2004)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Ian J. Hayes
    • 1
  • Robert J. Colvin
    • 2
  1. 1.School of Information Technology and Electrical EngineeringThe University of QueenslandAustralia
  2. 2.Queensland Brain InstituteThe University of QueenslandAustralia

Personalised recommendations