- はじめに
- 基本情報
- プロセス モデリング
- プロセスの実装
- プロセスの操作
- プロセスの監視
- プロセスの最適化
- 参考情報

Maestro ユーザー ガイド
マーカー
マーカーは、BPMN のタスクやコール アクティビティに注釈を付け、繰り返し処理や補償処理などの意図を伝えます。Maestro では、マーカーはモデリングをわかりやすくするためだけのものです。ただし、実行時に解釈されるマルチインスタンス マーカーは例外です。
マルチインスタンス マーカー
マルチインスタンス マーカーは、コレクション (リストまたは配列) 内の項目ごとにアクティビティを 1 回実行する必要がある場合に使用します。
| 入力 | 意味 | 実行時の注意事項 |
|---|---|---|
| 順次 | 一度に 1 つの項目を順番に実行する | 順序は維持されます。次の項目は前の項目が完了した後に開始します。 |
| 並列 (Parallel) | 一度に複数の項目を実行する | 各項目は同時に実行されます。順序は保証されません。 |
同じアクティビティの複数のインスタンスをシーケンシャルまたは並列で実行するようにタスクを設定できます。
- プロセス ダイアグラムでタスクを選択します。
- [要素を変更] を選択し、並列マルチインスタンスまたはシーケンシャル マルチインスタンスを選択します。
- [プロパティ] パネルで [マルチインスタンス] セクションを開きます。
- マルチインスタンスを有効化します。
- 反復処理する項目のリストを格納するコレクション変数を設定します。
- 必要に応じて、現在の項目を表す要素変数を定義します。
これで、ダイアグラム上のタスク ボックスにマルチインスタンス マーカー (シーケンシャルの場合は 3 本の横線、並列の場合は 3 本の縦線) が表示されます。


マルチインスタンス マーカーのアノテーションが付けられたタスクまたは呼び出しアクティビティは、コレクション (リストに評価される変数または式) を参照する必要があります。アクティビティがアイテムごとに結果を返す場合に、結合された出力が 1 つしかない場合は、それらの結果を結合するように [集計] を設定します (たとえば、collect as a list、または式で縮小します)。
シーケンシャル マルチインスタンス
タスクでは、リストにある各項目を 1 つずつ実行します。現在の項目の正常な完了を待機したうえで次の項目を開始します。すべてのタスクが完了すると、以降のプロセスの実行を続行します。

並列マルチインスタンス
タスクを並列に実行し、すべての実行の正常な完了を待機したうえで残りのプロセスの実行を続行します。

補償マーカー
ダイアグラムでアクティビティを補償の対象としてマークします (undo ロジック)。Maestro は実行時に補正を自動的に実行しません。モデルに明示的に undo ロジックを実装してください。
モデリングのガイダンス
- 特に実行の制約を認識していない関係者向けに、マーカーを使用することで設計の意図を明確にできます。
- Maestro で実行時の動作が変わるのはマルチインスタンス マーカーのみです。他のマーカーは視覚化を支援するものです。
- ループ ロジックまたは補償のアプローチは、プロセス モデル内の他の場所で文書化してください。
- 読みやすくするために、名前付きのコレクションと明確な項目スキーマを使用することをお勧めします。
マルチインスタンスの作業を設定および実行する方法については、「マルチインスタンスの実装」をご覧ください。
Maestro でサポートされる BPMN 要素について詳しくは、「BPMN でサポートされている要素」をご覧ください。