UMLのアクティビティ図とBPMNとの比較

<< 目次を表示 >>

ページ位置:  シミュレーション > 振る舞いモデルのシミュレーション > BPMNモデルのシミュレーション >

UMLのアクティビティ図とBPMNとの比較

BPMNモデルのシミュレーションは、UMLのアクティビティ図のシミュレーションと多くの類似点があります。下の表は、この両者の違いについてまとめてあります。

 

UMLのアクティビティ図

BPMN2.0モデル

シミュレーションの開始は、開始要素によって明示されます。アクティビティ要素から開始することはできません。

シミュレーションの開始は、Start Eventで明示されます。明示されていない場合に開始可能なアクティビティがある場合には、そのアクティビティから開始します。

アクティビティ図の基本的な構成要素はアクション要素です。UMLで定義されているさまざまな種類のアクション要素のうちの一部をシミュレーションでは利用可能です。

基本的な構成要素はActivityです。Activityにはいくつかのタスクの種類が指定できます。これらの種類によって、異なる動作になります。

コントロールフローを利用して、要素間をつなぎます。フォーク要素を利用しない場合には、常に1つの要素からは1つのコントロールフローが出る必要があります。フローを辿るかどうかの条件をガード条件として指定できます。

Sequence Flowを利用して要素間を接続します。複数のFlowがある場合には、全ての有効なFlowを辿ります。Flowに条件を指定することで、遷移を制限することができます。

デシジョン要素によって、明示的に分岐点を作成することができます。分岐した内容が結合する箇所では、マージ要素を利用します。

Gateway要素をExclusiveにすると、いずれか1つのフローを辿ります。分岐したフローを結合する場合には同じ要素を利用します。ConvergingあるいはDivergingの向きを指定して、明示的にいずれの目的かを明示することもできます。

フォーク要素を利用することで、複数のフローを同時に動かす(マルチスレッド対応)が可能です。ジョイン要素を利用し、分岐した処理をまとめます。すべてのスレッドがジョイン要素に到達すると先に進みます。

Gateway要素をParallelにすると、明示的に並行処理を作り出すことができます。また、並行処理したフローを全て待ち、1つのフローとして処理を系ぞkする場面でも利用します。ConvergingあるいはDivergingの向きを指定して、明示的にいずれの目的かを明示することもできます。

1つのアクションから並行する複数の出力フローを作成することはできません。出力フローが複数ある場合にはガード条件を設定する必要があります。

Gateway要素をInclusiveに設定することで、全ての出力フローについて、条件がtrueとなるものを並行処理することができます。

振る舞い呼び出しアクションを利用することで、外部のアクティビティを参照できます。

Activity要素をCallActivity Sub-Processに設定すると、外部のアクティビティを参照することができます。

アクティビティ要素は別の外部のアクティビティを参照することなく詳細な振る舞いを記述する場合に利用します。

Activity要素をEmbedded Sub-Processに設定することで、別の外部のアクティビティを参照することなく詳細な振る舞いを記述できます。