Pattern Specification in a Visual Parallel Programming Language

Parallel Programming is significantly more complex than sequential programming because the programmer has the additional task of specifying processes, their communication and synchronization. Within the context of a visual environment we propose a two-level approach to parallel programming. The first level is the specification of a pattern encapsulating process creation and communication, and the second level is the use of patterns for parallel programming. This approach encourages reuse of patterns, and has the additional advantage that programmers who are experts in parallel programming can create patterns to be used by others who can concentrate on the sequential aspects of the program. Patterns can be extended to develop other patterns through the mechanism of object-inheritance