Workflow Patterns
Workflow patterns help to express the constructions common to workflows
- http://www.workflowpatterns.com/
- here we consider control flow patterns: http://www.workflowpatterns.com/patterns/control/index.php
Basic Control Flow Patterns
Sequence
First task $A$, then task $B$ [http://www.workflowpatterns.com/patterns/control/basic/wcp1.php]:
Parallel Split
Tasks $b$ and $c$ are processed in parallel [http://www.workflowpatterns.com/patterns/control/basic/wcp2.php]
Synchronization
Do $d$ only after both $b$ and $c$ are completed [http://www.workflowpatterns.com/patterns/control/basic/wcp3.php]
- this is a synchronization between two parallel processes
Exclusive Choice
after $a$, do $b$ or $c$ [http://www.workflowpatterns.com/patterns/control/basic/wcp4.php]
Simple Merge
perform $d$ after $b$ or $c$ finishes [http://www.workflowpatterns.com/patterns/control/basic/wcp5.php]
Advanced Branching and Synchronization Patterns
- Multiple Choice
- Synchronized Merge
- Multi Merge
- Discriminator Pattern
- Arbitrary Cycles
Termination Patterns
- Implicit Termination
State-Based Patterns
- Deferred Choice
- Interleaved Parallel Routing
- Milestone Pattern
Cancellation and Force Completion Patterns
- Cancellation Region
- Cancel Activity
- Cancel Case