Page 45 -
P. 45
32 N. Russell and A. ter Hofstede
Synchronizing Merge shown in Fig. 2.4c, implementing an unstructured process
involving an OR-join that cannot be accommodated by either of the two preceding
patterns.
Thread-Join
The Thread-join construct is directly recognized by the Thread Join pattern that
coalesces a specified number of execution threads in a branch into a single execution
thread.
Repetition Patterns
Repetition patterns identify three alternative mechanisms for a task or group of tasks
to be executed repeatedly. These are illustrated in Fig. 2.5 and described below:
Structured Loop, where a process contains a dedicated construct that allows an
individual task or a set of tasks to be repeated in a structured way. A struc-
tured loop has either a pretest associated with it that decides at the beginning
of each interaction whether execution of the loop should continue, or a posttest
that makes the decision at the end. Combination loops involve both pre- and
posttests. Figure 2.5c–e illustrates pretested, posttested, and combination loops,
respectively.
Merge
Split Split
Merge
Pre-test
Merge Post-test
Pre-test Post-test
Fig. 2.5 Repetition patterns