ワークフローパターン

ワークフローパターンとは、業務フロー図の形状や、タスクのステータス分類などについて、 分類されたもの.

ワークフローパターンの概要
ワークフローパターンとは、 W.M.P. van der Aalst（Ｗ．ファンデルアールスト）、A.H.M. ter Hofstede（Ａ．ターホフステード）、N. Russell（Ｎ．ラッセル）など、 アイントホーフェン工科大学（オランダ）、 クイーンズランド工科大学（オーストラリア）らの研究チームが、 2002年以降発表し続けているワークフロー分類研究. プログラマ視点ではなく、ビジネスマン視点でパターン分析している点で特徴がある.

2003年に「Distributed and Parallel Databases(分散並立データベース)」誌に掲載された「Workflow Patterns」以降、 「業務フロー図の形状分類」を中心に様々なパターン研究が行われている.


 * 「Control-Flow Patterns」：　業務フロー図の形状分類
 * 「Data Patterns」：　データ保持受渡に関する分類
 * 「Resource Patterns」：　割当タスクの処理ステータス等に関する分類
 * 「Exception Handling Patterns」：　中断や断念などの例外対応に関する分類

コントロールフロー（業務フロー図の形状）は、2002年の論文では20パターンであったが、 その後の研究を経て2006年の論文では、43パターンに増加されている.

沿革

 * 2003年：　Workflow Patterns　（PDF:70p）
 * 2004年：　Workflow Data Patterns　（PDF:75p）
 * 2004年：　Workflow Resource Patterns　（PDF:73p）
 * 2006年：　Workflow Control-Flow Patterns : A Revised View　（PDF:134p）
 * 2006年：　Exception Handling Patterns in Process-Aware Information Systems　（PDF:29p）

2003年発表のコントロールフローパターン
単純な「順列（Sequence）」や「並列処理（Parallel Split）」から、 「任意のループ（Arbitrary Cycles）」や「非同期のマルチインスタンス（非同期なマルチインスタンス）」など、 様々なパターンが存在する. 構造化されているか否か、等の区別はない.

Basic Control Flow Patterns

 * Pattern 1 Sequence
 * Pattern 2 Parallel Split
 * Pattern 3 Synchronization
 * Pattern 4 Exclusive Choice
 * Pattern 5 Simple Merge

Advanced Branching and Synchronization Patterns

 * Pattern 6 Multi-choice
 * Pattern 7 Synchronizing Merge
 * Pattern 8 Multi-merge
 * Pattern 9 Discriminator

Structural Patterns

 * Pattern 10 Arbitrary Cycles
 * Pattern 11 Implicit Termination

Patterns involving Multiple Instances

 * Pattern 12 Multiple Instances Without Synchronization
 * Pattern 13 Multiple Instances With a Priori Design Time Knowledge
 * Pattern 14 Multiple Instances With a Priori Runtime Knowledge
 * Pattern 15 Multiple Instances Without a Priori Runtime Knowledge

State-based Patterns

 * Pattern 16 Deferred Choice
 * Pattern 17 Interleaved Parallel Routing
 * Pattern 18 Milestone

Cancellation Patterns

 * Pattern 19 Cancel Activity
 * Pattern 20 Cancel Case

2006年発表のコントロールフローパターン
2003年に発表された20パターンに加えて、 「構造化ループ（Structured Loop）」や「非環状同期マージ（Acyclic Synchronizing Merge）」など、 多種多様な23パターンが追加定義された.

Basic Control-flow patterns

 * WCP1: Sequence
 * WCP2: Parallel Split
 * WCP3: Synchronization
 * WCP4: Exclusive Choice
 * WCP5: Simple Merge

Advanced Branching and Synchronization Patterns

 * WCP6: Multi-Choice
 * WCP7: Structured Synchronizing Merge
 * WCP37: Acyclic Synchronized Merge
 * WCP8: Multi-Merge
 * WCP9: Structured Discriminator
 * WCP28: Blocking Discriminator

Structural Patterns

 * WCP10: Arbitrary Cycles
 * WCP21: Structured Loop
 * WCP22: Recursion
 * WCP11: Implicit Termination
 * WCP43: Explicit Termination

Multiple Instance Patterns

 * WCP12: Multiple Instance without Synchronization
 * WCP13: Multiple Instances with a priori Design-Time Knowledge
 * WCP14: Multiple Instances with a priori Run-Time Knowledge
 * WCP15: Multiple instances without a priori run-time knowledge

State-based Patterns

 * WCP16: Deferred Choice
 * WCP17: Interleaved Parallel Routing
 * WCP40: Interleaved Routing
 * WCP18: Milestone

Cancellation Patterns

 * WCP19: Cancel Activity
 * WCP20: Cancel Case

New Control-Flow Patterns

 * WCP-21 Structured Loop
 * WCP-22 Recursion
 * WCP-23 Transient Trigger
 * WCP-24 Persistent Trigger
 * WCP-25 Cancel Region
 * WCP-26 Cancel Multiple Instance Activity
 * WCP-27 Complete Multiple Instance Activity
 * WCP-28 Blocking Discriminator
 * WCP-29 Cancelling Discriminator
 * WCP-30 Structured Partial Join
 * WCP-31 Blocking Partial Join
 * WCP-32 Cancelling Partial Join
 * WCP-33 Generalized AND-Join
 * WCP-34 Static Partial Join for Multiple Instances
 * WCP-35 Cancelling Partial Join for Multiple Instances
 * WCP-36 Dynamic Partial Join for Multiple Instances
 * WCP-37 Acyclic Synchronizing Merge
 * WCP-38 General Synchronizing Merge
 * WCP-39 Critical Section
 * WCP-40 Interleaved Routing
 * WCP-41 Thread Merge
 * WCP-42 Thread Split
 * WCP-43 Explicit Termination

関連事項

 * ワークフローエンジン
 * アロケーション
 * オファー

参考文献

 * WorkflowPatterns.com
 * 詳説 ビジネスモデリング―SOAベストプラクティス（オライリー・ジャパン刊）