Journal of the ACM (JACM)
ACM Computing Surveys (CSUR)
A Survey of Some Theoretical Aspects of Multiprocessing
ACM Computing Surveys (CSUR)
A technique for software module specification with examples
Communications of the ACM
Interference between communicating parallel processes
Communications of the ACM
A survey of models for parallel computing
A survey of models for parallel computing
Theories of abstract automata (Prentice-Hall series in automatic computation)
Theories of abstract automata (Prentice-Hall series in automatic computation)
Unified dialogue management in the carousel system
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
Top level system design is considered, with attention focused on the decomposition of system requirements into subsystem requirements. Primary interest is in the data processing subsystem. Implementation details involving operating systems, selection and configuration of computers, and choice of specific algorithms are excluded from this study. A methodology is presented for transforming system requirements into functional structure and system operating rules. This methodology is viewed as the first step of a comprehensive software development methodology comprising: top level design, algorithm development, computer selection, and the translation of the functional algorithmic design into operational software. The top level design is carried to such detail that algorithms, to be developed subsequently and to be realized ultimately with hardware or software, can be considered bounded by the interfaces of the data processing subsystem (DPS). That is, the interfaces are defined sufficiently well that the algorithm designer needs to consider neither the destination of data leaving the DPS nor the source of data entering the DPS. A system can be decomposed into four structural elements: functions, control, functional flows, and data. Each of these elements is a subject of the decomposition methodology. The inter-relationships of system functions are structured to define a partial ordering of system functions that is amendable to representation as a directed graph. The system control mechanism is defined to be a finite state machine, whose only cycles are loops, having START and END states. For real time operation END states fold onto START states. Functional flows represent each output of the control machine as a serial/parallel execution of the functions, consistent with their partial ordering. Data is used to relate the several functions within a functional flow, to drive the control mechanism, and to link control to the functional flows.