[フロー]タブ
[フロー]タブについて
[フロー]タブは、固定リソースでのみ使用できます。3Dオブジェクトのプッシュ/プルロジックを制御するには、[フロー]タブを使用します。
次のセクションでは、[フロー]タブで使用可能なプロパティについて説明します。
出力
これらのプロパティによって、オブジェクトがフローアイテムを下流に送る方法が決まります。
ポートに送信
このピックリストは、フローアイテムの移動先のオブジェクトに接続されている出力ポート番号を返します。0が返されると、すべての出力が開かれ、フローアイテムは受け取ることができる下流の最初のオブジェクトに移動します。
輸送を使用
このチェックボックスがオンの場合、オブジェクトはフローアイテムを下流に移動する輸送を要求します。チェックボックスがオフの場合は、フローアイテムは自動的に移動します。
[輸送を使用]チェックボックスをオンにすると追加フィールドが有効になり、生成される輸送タスクシーケンスをどこに送付するかを定義できます。デフォルトでは、オブジェクトの最初のセンターポート(current.centerObjects[1])に接続されているタスク実行者/ディスパッチャーにタスクシーケンスが送付されますが、必要に応じてカスタム定義が可能です。
優先度
このパラメータは[輸送を使用]が選択されている場合にのみ使用できます。この値は、トランスポーターまたはディスパッチャーに送信されるタスクシーケンスの優先度を設定します。通常、トランスポーターとディスパッチャーはタスクシーケンスを並べ替え、優先度の高いシーケンスが最初に実行されるようにします。優先度が同じタスクシーケンスは、受信した順に実行されます。
プリエンプト
このパラメータは[輸送を使用]が選択されている場合にのみ使用できます。プリエンプト値のいずれかに設定されている場合、その時点でのトランスポーターの動作に関係なく、トランスポーターに送られるタスクシーケンスが自動的にプリエンプトします。これにより、容量よりも多くのフローアイテムを運ぶなど、通常は許可されないタスクをトランスポーターで実行できるようになります。
下流の可用性でSendtoを再評価
チェックボックスをオンにすると、下流のオブジェクトが使用可能になるたびに、[ポートに送信]が再評価されます。下流のオブジェクトが使用可能になったときにのみ実行されることに注意してください。下流のオブジェクトがすでに使用可能であるという理由だけで連続的に評価することはありません。下流のオブジェクトが使用可能になったとき以外のタイミングで手動により再評価を強制実行する場合は、このオブジェクトにopenoutput()コマンドを呼び出すことによって実行できます。
入力
これらのプロパティは、オブジェクトが上流のオブジェクトからフローアイテムをプルする方法を定義します。
プル
このチェックボックスをオンにしていると、オブジェクトは上流のオブジェクトからフローアイテムをプルします。上流のオブジェクトは、必要なフローアイテムをオブジェクトでプルできるように、すべての出力ポートを開く必要があります。
プル方法
このパラメータは、[プル]が選択されている場合にのみ表示されます。このピックリストは、次のフローアイテムがプルされるオブジェクトに接続されている入力ポート番号を返します。このフィールドは、モデルがリセットされたときか、オブジェクトのプルで次のフローアイテムを受け取る準備ができたときにのみ評価されます。容量が1のプロセッサの場合、各フローアイテムがプロセッサを終了した直後に[プル方法]フィールドが1回のみ評価されることを意味します。
プル要件
このパラメータは、[プル]が選択されている場合にのみ利用できます。このピックリストは、真(1)または偽(0)のいずれかを返す必要があります。このフィールドは、「ポートからプル」フィールドで定義された上流のオブジェクトから特定のフローアイテムをプルするかどうかを検討するときに評価されます。このフィールドは、フローアイテムは上流のオブジェクトを離れる準備ができていることを意味する、「準備完了」状態(FRSTATE_READY)にあるフローアイテムに対してのみ評価されます。基本的に、「プル要求」フィールドは、「ポートからプル」フィールドが評価された直後に、「準備完了」の各フローアイテムで評価されます。後で上流のオブジェクトで新しいフローアイテムが準備可能になると、そのたびにこのフィールドが再度評価されます。
上流のアイテムがリリースされるたびにアイテムのプル要件をすべて再評価
このパラメータは、[プル]が選択されている場合にのみ表示されます。このチェックボックスをオンにすると、新しいフローアイテムがリリースされるたびに、オブジェクトは上流のリリースされたすべてのフローアイテムのプル要件を再評価します。これは、プル要件の再評価を手動でトリガーする場合にopeninput()を明示的に呼び出す必要がある点で、[下流の可用性でSendtoを再評価]チェックボックスと非常に似ています。