Abstract
Abstract The Jackson Development Methods are JSP (Jackson Structured Programming) and JSD (Jackson System Development). JSP is a method for designing programs as compositions of sequential processes; JSD is a method for specifying and designing systems whose application domain has a strong temporal flavor and contains objects whose behavior is describable in terms of sequences of events. Many program and system development problems thus fall within the scope of JSP and JSD and these methods have been used to develop data processing systems, control systems, systems software, embedded systems, and even a music synthesizer. JSP and JSD differ from some widely used methods in two main respects. First, unlike other methods, they pay attention initially to the domain of the software and only later to the software itself. Their first describe not the software, but its subject matter. Second, they focus on time‐ordering: on event sequencing rather than on static data models. For a JSP program, the domain is the time‐ordered streams of records or of events that the program must process. For a JSD system, the domain is the real world in which the entities exhibit concurrent time‐ordered behaviors that the system must model and compute about. If JSD entities are regarded as objects, JSD may be said to be object‐oriented. The basic idea is to describe the structures of the sequential streams as regular languages and to form the structure of the program by composing the stream languages into one superset regular language. Program inversion technique is an important element in the progression from JSP to JSD. Two other important elements are the recognition and resolution of interleaving clashes and an implementation technique—state‐vector separation—used to deal with the resulting multiplicity of processes. The development steps of JSD as originally formulated are six: the entity action step; the entity structure step; the initial model step; the function step; the system timing step; and the implementation step. These steps were later modified and rearranged into three development phases: the modeling phase; the network phase; and The implementation phase. Explanation here follows the broad lines of this later formulation and also draws on some later refinements and elaborations of the method.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.