13.07.2015 Views

Software Design 2e - DIM

Software Design 2e - DIM

Software Design 2e - DIM

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

330Jackson System Development (JSD)is centred on identifying how information will need to be extracted from the modelprocesses, in order to generate the outputs required in the original specification.Many of the rules for determining the outputs that are required from a system arelikely to be provided in a relatively ‘rule-based’ manner in the original specification.They may well be expressed using such forms as ‘when x, y and z occur, then the systemshould output p and q’, as in the example requirement that:‘When it is Friday, and within six days of the end of the month, print a bank statementfor the account, and calculate the monthly charges due at this point.’The task of determining how such a requirement is to be met in terms of the model issomewhat less prescriptive than we might like it to be. One recommended procedureis first to identify how the information can best be obtained (through a data streamor from a state vector inspection); to assume that the task of extracting this can beperformed by a single process; and then to use JSP to design that process. In practice,the complexity of the processing required may well need the use of several processes,in order to resolve JSP structure clashes.Once again, the effect of this step is to further refine and extend the process network,and hence the SSD(s) describing it, and to create yet more ESDs to describe theactions of the additional processes. Figure 15.15 shows the effects of this step in termsof its effect upon the symbolic description of the JSD model. However, at this point thetask of network development is relatively complete, and so the designer can begin toconsider the behavioural aspects of the system in greater detail.Elaboration phase 3: the system timing stepUp to this point, the JSD design model describing the designer’s solution has effectivelybeen based on the assumption that it consists of a network of essentially equallyimportant processes. However, this will often be an unrealistic assumption, and one ofthe major tasks of the present step is to determine the relative priorities that will existamong processes. For example, in an ATC system, we may regard the processing of thesignals from the primary and secondary radars to be of higher priority than (say) theupdating of a display screen.This in turn leads to consideration of the scheduling of processes (remember,though, that we are still talking about a model, not about actual physical processes).The consideration of how processes are scheduled, and by what criteria, helps withdetermining the basic hierarchy for these processes, and this hierarchy forms the principaloutput from this step.It is perhaps this stage, in particular, that makes JSD appear very attractive as adesign method for real-time systems, although on closer inspection the benefits areprobably not as great as might be hoped. Certainly, though, although JSD was essentiallydeveloped with data-processing systems largely in mind, it is capable of beingused much more widely.15.3.3 The implementation stageThe terminology used to describe this activity is apt to be misleading. The major taskof this phase is to determine how the still relatively abstract model of the solution that

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!