Workflow Patterns

From Training Material
Revision as of 16:05, 14 October 2014 by Bernard Szlachta (talk | contribs) (Undo revision 22996 by 190.108.67.90 (talk))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Source: http://www.workflowpatterns.com/documentation/documents/BPM-06-22.pdf

Title
Workflow Patterns
Author
Bernard Szlachta (NobleProg Ltd)

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
    • Sequence
    • Parallel Split
    • Synchronization
    • Exclusive Choice
    • Simple Merge
  2. Advanced branch and join patterns
    • Multi-Choice
    • Structured Synchronizing Merge
    • Multi-Merge
    • Structured Discriminator)
  3. Structural Patters
    • Arbitrary Cycles
    • Implicit Termination
  4. Multiple instances patterns
    • Multiple Instances without Synchronization
    • Multiple Instances with a priori Design-Time Knowledge
    • Multiple Instances with a priori Run-Time Knowledge
    • Multiple instances without a priori run-time knowledge
  5. State-based patterns
    • Deferred Choice
    • Interleaved Parallel Routing
    • Milestone
  6. Cancellation patterns
    • Cancel Activity
    • 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.