Program Algebra for Component Code

Abstract

The jump instruction is considered essential for an adequate theoretical understanding of imperative sequential programming. Using atomic actions and tests as a basis we outline an algebra of programs, denoted PGA, which captures the crux of sequential programming. PGA provides an ontology for programs rather than a semantics. Out of a multitude of conceivable semantic views on PGA we single out a behaviour extraction operator which assigns to each program a behaviour. The meaning of the constants of PGA is explained in terms of the extracted behaviour. Using PGA a small hierarchy of program notations is developed. Projection semantics is proposed as a tool for the description of program semantics.

Keywords

Program, Instructions, Repetition, Behaviour extraction, Projection semantics, Embedding, Canonical Form

Citation