2016-08-11 16 views
0

私は特定の動作をモデル化しようとしています。ここでは、異なるスイムレーンでの2つのアクティビティがループ内で処理されるはずです。現在、BPMNはトークンを使用して、取得されたフローとパスを消去します。そのようなトークンがループの場合にどのように機能するのだろうか。すべてのアクティビティ反復でトークンが作成され、結果として接続されたアクティビティを通過しますか?BPMNのマルチインスタンスとループ

など。たとえば、Activity1がループで10回実行されるとします。これにより、プロセスの残りのアクティビティをそれぞれ通過する10のトークンが作成されますか?このような振る舞いは望ましくないかもしれませんが、私がマルチインスタンスの活動がそうした方法で行われていると誤解されていなければ、

BPMN仕様に準拠する唯一の解決策は、アクティビティのブロック全体に対してCallアクティビティを作成してから、ループアクティビティをループで実行することです。

トークンの観点からBPMNのループとマルチインスタンスの使用を誰かが明確にすることはできますか?

ありがとうございます!

答えて

0

トークンはEntryからシングルトークンとして開始し、Exitに達するまで移動します。フォークに到達したときだけ、トークンにはフォークが発信するコントロールフローが何回も掛けられます。これらのトークンは、Exit(および消失)に到達するか、Join Forkに到達するまで独立して移動します。ここでは、すべての制御フローが到着してからのトークンが到着するまで待つ。次に、発信制御フローから単一のトークンが続行されます。

フォークには複数のイン・アウト・コントロール・フローと複数のアウト・イング・コントロール・フローを含めることができます。あなたはこれを結合して多重化フォーク(これは私が思うように理解しやすくする)であると考えることができます。

詳しくはPetri nets(これはすべてのものの理論的根拠です)を参照してください。

関連する問題