業務フロー図ライブラリ Q Business Process Management

出典: Q-BPM

中間イベントとは、BPMN記法において、ある事柄が1つのプロセスの開始と終了の間で発生する時点を表すモデリング要素である。Intermediate Event。

目次

中間イベントの概要

イベント(Event)とは
一連のビジネスプロセスの中で生じる事柄。アクティビティの順序または時期に影響を与える。イベントは、生じる時期によって以下の3種類に分けられる。
  • 開始イベント(Start Event)
  • 中間イベント(Intermediate Event)
  • 終了イベント(End Event)

BPMNにおいて、中間イベントは、個々のプロセスが開始してから終了するまでの間、つまり進行中のプロセスの中で、ある事柄が生じる時点を示す。そのため、中間イベント自体は、あるプロセスを開始させたり終了させたりすることはない。中間イベントはトリガー(イベントの起因となる条件・状況)に反応(catch)したり、そのようなトリガーを設定(throw)したりする。つまり、中間イベントはキャッチイベントとスローイベントの両方の性質を併せ持つ。ただ、すべての中間イベントがその両方の性質を持つわけではない。中間イベントは、プロセスの途中のどのような場合に用いられ、どのような事柄を引き起こしたり設定したりするのかという観点に基づいて、10種類に分類されている。

中間イベントの主な役割

  • プロセス内で、メッセージを受け取ったり送ったりする時点を示す。
  • プロセス内で、遅延(delay)が予定される時点を示す。
  • 例外処理により通常フローを中断し、例外フローへ変更する。
  • 補償処理に必要な臨時作業があることを示す。

中間イベントに関する詳細

  • 通常フローで用いられた場合、キャッチイベントかスローイベントのどちらかの性質をもつ。
  • アクティビティの境界で用いられた場合、キャッチイベントの性質しかもたない。
  • キャッチイベントとして用いられた場合、起因(トリガー)となる時間やメッセージなどが来るまで、トークンイベントのところに留まる。
  • スローイベントとして用いられた場合、トークンが到達してすぐにメッセージの送信などのイベントを発生させ、プロセスは次の段階に進む。

中間イベントの表記

図1-1: 水平方向のフローチャート
図1-1: 水平方向のフローチャート
図1-2: 垂直方向のフローチャート
図1-2: 垂直方向のフローチャート

中間イベントは、開始イベント終了イベントとの区別のため、一般に2本の細い線で描かれた円形で表される。中間イベントには10個のタイプ(以下を参照)があり、プロセスが進行している途中で発生するイベント(結果)のタイプによって表記方法が異なる。他のタイプの中間イベントと区別するために、2重円の内部には異なる形状のマーカーが置かれる。

中間イベントは、開始イベント終了イベントとは異なり、ある場面ではキャッチイベントに分類され、またある場面ではスローイベントにも分類される性質を持ちうる。BPMNでは、キャッチイベントに分類される中間イベントはマーカーの内部が白く塗られており、他方、スローイベントに分類される中間イベントはマーカーの内部が黒く塗られている。

例外処理や補償処理の表記

一般に1つの中間イベントを使って右の図1のように表記する。図1-1図1-2はともに、アクテイビティAにおいてエラーが発生した時の「例外処理」としてアクティビティBを実行することを示すプロセス図である。 プロセス図が水平方向にある場合は図1-1のように、垂直方向にある場合は図1-2のように表記するのが一般的である。

アクティビティの境界およびフローとの接続

  1. アクティビティの境界との接続
    「なし」、「リンク」タイプ以外の中間イベントは、アクティビティの境界に直接置くことができる。複数置くことも可能。
    ※「キャンセル」タイプの中間イベントは、サブプロセスの境界に置くことが可能である。
  2. シーケンスフローとの接続
    (a) 「なし」、「リンク」タイプ以外の中間イベントが、アクティビティの境界に置かれているとき
    • シーケンスフローの対象とはならない。つまり、入力シーケンスフローは中間イベントと接続しない。
    • シーケンスフローのただ1つの起点となる。つまり、出力シーケンスフローは中間イベントと1つだけ接続する。
    ※「補償」タイプの中間イベントは出力シーケンスフローとも接続しない。
    (b) 「キャンセル」、「エラー」、「複合」タイプ以外の中間イベントが、通常フローで用いられているとき
    • 「なし」、「補償」タイプは、ただ1つのシーケンスフローの対象とならなければならない。つまり、これらの中間イベントはただ1つの入力シーケンスフローと接続しなければならない。
    • 「メッセージ」、「タイマー」、「条件」、「リンク」、「シグナル」タイプは、ただ1つのシーケンスフローの対象となることができる。つまり、これらの中間イベントはただ1つの入力シーケンスフローと接続することができる。
    • シーケンスフローのただ1つの起点となる。つまり、出力シーケンスフローは中間イベントと1つだけ接続する。
    ※「リンク元」タイプの中間イベントは、出力シーケンスフローが不要。
    (c) 「リンク」タイプの中間イベントが、「Off-Pageコネクタ」や「Go To」オブジェクトとして用いられたとき
    • シーケンスフローの起点と対象に同時になることはできない。つまり、同時に「リンク元」と「リンク先」の中間イベントとなることはできない。
    • 1つの「リンク元」中間イベントがあれば、それに対応する(同じ名称をもつ)「リンク先」中間イベントが存在する。
    • 1つの「リンク先」中間イベントに対する「リンク元」中間イベントが、複数存在する場合がある。
    • 1つの「リンク元」中間イベントに対する「リンク先」中間イベントが、複数存在してはならない。
  3. メッセージフローとの接続
    「メッセージ」タイプの中間イベントは、メッセージフローの起点となることも対象となることも可能。つまり、入力メッセージフローを接続することも出力メッセージフローを接続することも可能。しかし、同時に2つを接続することはできない。

