This chapter introduced design patterns for communication components, as a particular type of design pattern that provide an overview of the common structures used as communication components in parallel programs. Their selection constitutes the second main step in the design and development of coordination in a parallel application within the pattern-based parallel software design method.
Design patterns for communication components have the common objective of solving the communication problem, that of describing a communication and synchronization structure that allows coordination of the multiple simultaneous actions described by a specific architectural pattern for parallel programming.
As an initial attempt at the creation of a more organized pattern system for parallel programming, the design patterns presented here do not represent a sufficiently complete or detailed set that they can cover every issue of communications within a parallel program. However, they can be linked with other current pattern developments for concurrent, parallel and distributed systems. Work on patterns that support the design and implementation of such systems has been addressed by several authors.