ビジネスプロセスモデリング表記法

**ビジネスプロセスモデリング表記法**（, **BPMN**）とは、ビジネスプロセスをワークフローとして描画するための表記法である。BPMN は Business Process Management Initiative (BPMI) が開発し、Object Management Group (OMG) と BPMI が 2005年に合併した後は OMG が保守している。

BPMN の目的は、BPM(ビジネスプロセス管理）を実現するために、すべてのビジネス関係者が容易に理解できる標準記法を提供すると同時に、BPMS(Business Process Managiment Suite/System）実装のための標記方法である。ビジネス関係者には、プロセスの作成・更新を行う実務者、ビジネスアナリスト、プロセスの実装を行う技術者、プロセスを管理するマネージャなどが含まれる。 BPMNは主にBPMSの実装において実務者と技術者間の円滑なコミュニケーションツールとなる。

現在、ビジネスプロセスモデリング言語・ツール・方法論は多数存在している。BPMN はそれらの表現を統一する可能性をもっている。

最新版である BPMN 2.0 は、2011年に発行された。

BPMN は、2013年に国際規格 ISO/IEC 19510 (Information technology &mdash; Object Management Group Business Process Model and Notation) になっている。

## BPMN仕様（The Business Process Model and Notation Specification）
　BPMN仕様は「ITからビジネスへの権限移譲、すなわち簡単なフローチャートを描くことによって、あまり技術的でない人達がトランザクション型アプリケーションを構築できるようになる。」という目的によって作られた。すなわちBPMN仕様は、主にBPMSのエンジンによってBPMNを読み込むための仕様である。そのための厳密なルールであり、BPMNの記号に対して独自の解釈を加えることは禁止される。

## BPMN の範囲
BPMN はビジネスプロセスを中心とした概念のモデリングだけに利用することを目的としている。つまり、厳密に言うとビジネス以外の目的のモデリングは BPMN の範囲外である。例えば、以下のようなモデリングには BPMNでの表記 は適していない。
* 組織の構造
* 機能の詳細化
* データモデル
また、BPMN はデータ（メッセージ）の流れとデータ成果物とアクティビティとの関係を図示するが、使用目的という視点から考えればデータフロー図などとは異なっている。

なお、前述したようにビジネスプロセスを中心とした明白な使途があるが、逆に化学分野においては特に有毒ガスを誤って生成および出すなど、命に関わる失敗が許されない化合や化学変化などの手段や結果の詳細を明記することで、化学者達に事前に共有するという方法をとることも出来る。

## BPMN の利用
ビジネスプロセスモデリングは、様々な人々が様々な情報をやり取りするのに使われる。BPMN表記法はそのような広範囲な利用をカバーし、見た人が容易に理解できるようになっている。

BPMN のモデルは、次の3種類に分類される。
* 個別ビジネスプロセス
* 抽象プロセス
* 協業プロセス

### 個別ビジネスプロセス
特定の組織内のビジネスプロセスであり、一般にワークフローあるいはBPMプロセスと呼ばれる。スイムレーン（後述）を使った場合、個別ビジネスプロセスは1つのプール内に含まれることになる。プロセスのシーケンスフローもプール内で閉じていて、プールの境界を越えることがない。メッセージフローはプール境界を越えることができ、別の個別ビジネスプロセスとの相互作用を表す。

### 抽象プロセス
個別ビジネスプロセス間の相互作用を表現する。相互作用に直接関係しない個別ビジネスプロセスの詳細部分は表示されない。したがって、抽象プロセスではビジネスプロセス間のメッセージフローを中心として、それらの相互作用を表す。抽象プロセスをプール内に描き、より大きなBPMN図の一部として他の実体とのメッセージのやりとりを描くこともできる。また、抽象プロセスと個別ビジネスプロセスを1つの図に描き、それらの関係を示すこともできる。

### 協業プロセス
複数の企業などの相互作用を描く。この場合の相互作用は、メッセージ交換パターンを表すアクティビティのシーケンスとして定義される。協業プロセスをプール内に描いて、個々の相互作用をプール内の別のレーンに描くこともある。この場合、各レーンが2つの関係者（企業）間の1つのやり取りを示す。また、複数の抽象プロセス間のメッセージフローによる相互作用を描くことで協業プロセスを示すこともある。各プロセスは個別にモデル化することもできるし、より大きなBPMN図に一緒に描くことによってそれぞれの相互作用を示すこともできる。協業プロセスと関連する個別ビジネスプロセスを一緒に描き、両者の関連を描くこともできる。

## BPDの種類
これらのBPMNサブモデルから、様々な図を描くことができる。それらの図を、**BPD**（Business Process Diagram, BP図）という。以下にBPMNでモデル化できるビジネスプロセスの種類を示す（アスタリスク（*印）の付いたものは実行言語にはマッピングされない）。
* 高度に抽象化された（機能の詳細化をしていない）個別プロセス*
* 詳細な個別ビジネスプロセス
* 現在または従来のビジネスプロセス*
* 将来または新規のビジネスプロセス
* 1つ以上の外部実体（ブラックボックス化されたプロセス）と詳細な個別ビジネスプロセスとの相互作用
* 相互作用のある複数の個別ビジネスプロセス
* 詳細な個別ビジネスプロセスと抽象プロセスとの関係
* 詳細な個別ビジネスプロセスと協業プロセスとの関係
* 複数の抽象プロセス*
* 抽象プロセスと協業プロセスとの関係*
* 協業プロセスだけ（例えば、ebXML BPSS や RosettaNet に対応）*
* 複数の個別ビジネスプロセスの相互作用をそれらの抽象プロセスを通して描く
* 複数の個別ビジネスプロセスの相互作用を協業プロセスを通して描く
* 複数の個別ビジネスプロセスの相互作用をそれらの抽象プロセスと協業プロセスを通して描く

BPMN はこれら全てを描くことができる。しかし、多くのサブモデル（例えば3つ以上）を1つの図に描いてそれらの相互作用をメッセージフローで表した場合、人によっては理解するのが難しくなることに注意しなければならない。したがって、BPMN で図示する際には、何を伝えたいのかを忘れないようにすることが大切である。

## 要素

BPMN によるモデリングは、少数の視覚要素を使った単純な図で表される。それによって、フローやプロセスをビジネスユーザーにとっても開発者にとっても理解しやすくする。基本要素は、以下のように分類される。

; フローオブジェクト
:; イベント
:: 円で表し、何らかの事象の発生を示す。開始、中間、終了などがある。処理のきっかけや結果を表す。
:; アクティビティ
:: 角を丸めた四角形で表し、実施すべき作業を示す。タスクとサブプロセスに分けられ、サブプロセスには底辺にプラス記号を付ける。
:; ゲートウェイ
:: 菱形で表し、何らかの判断を示す。経路の分岐と結合にも使われる。
; 接続オブジェクト
: 接続オブジェクトは、フローオブジェクト同士をつなぐ。
:; シーケンスフロー
:: 実線矢印で表し、アクティビティの実施される順序を示す。ゲートウェイを始点として始点の近くに斜めに横切る線があるときは、それがデフォルトの経路であることを示す。
:; メッセージフロー
:: 破線白抜き矢印で表し、結ばれたものの間でのメッセージのやり取りを示す。
:; 関連
:: 破線で表し、フローオブジェクトと成果物との関連を示す。
; スイムレーン
: フローオブジェクトの実施者を明確化するときに使用する。
:; プール
:: 大きな長方形で表し、内部に複数のフローオブジェクト、接続オブジェクト、成果物を描く。
:; レーン
:: 部署や役割などによってプール内を区切ると、それぞれがレーンとなる。
; 成果物
: 図をより分かりやすくするために補助的に用いる。
:; データオブジェクト
:: BPMN2.0から厳密な意味を持ち補助記号では無くなった。BPMS実装時の変数を表す。プロセス内で受け渡される紙、データなどを表現する。よってプロセス（プール内）でのみ使用可能である。
:; グループ
:: 角の丸い一点鎖線の長方形で表す。異なる作業をフローとは無関係にグループ化するのに使う。
:; 注釈
:: 図の理解を助ける注釈。

フローオブジェクトや成果物を独自に追加して、図をより分かりやすくすることもできる。

## BPMN 2.0

BPMN はバージョン 2.0 に移行した。同じ略称 "BPMN" を用いてはいるが、正式名称は "Business Process Model *and* Notation" に変更された。
新しい BPMN 2.0 は、記法、メタモデル、交換用の形式を定義する単一の仕様をもつことを目指している。

BPMN 2.0 は、次の機能をもつ。
* BPMN と BPDM (business process definition meta model) を結び付けて、一つの一貫した言語になった。
* プロセスモデリングのツールの間でビジネスプロセスモデルと図表の配置を交換できるようにして、意味的な完全性を維持した。
* 個別モデルまたは集成モデルとして、モデルの統合（オーケストレーション, orchestration）とコレオグラフィ (choreography) ができるように、BPMNを拡張した。
* 利用者が特定の関心に焦点を合わせることができるように、モデルにおける異なる視点の表示と交換を用意した。
* ビジネスのモデル化と経営者の意思決定支援に向けてBPMNを拡張した。
* BPMNを文字列化（直列化）する方法を用意した。具体的にはXMLで表現する。そのためのXML Schemaを用意した。
仕様のβ版は2009年9月に公開され、最終版は2010年6月に公開された。

## 脚注


## 参考文献
* 

## 関連項目
* ワークフロー
* ビジネスプロセスモデリング
* ビジネスプロセス管理
* BPEL - 実行可能なビジネスプロセスモデリング言語
* YAWL
* XPDL

## 外部リンク
*BPMN 1.0（日本語版）
*BPMN User Survey
*Business Modeling & Integration Domain Task Force (BMI DTF)
*Xfig BPMN Library
*ProM Framework
*Pattern-based Analysis of BPMN
*Workflow Patterns with BPMN and UML
*一般社団法人BPMコンソーシアム