各種の中間イベント

イベントの起因/トリガー(Triggers)説明マーカー
なし(None) イベントの種類を示さない場合に使用される。プロセスのメインフローに存在する中間イベントに対してのみ有効となる。つまり、この中間イベントは例外フローを導くことはない。プロセスの途中でなんらかの出来事が生じ、状態や状況が変化することを示す。 画像:none2.png
メッセージ(Message) 関係者からのメッセージを受け取る場合、または関係者へのメッセージを送信する場合に使用される。メッセージの受信または送信を起因(トリガー)としてプロセスに影響を与える。メッセージを待っている場合はプロセスを継続させる。例外処理においては通常フローから例外フローへと切り替える役割を果たす。
  • キャッチイベントの場合、つまり「メッセージの受信」を示す場合、使用するマーカーは右図の上。
  • スローイベントの場合、つまり「メッセージの送信」を示す場合、使用するマーカーは右図の下。
画像:Message2.png
画像:Message3.png
タイマー(Timer) 特定日時または特定サイクル(例えば、「毎週月曜の9 時」など)を、イベントの起因(トリガー)として設定できる場合に使用される。メインフローで使用する場合は、その特定の日時・サイクルが実際に到達するまでプロセスが一時停止する「遅延メカニズム」として作用する。例外処理として使用する場合は、特定の日時・サイクルが実際に到達すると通常フローを例外フローへと切り替える役割を果たす。 画像:Timer2.png
エラー(Error) エラー処理を行う場合に使用される。設定された条件を満たすエラー、またはそのような条件が設定されておらず任意の条件で発生するエラーを受け取り(catch)、例外フローへと切り替える役割を果たす(例えばトランザクションがハザードを引き起こした場合)。通常フローの一部となることはなく、常にアクティビティの境界に置かれる画像:Error2.png
キャンセル(Cancel) トランザクションキャンセル処理を行う場合に使用される。トランザクションのサブプロセス内で「キャンセル(失敗終了)」を受け取り、トランザクションの実行をやめ、例外フローヘ切り替える役割を果たす。常にサブプロセスの境界に置かれる。このキャンセル中間イベントが作動するのは、以下の2つの場合である。
  1. トランザクションのサブプロセス内で「キャンセル終了イベント」に流れが到達する場合
  2. トランザクションが実行されている最中に、トランザクションプロトコルを通じて「キャンセル」メッセージを受け取った場合
画像:Cancel2.png
補償(Compensation) 補償処理を行う場合に使用される。補償(アクティビティ実行前の状態に回復すること)を設定したり実行したりする。常にアクティビティの境界に置かれる必要がある。
  • キャッチイベントの場合、つまり「(設定された)補償の実行」を示す場合、使用するマーカーは右図の上。
  • スローイベントの場合、つまり「補償の設定」を示す場合、使用するマーカーは右図の下。

通常フロー内のアクティビティには、補償が必要であることを示す「スローイベント」型が境界に置かれる。このイベントと関連(Association)で結ばれた「補償アクティビティ」が実行され、元のアクティビティは補償を受ける。それ以外の、最高次のプロセスからサブプロセスまでのすべてを含めたプロセスインスタンスの内部で終了したアクティビティは、終了順序とは逆の順序で広く補償が行われる。

画像:Compensation2.png
画像:Compensation3.png
条件(Conditional) 特定の条件式を設定する場合に使用される。設定された条件式が「真(true)」となることが起因(トリガー)となってプロセスに影響を与える。 画像:Conditional2.png
リンク(Link) プロセス内でループ環境を作り出す場合、またはシーケンスフローの列の長大化を避ける場合に使用される。同じプロセスレベルの中でのみ用いられる。
  • キャッチイベントの場合、つまり「リンク元からプロセスを受け取る」イベントである場合、使用するマーカーは右図の上。
  • スローイベントの場合、つまり「リンク先へプロセスを送る」イベントである場合、使用するマーカーは右図の下。

