1. 9

This paper reproduces a report written by Hoare in 1977, in which he explains the fundamental ideas of Jackson’s programming method, JSP. The notions that Hoare uses for this purpose – program traces, selective traces, and combination of selective programs – appeared in the following years in the conceptual foundation of his process algebra, CSP. Hoare shows that the key step in the JSP method, in which multiple stream structures are merged to form a single program structure, can be viewed in two phases. First, each stream – represented as a regular expression – is transformed by applying simple algebraic equalities into an equivalent structure, matching the structures obtained from the other streams. Second, these structures are merged. The paper also includes a wider discussion about the scope and nature of JSP. A new introduction provides some context, and presents in full the examples that Hoare alludes to in his report.

    1. 3

      I have dead tree copies of Jackson’s Principles of Program Design and his System Development. They’re good reads, though dated (COBOL is used for exposition, for example).

      I can’t believe I didn’t know about the connection with Hoare. This was really neat, thanks for linking it.