アクティビティ

アクティビティはBPMにおいては作業の総称を指す. アクティビティの内、それ以上分割できないものを明示的に「タスク」、連続的なまとまりを明示的に「サブプロセス」と呼ぶ場合がある. Activity.

アクティビティの概要
そもそもアクティビティと言う言葉は日常生活においても様々な意味で用いられており、例えば「屋外レジャーの総称」、「リハビリ治療のサポート」、「交流会」など、活動・動作・作業に類する意味をもつ. BPM分野においても、「一連のビジネスプロセスの中で遂行される作業」を総称する.

アクティビティには、5分で終わるものから一週間もしくはそれ以上の時間を要するものまで様々なスケールが想定されるが、BPMNにおいては「それ以上分割できない単一の作業」である事を明示すべき時には「タスク」あるいは「原始アクティビティ（それ以上分割できないと言う意）」、また「複合的な作業まとまり」である事を明示すべき時には「サブプロセス（場合によってはプロセス）」を用いる. なお、プロセス内のアクティビティをツリー構造で表した時に、タスク（原子アクティビティ）は、リーフノード(葉要素)となる.

digraph sample { graph [rankdir=LR]; //左右描画 node [shape=box, style=rounded]; //デフォルトノード定義 edge [labelfloat=true]; //テキスト回り込みOFF A [label="Check the \n document"]; B [label="Add \n comments"]; C [label="Print out \n the document"]; A->B->C [style=invis]; }

XPDLでの特別なアクティビティ
XPDLにおいては、外部呼出しで再利用が想定されているアクティビティのセット（Activity Set）、すなわち「再利用可能型サブプロセス」（Reusable SubProcess）をサブフロー（Subflow）と呼ぶ場合がある. またさらに、再利用が想定されていないアクティビティのセット、すなわち「内部組み込み型サブプロセス」（Embedded SubProcess）をブロックアクティビティ（Block Activity）と呼ぶ場合がある. これらの表現はBPMNでは適用されない.

BPMNとXPDLでのアクティビティ定義の違い
OMGが監督するBPMN仕様書（PDF:318p）において、アクティビティは他のグラフィカルオブジェクトと明確に区別されている. すなわち、BPDの一要素であるフローオブジェクトは、1.イベント（Events）、2.アクティビティ（Activities）、3.ゲートウェイ（Gateways）の3要素で構成され、アクティビティはゲートウェイ等を含まない.

他方、WfMCが監督するXPDL(XMLプロセス定義言語)においては、BPMNで言う所のフローオブジェクトを全てを「プロセスアクティビティ（Process Activity）」と呼ぶ場合がある. すなわち、ゲートウェイとイベントがプロセスアクティビティと呼ばれる事がある. なお「ゲートウェイ」は特にルートアクティビティ（Route Activity）と呼ばれる.

これらの表現はBPMN記法では利用できない.

アクティビティの図解表記法
BPMN記法にてアクティビティを図解表記する場合には角が丸い長方形で示す. digraph sample1 { ///////▼デフォルト定義▼/////// graph [rankdir=LR]; //左右描画 node [shape=box, style=rounded]; //デフォルトノード定義 edge [labelfloat=true]; //テキスト回り込みOFF ///////▼個別ノード定義▼/////// X [label="", shape=circle]; Y [label="",shape=circle, style=bold]; ///////▼エッヂの定義▼/////// X->ActivityA ; ActivityA->ActivityB [arrowtail=rcrowlvee]; ActivityB->Y; ActivityA->Y [arrowtail=odiamond, weight=0.2]; }

なお「ループ」、「マルチインスタンス」、「補償」、「アドホック」の4種類のマーカーを付す事がある. それぞれ下図の様に図解表記される.


 * ループ：　アクティビティが反復される
 * マルチインスタンス：　同時に複数のインスタンスが生成される
 * アドホック：　サブプロセス内のタスク順番が事前に定義できない
 * 補償：　プロセス中のいずれかのタスクで「取り消し」が行われた時に呼びだされる可能性がある特殊なアクティビティで入出力のシーケンスフローが無い. 通常フロー以外の場所に描かれ、呼びだす可能性があるタスクとは“関連”（接続オブジェクト）で結ばれる. ループもしくはマルチインスタンスと組み合わせて利用される.

※　マルチインスタンスのマーカー表記がBPMN1.0とBPMN1.1とで異なる点は注意が必要である.



沿革

 * 1999年02月：　WfMC、「Terminology & Glossary」（PDF:65p）
 * 2002年10月：　WfMC、「Workflow Process Definition Interface -- XML Process Definition Language」（PDF:499KB,87p）
 * 2004年05月：　BPMI、「Business Process Modeling Notation, version 1.0」
 * 2005年10月：　WfMC、「Process Definition Interface -- XML Process Definition Language (XPDL2.0)」（PDF:2.4MB,164p）
 * 2006年02月：　OMG、「Business Process Modeling Notation Final Adopted Specification」
 * 2008年01月：　OMG、「Business Process Modeling Notation, version 1.1」（PDF:318p）

関連記事

 * タスク
 * サブプロセス
 * トランザクション (BPMN)
 * イベント
 * ゲートウェイ
 * フロー
 * スイムレーン
 * XPDL
 * BPMN
 * BPEL
 * ABC（活動基準原価計算）

参考文献

 * Process Definition Interface -- XML Process Definition Language (Document Number WFMC-TC-1025 Document Status. Final Approved)（XPDL2.1-Final Approved）（2008年3月、WfMC）（PDF:3.1MB,216p）
 * XPDL2.0-プロセスモデル交換とBPMNの統合（訳：2007年8月、日揮情報ソフトウェア株式会社）（PDF:12p）