リンクは、プロセス内の2つの部分をつなぐメカニズムであるが、親プロセスとサブプロセスをつなぐことはない。リンク中間イベントは、リンク元(Source)リンク先(Target)に1つずつ設けられて、互いに対応する。対となる中間イベントは、複数のページにまたがるプロセスの接続関係を示すため、Off-Pageコネクタとしても用いられる。逆に、同じプロセス内で詳細なプロセス図を展開するための「Go To」オブジェクトとして、用いられる。リンク元は複数あってもよいが、リンク先はただ1つでなければならない。

画像:Link2.png
画像:Link3.png
シグナル(Signal) プロセス進行中にシグナルを送ったり受け取ったりする場合に使用される。この中間イベントが通常フローの中で使用されるとき、このイベントはシグナルを受け取る(catch)こともを送る(throw)ことも可能。ただし、アクティビティの境界上に置かれた場合、シグナルを受け取る役割しか持たない。
  • キャッチイベントの場合、つまり「シグナルを受け取る」イベントである場合、使用するマーカーは右図の上。
  • スローイベントの場合、つまり「シグナルを送る」イベントである場合、使用するマーカーは右図の下。

シグナルとは、なんらかの内容を持つ合図である。発信源は特定されるが特定の相手はいない。これが特定の発信源と相手がいる「メッセージ」と異なる点である。BPMNでは、シグナルは同じプロセスレベルの中で伝わったり、異なるプロセスレベルの間で伝わったり、プールを横切って伝わったり、業務フロー図同士で伝わったりする。

画像:Signal2.png
画像:Signal3.png
複合(Multiple) プロセス進行中に起こるイベントに対する起因(トリガー)が複数ある場合に使用される。通常フローの中で使用されるとき、このイベントはトリガーに反応することもトリガーを設定することも可能。ただし、アクティビティの境界上に置かれた場合、トリガーに反応する役割しか持たない。
  • キャッチイベントの場合、指定された複数のトリガーのうちたった1つのトリガーが必要となる。使用するマーカーは右図の上。
  • スローイベントの場合、指定されたトリガーすべてを設定する必要がある(これは複合終了イベントと同じはたらき)。使用するマーカーは右図の下。
画像:Multiple2.png
画像:Multiple3.png

BPMN1.0仕様からの変更点

BPMN1.0仕様からBPMN1.1仕様への移行によって、表記および名称の点で変更が見られた。

  • 「メッセージ」タイプにおいて、新たに「スローイベント」型が追加
  • 「エラー」タイプのマーカーデザインがより極太に
  • 「キャンセル」タイプにおいて、「スローイベント」型から「キャッチイベント」型へ変更
  • 「補償」タイプにおいて、新たに「キャッチイベント」型が追加
  • 「条件」タイプにおいて、トリガーの名称変更(「ルール」→「条件」)
  • 「リンク」タイプにおいて、新たに「キャッチイベント」型が追加
  • 「シグナル」というトリガーがBPMN1.1仕様で新たに追加
  • 「複合」タイプのマーカーデザインが「六芒星(ろくぼうせい)」から「五角形」へ変更、新たに「キャッチイベント」型が追加

関連記事

参考文献

ツールボックス
リンク元
リンク先の更新状況
アップロード
特別ページ
印刷用バージョン
この版への固定リンク


カテゴリ
一般名詞 | 固有名詞 | 汎用業務プロセス | 基幹系業務プロセス | 支援管理系業務プロセス
Q-BPM Q-BPMでは企業内の業務フローについて、そのサンプルプロセスを幅広く例示し、業務フロー図の作成を支援します。 (※ 業務フロー図: 業務の流れ図/ビジネスダイアグラム/業務プロセス図) 当サイトは世界中の協力者を募るクラウドソース型情報発信サイトであり、サイトコンテンツは原則として「特定条件を満たせば転載可能」な「CC-By SA」と呼ばれるライセンスのもとに公開されます。 株式会社クエステトラ このサイトはBPMに興味があるが多数の書籍や文献、難しい用語の調査に膨大な時間を費やしている世界中のビジネスマンの為に株式会社クエステトラによって始められました。株式会社クエステトラはBPMに興味があるが多くの関連用語を調べたり文献を探したりする手間を減らして、BPMを理解したり、BPMを実際に活用したりする時間を世界中のビジネスマンに貢献したいと思っています。

Powered by MediaWiki CreativeCommons By SA