Michael A. Jackson (computer scientist)
Michael Anthony Jackson (born 16 February 1936) is a British computer scientist, and independent computing consultant in London, England. He is also a visiting research professor at the Open University in the UK.[1]
Biography
[edit]Born in Birmingham to Montagu M. Jackson and Bertha (Green) Jackson, Jackson was educated at Harrow School in Harrow, London, England. There he was taught by Christopher Strachey and wrote his first program under Strachey's guidance. From 1954 to 1958, he studied classics (known as "Greats") at Merton College, Oxford;[2] a fellow student, two years ahead of him, was C. A. R. Hoare. They shared an interest in logic, which was studied as part of Greats at Oxford.
After his graduation in 1961, Jackson started as computer science designer and consultant for Maxwell Stamp Associates in London. Here he designed, coded and tested his first programs for IBM and Honeywell computers, working in assembler. There Jackson found his calling, as he recollected in 2000: "Although I was a careful designer — drawing meticulous flowcharts before coding — and a conscientious tester, I realised that program design was hard and the results likely to be erroneous..."[3] Information system design was in need of a structured approach.
In 1964, Jackson joined the new consultancy firm John Hoskyns and Company in London, before founding his own company Michael Jackson Systems Limited in 1971. In the 1960s, he had started his search for a "more reliable and systematic way of programming."[3] He contributed to the emerging modular programming movement, meeting Larry Constantine, George H. Mealy and several others on a 1968 symposium.[3] In the 1970s, Jackson developed Jackson Structured Programming (JSP). In the 1980s, with John Cameron, he developed Jackson System Development (JSD). Then, in the 1990s, he developed the Problem Frames Approach.
As a part-time researcher at AT&T Labs Research, in collaboration with Pamela Zave, Jackson created "Distributed Feature Composition",[4] a virtual architecture for specification and implementation of telecommunication services.
Jackson received the Stevens Award for Software Development Methods in 1997.[5] and British Computer Society Lovelace Medal in 1998. He received the ACM SIGSOFT Outstanding Research Award[6] in 2001.
In 1961, Jackson married Judith Wendy Blackburn;[2] they have four sons, one of whom, Daniel, is also a computer scientist based at MIT.[7]
Work
[edit]Jackson has developed a series of methods. Each of these methods covers a wider scope than the previous one, and builds on ideas that appeared, but were not fully developed, in the previous one. Reading his books in sequence allows you to follow the evolution of his thinking.
Jackson Structured Programming
[edit]Jackson Structured Programming (JSP) was the first software development method that Jackson developed. It is a program design method, and was described in his book Principles of Program Design.[8] JSP covers the design of individual programs, but not systems.
Jackson System Development
[edit]The Jackson System Development (JSD) was the second software development method that Jackson developed.[9] JSD is a system development method not just for individual programs, but for entire systems. JSD is most readily applicable to information systems, but it can easily be extended to the development of real-time embedded systems. JSD was described in his book System Development.
Problem Frames Approach
[edit]Problem Analysis or the Problem Frames Approach was the third software development method that Jackson developed. It concerns itself with aspects of developing all kinds of software, not just information systems. It was first sketched in his book Software Requirements and Specifications, and described much more fully in his book Problem Frames. The First International Workshop on Applications and Advances in Problem Frames[10] was held as part of ICSE’04 held in Edinburgh, Scotland.
Publications
[edit]Michael Jackson's books include:
- 1975. Principles of Program Design ISBN 0-12-379050-6.
- 1983. System Development ISBN 0-13-880328-5.
- 1995. Software Requirements & Specifications ISBN 0-201-87712-0.
- 1997. Business Process Implementation
- 2001. Problem Frames: Analysing and Structuring Software Development Problems ISBN 0-201-59627-X.
Many of his essays have been collected, along with research papers relating to his work, in the book:
- 2010. Software Requirements and Design: The Work of Michael Jackson, Bashar Nuseibeh and Pamela Zave, editors. ISBN 978-0-557-44467-0
References
[edit]- ^ Michael Jackson (not the singer) Consultancy & Research in Software Development. Accessed 24 April 2009.
- ^ a b Levens, R.G.C., ed. (1964). Merton College Register 1900–1964. Oxford: Basil Blackwell. p. 457.
- ^ a b c Jackson, Michael (April–June 2000). "The Origins of JSP and JSD: a Personal Recollection". IEEE Annals of Software Engineering. 22 (2): 61–63, 66.
- ^ Distributed Feature Composition - Accessed 28 August 2018
- ^ Previous Stevens Recipients Archived 7 March 2009 at the Wayback Machine. Accessed 24 April 2009.
- ^ "Outstanding Research Award". SIGSOFT. Retrieved 1 April 2024.
- ^ Jackson, Daniel. "Daniel Jackson". CSAIL Faculty Pages. Retrieved 9 January 2009.
- ^ Jackson, M. A. (1975). Principles of Program Design. Academic Press, 1975
- ^ A System development method Archived 6 February 2012 at the Wayback Machine. M. A. Jackson, 1982
- ^ "First International Workshop on Applications and Advances in Problem Frames". Archived from the original on 17 August 2007. Retrieved 24 April 2009.
External links
[edit]- Michael Jackson home page
- The Jackson Software Development Methods
- The World and the Machine software engineering blog by Michael Jackson
- 1936 births
- Living people
- People from Birmingham, West Midlands
- Scientists from the West Midlands (county)
- People educated at Harrow School
- Alumni of Merton College, Oxford
- Academics of the Open University
- British computer programmers
- British computer scientists
- British software engineers
- Computer science writers
- Formal methods people
- Software engineering researchers