© 1975 by British Computer Society
Program construction by refinements preserving correctness
Gruppo di Elettronic e Cibernetica, Istituto di Fisica dell'Università di Milano, Via Viotti, 5-20133, Milano, Italy
This paper deals with the problem of constructing the final version Pt of a flowchart program through successive refinements P2, ..., Pt1 that preserve correctness proved on its first version P1.
Correctness conditions are associated with P1 in the frame of Manna's formalism. With each refinement Pi a relational (data) structure Si is associated, and given representation functions
i relate structures Si, Si+1 of refinements Pi, Pi+1.
Construction of Pi+1 from Pi proceeds as follows: (a) every block of Pi is considered as an elementary program over Si and its correctness conditions are expressed with terms of Si; (b) these correctness conditions are translated by using the representation function
i; (c) the translated correctness conditions are transformed into expansion conditions, expressed with terms of Si+1 only, for every block of Pi; (d) by means of these expansion conditions, expansions of blocks are constructed and connected to obtain Pi+1.
The constructive character of the above process is emphasised with a detailed example.
In the appendix a discussion relates this paper to other works connecting constructivism and program theory.
Received July 1973.
* Honeywell Information Systems Italia (HISI).
Gruppo di Elettronic e Cibernetica, Istituto di Fisica dell'Università di Milano, Via Viotti, 5-20133, Milano, Italy