Inspired software design early jackson methods to thread architectures

This is a somewhat personal account of a journey starting with assembly coding based on Jackson Structured Programming (JSP) and ending with the design of thread architectures for reactive software systems using entity-life modeling (ELM). As the level of abstraction rises, the basic concepts remain the same: The software takes its shape from structures in the problem domain. JSP bases control structures on regular expressions describing data streams. Jackson System Development (JSD) introduces long-running processes patterned on the life histories of entities in the problem domain. Unfortunately, implementing long-running processes in sequential programs leads to awkward solutions. ELM lets us im-plement the processes as threads. This is a natural fit, which re-moves the awkwardness.

[1]  John R. Cameron,et al.  An overview of JSD , 1986, IEEE Transactions on Software Engineering.

[2]  Bo Ingvar Sandén,et al.  Practical use of Ada 95's concurrency features , 1998, IEEE Concurr..

[3]  Michael Jackson,et al.  Principles of program design , 1975 .

[4]  P. Taylor,et al.  Designerly thinking: what software methodology can learn from design theory , 2000, Proceedings International Conference on Software Methods and Tools. SMT 2000.

[5]  Bo Ingvar Sandén,et al.  Entity-life modeling and structured analysis in real-time software design—a comparison , 1989, CACM.

[6]  Sigrid Eldh Software Testing Techniques , 2007 .

[7]  Corrado Böhm,et al.  Flow diagrams, turing machines and languages with only two formation rules , 1966, CACM.

[8]  John Barnes,et al.  Programming in Ada 2005 , 2006 .

[9]  Bruce I. Blum,et al.  Software engineering - a holistic view , 1992 .

[10]  Hassan Gomaa A software design method for distributed real-time applications , 1989, J. Syst. Softw..

[11]  Bo Ingvar Sandén Systems programming with JSP: example—a VDU controller , 1985, CACM.

[12]  Eugene S. Ferguson,et al.  Engineering and the Mind's Eye , 1994 .

[13]  Bo Ingvar Sandén Modeling Concurrent Software , 1997, IEEE Softw..

[14]  Christopher Alexander Notes on the Synthesis of Form , 1964 .

[15]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[16]  Michael Jackson The Origins of JSP and JSD: a Personal Recollection , 2000 .

[17]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[18]  W. T. Farris,et al.  Software requirements specifications , 1993 .

[19]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[20]  Boris Beizer,et al.  Software testing techniques (2. ed.) , 1990 .

[21]  John R. Cameron JSP and JSD - the Jackson approach to software development (2. ed.) , 1989 .

[22]  Bo Ingvar Sandén,et al.  An entity-life modeling approach to the design of concurrent software , 1989, Commun. ACM.

[23]  Janusz Zalewski,et al.  Designing state-based systems with entity-life modeling , 2006, J. Syst. Softw..

[24]  Bo Ingvar Sandén Entity-Life Modeling: Modeling a Thread Architecture on the Problem Environment , 2003, IEEE Softw..

[25]  John Barnes,et al.  Programming in Ada95 , 1995 .

[26]  Richard E. Fairley,et al.  Software engineering programs at the Wang Institute of Graduate Studies , 1983, ACM '83.

[27]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[28]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[29]  James Gosling,et al.  The Real-Time Specification for Java , 2000, Computer.

[30]  Börje Langefors Algol-Genius, a programming language for general data processing , 1964 .

[31]  Bo Ingvar Sandén,et al.  Coping with Java threads , 2004, Computer.

[32]  Leif Ingevaldsson JSP - a Practical Method of Program Design , 1986 .