Abstract relational semantics

Jules Desharnais · eScholarship@McGill (McGill) · 1989

Abstract relational algebra is used to define the semantics of a simple imperative language. In order to carry out this task, various domains are specified by relational axioms. Some specifications define relations on the basic types of the language (Booleans and natural numbers); their presentation stresses the importance of the concept of point. Other specifications construct the relational domains whose relations are used to denote programs. The programming constructs that are defined include expressions, variable declarations, assignment statements, while-program statements and procedures. A particularity of the semantic definitions is that the relations denoting a program fragment depend only on the fragment, and not on its environment (procedure calls excepted). Finally, it is shown how the semantics of a program fragment can be used to prove its correctness relative to a specification. The result is a uniform abstract relational setting for specification, semantics and program derivation.

Read the paper · More papers on PaperTik