JSP in Perspective

  • Michael Jackson


Jackson Structured Programming (JSP) is a method of program design. Its origins lie in the data processing systems that grew up in the 1960s, when reliable, relatively cheap and adequately powerful computers first became generally available. The fundamental abstraction in JSP is the sequential data stream. Originally, this abstraction was inspired and motivated by the sequential tape files that characterised data processing in the 1960s, but it quickly became clear that it had a much wider applicability. Today the JSP design method is valuable for applications including embedded software, processing streams of EDI messages, handling network protocols and many others.

JSP arose from efforts by a small group of people in a data processing consultancy company to improve their programming practices, and to make their programs more reliable and easier to understand and to modify. In 1971 it became the core product of a very small new company, Michael Jackson Systems Limited, which offered development services, training courses, consultancy, and — from 1975 — software to support JSP design of COBOL programs. The name JSP was coined by the company’s Swedish licensee in 1974. In the commercial world, IBM had appropriated the name ‘Structured Programming’ in the early 1970s, and Yourdon Inc. started offering courses in ‘Structured Design’ around 1974. A distinctive name was a commercial necessity. It was also technically appropriate to choose a distinctive and proprietary name: the JSP method was very different from its competitors.


Input File Program Structure Read Operation File Structure 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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    E. Achelis; The Calendar for the Modern Age; Thomas Nelson, 1959.Google Scholar
  2. [2]
    AV Aho and JD Ullman; Principles of Compiler Design Addison-Wesley, 1977.Google Scholar
  3. [3]
    Barnett and Constantine eds; Modular Programming: Proceedings of a National Symposium; Information and Systems Press, 1968.Google Scholar
  4. [4]
    KR Blackman; IMS celebrates thirty years as an IBM product; IBM Systems Journal 37, 4, 1998.CrossRefGoogle Scholar
  5. [5]
    ME Conway; Design of a Separable Transition-Diagram Compiler, Communications of the ACM 6, 7, 1963.Google Scholar
  6. [6]
    O-J Dahl, B Myhrhaug and K Nygaard; SIMULA-67 Common Base Language. Technical Report Number S-22, Norwegian Computer Centre, Oslo, 1970.Google Scholar
  7. [7]
    MA Jackson; Principles of Program Design; Academic Press, 1975.Google Scholar
  8. [8]
    MA Jackson; Constructive Methods of Program Design; in C Coos and J Hartman is, eds; Proceedings of the 1st Conference of the European Cooperation in Informatics, Lecture Notes in Computer Science 44; Springer, 1976.Google Scholar
  9. [9]
    MA Jackson; System Development; Prentice-Hall, 1983.zbMATHGoogle Scholar
  10. [10]
    M Jackson; Jackson Development Methods: JSP and JSD: in JJ Marciniak, ed; Encyclopaedia of Software Engineering, Volume I; Wiley, 1994.Google Scholar
  11. [11]
    JP Morrison; Flow-Based Programming: A New Approach to Application Development; Van Nostrand Reinhold, 1994.zbMATHGoogle Scholar
  12. [12]
    CJ Myers; Software Reliability: Principles & Practices; Wiley, 1976.Google Scholar
  13. [13]
    WP Stevens, GJ Myers, and LL Constantine; Structured Design; IBM Systems Journal 13, 2, 1974.Google Scholar
  14. [14]
    JD Warmer; Logical Construction of Programs HE Stenfert Kroese, 1974, and Van Nostrand Reinhold, 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Michael Jackson
    • 1
  1. 1.LondonUK

Personalised recommendations