You are on page 1of 16

Workflow Patterns

Workflow (Control Flow) Patterns 。


1. Basic Control-Flow Patterns
2. Advanced branch and join patterns
3. Structural Patters
4. Multiple instances patterns
5. State-based patterns
6. Cancellation patterns

Workflow (Control Flow) Patterns 。


1. Basic Control-Flow Patterns
o Sequence
o Parallel Split
o Synchronization
o Exclusive Choice
o Simple Merge
2. Advanced branch and join patterns
o Multi-Choice
o Structured Synchronizing Merge
o Multi-Merge
o Structured Discriminator)
3. Structural Patters
o Arbitrary Cycles
o Implicit Termination
4. Multiple instances patterns
o Multiple Instances without Synchronization
o Multiple Instances with a priori Design-Time Knowledge
o Multiple Instances with a priori Run-Time Knowledge
o Multiple instances without a priori run-time knowledge
5. State-based patterns
o Deferred Choice
o Interleaved Parallel Routing
o Milestone
6. Cancellation patterns
o Cancel Activity
o Cancel Case

New Control-Flow Patterns


1. Structured Loop
2. Recursion
3. Transient Trigger
4. Persistent Trigger
5. Cancel Region
6. Cancel Multiple Instance Activity
7. Complete Multiple Instance Activity
8. Blocking Discriminator
9. Cancelling Discriminator
10. Structured Partial Join
11. Blocking Partial Join
12. Cancelling Partial Join
13. Generalized AND-Join
14. Static Partial Join for Multiple Instances
15. Cancelling Partial Join for Multiple Instances
16. Dynamic Partial Join for Multiple Instances
17. Acyclic Synchronizing Merge
18. General Synchronizing Merge
19. Critical Section
20. Interleaved Routing
21. Thread Merge
22. Thread Split
23. Explicit Termination
Basic Patterns: Sequence
AKA: Sequential routing, serial routing

Basic Patterns: Parallel Split


AKA: AND-split, parallel routing, parallel split, fork
Basic Patterns: Synchronization
AKA: AND-join, rendezvous, synchronizer

Basic Patterns: Exclusive Choice


AKA: XOR-split, exclusive OR-split, conditional routing, switch, decision, case statement
Basic Patterns: Simple Merge
AKA: XOR-join, exclusive OR-join, asynchronous join, merge.

Basic Patterns: Multi-Choice


AKA: Conditional routing, selection, OR-split, multiple choice.
Basic Patterns: Structured Synchronizing Merge
AKA: Synchronizing join, synchronizer.

Basic Patterns: Multi-Merge


AKA: None
Basic Patterns: Structured Discriminator
AKA: 1-out-of-M join.
Basic Patterns: WCP-10 Arbitrary Cycles
AKA: Unstructured loop, iteration, cycle.
Structural Patterns

Basic Patterns: Implicit Termination


AKA: None.

Basic Patterns: Multiple Instances without Synchronization


AKA: Multi threading without synchronization, spawn off facility.
Basic Patterns: Multiple Instances with a priori Design-Time Knowledge
AKA: None.

Basic Patterns: Multiple Instances with a priori Run-Time Knowledge


AKA: None.
Basic Patterns: Multiple instances without a priori run-time knowledge
AKA: None.

Basic Patterns: Deferred Choice


AKA: External choice, implicit choice, deferred XOR-split.
Basic Patterns: Interleaved Parallel Routing
AKA: None.
 A set of activities has a partial ordering defining the requirements with
respect to the order in which they must be executed
 Each activity in the set must be executed once and they can be completed in any order
that accords with the partial order
 However, as an additional requirement, no two activities can be executed at
the same time (i.e. no two activities can be active for the same process instance at the same
time)
Basic Patterns: Milestone
AKA: Test arc, deadline, state condition, withdraw message.
Basic Patterns: Cancel Activity
AKA: Withdraw activity.
Basic Patterns: Cancel Case
AKA: Withdraw case.

You might also like