Constructive methods of program design
Correct programs cannot be obtained by attempts to test or to prove incorrect programs: the correctness of a program should be assured by the design procedure used to build it.
A suggestion for such a design procedure is presented and discussed. The procedure has been developed for use in data processing, and can be effectively taught to most practising programmers. It is based on correspondence between data and program structures, leading to a decomposition of the program into distinct processes. The model of a process is very simple, permitting use of simple techniques of communication, activation and suspension. Some wider implications and future possibilities are also mentioned.
KeywordsState Vector Magnetic Tape Simple Program Access Request Data Processing System
- (1).Principles of Program Design; M A Jackson; Academic Press 1975.Google Scholar
- (2).Hierarchical Program Structures; O-J Dahl; in Structured Programming; Academic Press 1972.Google Scholar
- (3).Structured Programming with go to Statements; Donald E Knuth; in ACM Computing Surveys Vol 6 No 4 December 1974.Google Scholar
- (4).A Structural Approach to Protection; C A R Hoare; 1975.Google Scholar
- (5).Some Transformations for Developing Recursive Programs; R M Burstall & John Darlington; in Proceedings of 1975 Conference on Reliable Software; Sigplan Notices Vol 10 No 6 June 1975.Google Scholar