イベントを待つ
概要と主要な概念
[イベントを待つ]アクティビティは、特定のイベントがトリガーされるまでトークンを保持します。このアクティビティは、そのイベントがシミュレーションモデルで発生するのをリッスンします。そのイベントが発生すると、トークンがリリースされます。
[イベントを待つ]アクティビティの仕組みについて理解を深めるため、まず次のトピックを読むことをお勧めします。
より高度な機能として、[イベントを待つ]にはリッスンしているイベントの戻り値をオーバーライドする機能もあります。
このアクティビティが最初に作成されると、アクティビティが機能するためにイベントへのリンクが必要であることを通知する赤い感嘆符 がアクティビティの右側に表示されます。このリンクは、感嘆符をクリックしてからアクティビティやオブジェクトをクリックし、イベントを選択することによって、直接ポインターにできます。または、[クイックプロパティ]から参照を設定できます。
コネクター
[イベントを待つ]アクティビティでは、複数の発信コネクターを使用できます。ただし、このアクティビティから自動的にリリースされたトークンは、最初のコネクターからリリースされます。手動でリリースされたトークンのみが別のコネクターから出ることができます。詳細については、「アクティビティを追加および接続する」を参照してください。
プロパティ
次の画像は、[イベントを待つ]アクティビティのプロパティを示しています。
これらの各プロパティについては、次のセクションで説明します。
名前
アクティビティの名前を変更するために使用します。このプロパティの詳細については、「名前」を参照してください。
フォント
[フォント]ボタン で、アクティビティの背景色プロパティとフォントプロパティを編集するウィンドウが開きます。このプロパティの詳細については、「フォント」を参照してください。
統計
[統計]ボタン でアクティビティの統計ウィンドウが開きます。このプロパティの詳細については、「統計」を参照してください。
オブジェクト
[オブジェクト]ボックスを使用し、[イベントを待つ]アクティビティがリッスンするオブジェクトを選択します。必要に応じて次のオブジェクトをリッスンできます。
- モデル内のオブジェクト。
- 処理フロー内のアクティビティ。
- 現在のインスタンスのオブジェクト(詳細については、「処理フローインスタンス」を参照してください)。
- オブジェクトのグループ。この場合、アクティビティはグループの全メンバーで定義されたイベントをリッスンします。
[オブジェクト]ボックスの横にあるプルダウン矢印を使用するか、[サンプラー]ボタン を使用してオブジェクトを選択することで、リッスンするイベントを選択できます。
イベント
[イベント]ボックスを使用し、[イベントを待つ]アクティビティがリッスンするイベントを選択します。[イベント]ボックスは、[オブジェクト]ボックスで選択したオブジェクトにつながっています。[サンプラー]ボタンを使用して[オブジェクト]ボックスのオブジェクトを選択すると、そのオブジェクトで利用可能なさまざまな種類のイベントがすべて一覧表示されたメニューが表示されます。(このメニューは、そのオブジェクトで利用できるすべてのイベントに基づいて動的に作成されます)。このメニューから選択したイベントは、[イベント]ボックスで自動的に一覧表示されます。
1つのオブジェクトで複数のイベントをリッスンできます。元のイベントとは別のイベントを追加するには、[イベントを追加]ボタン を押します。追加したイベントには、削除する場合のために[削除]ボタン が表示されます。
ラベル照合/割り当てと変更ルール
[ラベル照合/割り当て]プロパティや[変更ルール]プロパティは、オブジェクトとリッスンするイベントを選択すると表示されます。これらのプロパティの詳細については、「ラベル照合/割り当て」を参照してください。
リスナーの初期化時
これは、イベントリスニングのメカニズムが設定された後に評価されるフィールドです。たとえば、[固定リソース処理フロー]でアイテムをリリースし、アイテムがオブジェクトから離れるのを待つ場合は、このフィールドを使用できます。ここで、まずリスニング終了のメカニズムを設定してからアイテムをリリースする必要が生じます(逆の順序で行うと、リスニング終了を設定する前にアイテムが離れる場合があるためです)。[イベントを待つ]を使用して終了をリッスンできます。その後、リスニングが設定されたらアイテムをリリースします。
イベントオブジェクトの割り当て先
指定したラベルやノードにイベント起動オブジェクトへの参照を割り当てます。これは、(おそらくグループからの)複数のオブジェクトをリッスンしているとき、イベントを起動させたオブジェクトを知る必要がある場合に便利です。このボックスは必須ではなく、空のままにできます。
トークンを送信
デフォルトでは、シミュレーションモデルでトリガーイベントが発生すると、トークンは次のアクティビティにリリースされます。ただし、[トークンを送信]フィールドを使用して[イベントを待つ]アクティビティにさらに複雑なロジックを組み込み、[決定]アクティビティのように機能させることができます。[トークンを送信]フィールドの詳細については、[決定]アクティビティを参照してください。
最大待機タイマーの使用
待っているイベントが発生したかどうかにかかわらず、一定の時間が経過した後にトークンをリリースするには、[最大待機タイマーを使用]をチェックします。また、待機タイマーが切れたためにトークンがリリースされた場合の、このトークンの取り扱いについて決めておくこともできます。このプロパティの詳細については、「最大待機タイマー」を参照してください。