複数選択

この例では、1 つのプロセスの中の多数のブランチのうち、2 つ以上が実行されます。この例を実装するには、ゲートウェイ要素を使用するか、イベントレシーバーをプロセスのスタートポイントとして使用します。

ゲートウェイを使用した実装

この例には、プロセス変数(どのブランチを実行するかに関する情報を格納)とゲートウェイ(実行可能なブランチを格納)が含まれています。各ブランチの特性は次のとおりです。

  • 各ブランチの最初の操作は、Decision Point サービスによって提供される execute 操作です。

  • この execute 操作を起点とするルートは、ブランチ内で実行されるアクティビティに続いています。

  • このルートには条件が関連付けられており、この条件に従って、アクティビティを実行するかどうかが判断されます。ルートが有効である場合は、アクティビティが実行されます。ルートが有効でない場合は、ブランチは完了となり、アクティビティは実行されません。

    次の図では、activity A と activity B のいずれかまたは両方が実行されます。

イベントを使用した実装

この実装には、1 つのメインプロセスと多数のサブプロセスが含まれます。これらのサブプロセスは、実行される可能性のあるブランチです。実行時にどのサブプロセスを実行するかは、非同期タイプのイベントを使用して次のように決定します。

  • メインプロセスによって、このイベントがスローされます。イベントデータは、イベント情報の中に含まれています。

  • サブプロセスはそれぞれ、このイベントをスタートポイントとして受け取ります。スタートポイントに対するフィルターによって、そのサブプロセスが実行されるかどうかが決まります。

    次の例では、メインのサブプロセスによって非同期イベントがスローされ、各サブプロセスはこのイベントをスタートポイントとして使用します。サブプロセスのスタートポイントに対するフィルターによって、そのサブプロセスを起動するかどうかが決まり、したがって activity A、activity B、またはその両方の、どれを実行するかが決まります。

    A.
    メインプロセス。

    B.
    activity A が含まれるサブプロセス

    C.
    activity B が含まれるサブプロセス。