Workflow Patterns

Workflow patterns help to express the constructions common to workflows

Basic Control Flow Patterns


First task $A$, then task $B$ [1]:

  • petri-net-sequence.png

Parallel Split

Tasks $b$ and $c$ are processed in parallel [2]

  • petri-net-par-split.png


Do $d$ only after both $b$ and $c$ are completed [3]

  • this is a synchronization between two parallel processes
  • petri-net-synch.png

Exclusive Choice

after $a$, do $b$ or $c$ [4]

  • petri-net-xor.png

Simple Merge

perform $d$ after $b$ or $c$ finishes [5]

  • petri-net-xor-merge.png

Advanced Branching and Synchronization Patterns

Termination Patterns

  • Implicit Termination

State-Based Patterns

Cancellation and Force Completion Patterns