Transitions and Trees: An Introduction to Structural Operational Semantics

Transitions and Trees: An Introduction to Structural Operational Semantics

  • £54.99

Hans Huttel
Cambridge University Press, 4/29/2010
EAN 9780521147095, ISBN10: 0521147093

Paperback, 292 pages, 24.4 x 17 x 1.7 cm
Language: English

Structural operational semantics is a simple, yet powerful mathematical theory for describing the behaviour of programs in an implementation-independent manner. This book provides a self-contained introduction to structural operational semantics, featuring semantic definitions using big-step and small-step semantics of many standard programming language constructs, including control structures, structured declarations and objects, parameter mechanisms and procedural abstraction, concurrency, nondeterminism and the features of functional programming languages. Along the way, the text introduces and applies the relevant proof techniques, including forms of induction and notions of semantic equivalence (including bisimilarity). Thoroughly class-tested, this book has evolved from lecture notes used by the author over a 10-year period at Aalborg University to teach undergraduate and graduate students. The result is a thorough introduction that makes the subject clear to students and computing professionals without sacrificing its rigour. No experience with any specific programming language is required.

List of illustrations
List of tables
About the illustrations
Part I. Background
1. A question of semantics
2. Mathematical preliminaries
Part II. First Examples
3. The basic principles
4. Basic imperative statements
Part III. Language Constructs
5. Control structures
6. Blocks and procedures (1)
7. Parameters
8. Concurrent communicating processes
9. Structured declarations
10. Blocks and procedures (2)
11. Concurrent object-oriented languages
12. Functional programming languages
Part IV. Related Topics
13. Typed programming languages
14. An introduction to denotational semantics
15. Recursive definitions
Appendix A. A big-step semantics of Bip
Appendix B. Implementing semantic definitions in SML