1.2. 1.2 Pattern Description, Organization and Categorization

1.2.1. Describing Patterns: The POSA Form

Software patterns are usually documented in several forms. These forms are known as pattern schemata, pattern forms or pattern templates. Numerous examples of these templates can be found in the literature [GHJV95] [POSA1] [PLoP1]. The typical form is a collection of sections that characterize different aspects of a software pattern. The collection of sections varies from author to author and from domain to domain.

In parallel programming, as in other software domains, the most common forms are the 'Gang of Four (GoF) form [GHJV95] and the 'Pattern-Oriented Software Architecture' (POSA) form [POSA1]. Both forms use diagrams based on Unified Modeling Language (UML) and plain text. This book uses the POSA form to describe software patterns. This form uses the following sections [POSA1]:

  • Name. A word or phrase that essentially describes the pattern.

  • Brief. A description of the pattern stating what it does.

  • Example. A real-world example that shows the existence of a problem and the need for the pattern.

  • Context. The situation or circumstance in which the pattern is applied.

  • Problem. A description of the conflict the pattern solves, including a discussion about the forces.

  • Solution. A description of the fundamental principle of the solution which serves as base for the pattern.

  • Structure. A detailed specification (usually based on UML diagrams) describing structural aspects of the pattern. ...

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.