2.7 The Parallel or Distributed Design Must Be Communicated

2.7 The Parallel or Distributed Design Must Be Communicated

There is also the challenge of how to accurately capture a parallel or distributed design in documentation. We must be able to describe the work breakdown structure as well as the synchronization and communication between tasks , objects, processes, and threads. Designers must be able to effectively communicate to developers. Developers must be able to communicate with those that must maintain and administer the system. Ideally, this should be done using a standard notation and representation that is readily available to all concerned . However, finding a single documentation language that is broadly understood and can clearly represent the multiparadigm nature of some of these systems is elusive . We have chosen the UML (Unified Modeling Language) for this purpose. Table 2-3 lists the seven UML diagrams that are helpful for multithreaded, parallel, or distributed programs.

Table 2-3. Seven UML Diagrams Helpful for Documenting Multithreaded, Parallel, and Distributed Programs

UML Diagrams

Descriptions

Activity diagram

A type of state diagram in which most (if not all) of the states represent activity and most of the transitions (if not all) are activated by completion of an activity in the source states.

Interaction

A type of diagram that shows the interaction among a set of objects; the interaction is described as a message exchanged among them. These diagrams include:

  • collaboration diagrams

  • sequence diagrams

  • activity diagrams

State/concurrent state diagram

A diagram that shows the sequence of an object's transformation as it state diagram responds to events. In the case of concurrent state diagram, these transformations can occur during the same time interval.

Sequence diagram

An interaction diagram that shows the organization of the structure of objects that receive and send messages.

Collaboration diagram

An interaction diagram that shows the organization of the structure of objects that receive and send messages.

Deployment diagram

A diagram that shows the runtime configuration of processing nodes, hardware, and software components in a system.

Component diagram

An interaction diagram that shows the dependencies and organization among a set of physical modules of code (packages) in a system.

The seven diagram types in Table 2-3 are only a subset of the diagram types available in the UML, but these types of diagrams are immediately applicable to what we want to capture in our concurrency designs. In particular, the UML's activity, deployment, and state diagrams are very useful in communicating parallel and distributed processing behavior. Since the UML is the de facto standard for communicating object-oriented and agent-oriented designs, we rely upon its use in this book. The Appendix contains a description and explanation for the notation and symbols used in these diagrams.



Parallel and Distributed Programming Using C++
Parallel and Distributed Programming Using C++
ISBN: 0131013769
EAN: 2147483647
Year: 2002
Pages: 133

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net