Constructive methods of program design

  • M. A. Jackson
Program Development And Program Verification
Part of the Lecture Notes in Computer Science book series (LNCS, volume 44)


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.


State Vector Magnetic Tape Simple Program Access Request Data Processing System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. (1).
    Principles of Program Design; M A Jackson; Academic Press 1975.Google Scholar
  2. (2).
    Hierarchical Program Structures; O-J Dahl; in Structured Programming; Academic Press 1972.Google Scholar
  3. (3).
    Structured Programming with go to Statements; Donald E Knuth; in ACM Computing Surveys Vol 6 No 4 December 1974.Google Scholar
  4. (4).
    A Structural Approach to Protection; C A R Hoare; 1975.Google Scholar
  5. (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

Copyright information

© Springer-Verlag Berlin Heidelberg 1976

Authors and Affiliations

  • M. A. Jackson
    • 1
  1. 1.Michael Jackson Systems LimitedLondon NW8

Personalised recommendations