7.6. Detailed Design - Idioms

Detailed design is the next step in the pattern-based parallel software design after communication design. This step takes the characteristics described in the Specification of the Problem, the Specification of the System and the Specification of the Communication Components, and generates the code for the required synchronization mechanisms in the chosen programming language. This step is called 'detailed design' since the communication subsystems (as described in the communication design step) of the coordination (as defined in the coordination design step) are structured into synchronization and communication mechanisms in a real parallel programming language, such as semaphores, critical regions, monitors, message passing or remote procedure calls.

Figure 7.19 shows the relation of the detailed design step to the other steps of the design method. As for the other design steps, detailed design has the objective of producing a document that describes how the communication subsystems are designed and implemented using the primitives of the programming language – that is, the initial code to support information exchange between software components of the parallel software system. This code, along with the Specification of the Problem, Specification of the System and the Specification of the Communication Components, composes a document that describes the whole parallel system architecture: the Parallel Software System Description. This document should ...

Get Patterns for Parallel Software Design now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.