Name

Structural Patterns

Synopsis

So-called “structural " patterns are actually recipes for unstructured design practices such as GOTO-style jumps and contending termination points. However, as the P4 explain, for some processes, the use of these patterns makes the design more readable and understandable. There are two structural patterns: Arbitrary Cycles and Implicit Termination.

Arbitrary Cycles

The Arbitrary Cycles pattern repeats an activity or a set of activities by cycling back to it in the process. This pattern is also known as GOTO or loop.

Most process languages and vendor implementations allow only block-structured loops such as while-do or do-while, whose entry, exit, and jump-back points are defined according to rigorous proof rules. The logic of some processes, such as the loan process shown in Figure 4-13, requires the looser approach of goto.

The Arbitrary Cycles pattern for a loan application
Figure 4-13. The Arbitrary Cycles pattern for a loan application

The loan process is designed to retry the Validate application activity not only when validation fails, but also downstream when something in the application prevents approval. This logic is difficult to model with a structured loop.

BPMN supports this pattern because it permits sequence flow to connect to upstream activities. BPEL does not support the pattern: its only loop is the structured while activity, and the flow activities does not permit cycles.

This pattern is ...

Get Essential Business Process Modeling 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.