2016-06-18 7 views
2

状態をBPMN図で表す方法は?BPMN図の状態

エンティティの動作を記述したBPMN図があります。アクション間にはいくつかのアクションと矢印があります。エンティティが特定の状態にある2つの与えられたアクションの間にそれを表現したいと思います。

BPMNで可能ですか? BPMN データモデリング

答えて

3

は、そのような目的のために使用されています。プロセスモデリングでは、プロセスの実行中に操作され使用されるアイテム(オブジェクト)をモデル化することが不可欠です。プロセス内のモデルデータの

プライマリ構築:BPMNにこれを行うための最も一般的な要素は、典型的には、この

enter image description here

よれBPMN 2.0仕様のように描かれてデータオブジェクト、ありますflowはDataObject要素です。 DataObjectには、定義されたライフサイクルがあり、結果としてアクセス制約が生じます。
データオブジェクトクラスは、項目を意識した要素です。データオブジェクト要素は、Process要素またはSub- プロセス要素に含まれなければならない。私たちはあなたの質問に固執する場合

また、DataStateと呼ばれるデータオブジェクトの特殊な属性があります。仕様に従って:

データ・オブジェクトの要素は、任意 データオブジェクトに含まれるデータの状態であるDataState要素を参照することができます。これらの状態の定義、例えば、 の可能な値および特定の意味論は、この国際標準の範囲外である。

ご覧のとおり、これらの状態は文書化されておらず、一部のベンダーでは実装されていません。たとえば、Camundaがそれをサポートします。

0

もう1つのアプローチは、状態の変化を表す動詞と名詞の組み合わせを使用してアクティビティに名前を付けることです。 「出荷順」が完了している(ループバックのあるゲートウェイがない)場合、注文の状態は「出荷」されたものと推定できます。

私はBPMNプロセスを主にアクティビティ指向と見ています。アクティビティは直接的に表現されますが、オブジェクトの状態はしばしば間接的に表現されます。 BPMNプロセス図は状態図ではありません。 (違いは、私とビジネスアナリストの間で、古典的なデータ中心のアプリケーションの状態をモデリングするのに使用されたいくつかの議論の話題です。)

+0

まあ、人間は、「船の注文」活動から「船積み」を推測するのは、プログラム的に行うことは全く不可能です。問題は、BPMNプロセスの一部をインプリメンテーションの状態(プロセスの特定の段階で有効なインバリアント)で接続する必要があることです。 –

+0

したがって、BPMNダイアグラムをプロセスエンジン(BPMS)で実行しないでください。そうすれば、たとえ外部システム(SoR)が存在していても、プロセス状態を維持するというBPMSの唯一の責任(私には、特定のタスク/活動 - 。 関連するタスク/ s /に続いて、ラベルとしての状態のシグナル中間送信イベントを使用できるのだろうかと思います。シグナルがSoRによって受信されると、そこで状態がセットされるか、先行するタスクのインプリメンテーションは、その実装の終了時に状態を更新する。 – mEdling

+0

私はBPMNプロセスで人間以外の参加者を実装するための自動ソフトウェア合成の可能性を研究しています。イベントを使用して、それらの間の相互作用をモデル化しますが、生成されたソフトウェアで意味のある名前を使用して検査と理解を行う必要があります。 –

関連する問題