Understanding Programming Language Concepts Via Operational Semantics

Cliff B. Jones. Understanding Programming Language Concepts Via Operational Semantics. In Chris George, Zhiming Liu, Jim Woodcock, editors, Domain Modeling and the Duration Calculus, International Training School, Shanghai, China, September 17-21. 2007, Advanced Lectures. Volume 4710 of Lecture Notes in Computer Science, pages 177-235, Springer, 2007. [doi]

Abstract

The origins of “formal methods” lie partly in language description (although applications of methods like VDM, RAISE or B to areas other than programming languages are probably more widely known). This paper revisits the language description task but uses operational (rather than denotational) semantics to illustrate that the crucial idea is thinking about an abstract model of something that one is trying to understand or design. A “story” is told which links together some of the more important concepts in programming languages and thus illustrates how formal semantics deepens our understanding.