Products | Support | Consultancy | Resources | Clients | Links | Contact | Search  

Jackson Structured Programming

The wikipedia summary definition for Jackson Structured Programming is as follows:

Sample Structure Diagram

"Jackson Structured Programming or JSP is a method for structured programming based on correspondences between data stream structure and program structure. The method is closely related in concept to creating a parser for a regular expression that describes the data stream structure, but tries to build a program structure that matches more than one data stream and provides guidance and techniques to compensate the limited lookahead and the clashes between the structures of the different data streams.

JSP was originally developed in the 1970s by IT consultant Michael A. Jackson and documented in his 1975 book Principles of Program Design. Jackson's aim was to improve the general standard of COBOL programming, but the method is still useful when coding with modern programming languages such as C and Perl. And while JSP was originally geared towards writing batch-style file processing programs, its principles are still useful when programming in the small, below the level where object-oriented methods become important.

Jackson Structured Programming was seen by many as related to Warnier Structured Programming, but the latter method focused almost exclusively on the structure of the output stream.

As a method of programming, JSP is more straightfoward than other structured methods, avoiding the leaps of intuition needed to successfully program using, say, top-down decomposition. And although it imposes a structure upon a program which improves its modifiability and maintainability, the structure is rather different from the type of structure advocated by Wirth, Dijkstra, et al."

JSP structures programs in terms of four component types:

In addition there are a number of constructs to support backtracking and to capture beneficient and intolerable side-effects.

Jackson Structured Programming was supported by the PDF and JSP Tool programs, but now benefits from greatly enhanced support within the JSP Structure Editor component of the KCSL Jackson Workbench.

Valid XHTML 1.0! Valid CSS!