一般に、タスクを作成し、それらをタスク実行者に割り当てるための2つの基本的なツールがあります。
各方法には、それぞれ利点と欠点があります。これらについては、このトピックで詳しく説明します。タスクを構築するためのさまざまなツールや方法の使用について詳細な実践的ガイドが必要な場合は、タスクロジックチュートリアル1 - タスクロジックツールの実行もおすすめします。
標準ロジックの使用とは、ポート接続と3Dオブジェクトのプロパティを使用してタスクを作成し、タスク実行者に割り当てることを意味します。
たとえば、最も基本的なタスクは、タスク実行者を割り当てて1つの固定リソースから別の固定リソースにフローアイテムを輸送することです。このロジックを作成するには:
current.centerObjects[1]
を使用して、どのタスク実行者がこのタスクを実行するかを指定します。式current.centerObjects[1]
は3つの部分から成ります。最初のcurrent
の部分は、現在の3Dオブジェクト(現在プロパティを編集しているオブジェクト)に接続されているものを使用することを意味します。後半のcenterObjects
は、センターポートを介して接続されているものを使用することを意味します。最後の部分[1]
は、最初のセンターポートを介して接続されているタスク実行者を使用するように指示しています。
シミュレーションモデルで複数のタスク実行者を使用する場合は、通常、それらをディスパッチャーに接続する必要があります。ディスパッチャーは可用性やその他の要因に基づいて、タスク実行者にタスクを割り当てる処理を行います。
タスクを作成するための1つの方法は、リソース(処理フローの一種の共有アセット)を使用することです。
この種のシステムでは、処理フローを移動するトークンは通常、完了する必要があるタスクを表します。次にトークンは、3Dモデル内のタスク実行者またはタスク実行者のグループにリンクされているリソースを取得します。取得されたタスク実行者はその後タスクを完了し、タスクが完了するとリリースされます。
タスクを作成するもう1つの方法は、リスト(処理フローのもう一種の共有アセット)を使用することです。
この種のシステムでは、1セットのトークンが処理フローを通過して、完了する必要があるタスクをリストにプッシュします。次に、モデル内の各タスク実行者を表す別のトークンのセットもあります。タスク実行者に関連付けられているトークンは、リストからタスクをプルして、それらのタスクを完了します。これらのタスクを完了した後、タスク実行者を表すトークンは処理フローをループして、リストからさらにタスクをプルできます。
シミュレーションモデルの計画段階にあり、タスクロジックの設計に着手している場合、次の質問について考えてみることをおすすめします。
シミュレーションモデルでタスクを作成して割り当てるために使用する方法は、シミュレーションプロジェクト固有のニーズとこれらの質問への回答に応じて大きく異なります。より複雑なタスクロジックを作成する予定の場合は、おそらく標準の3Dロジックではなく処理フローツールの使用を検討する必要があるでしょう。
このことを念頭に置いて、次のテーブルに、タスクを構築するためのさまざまなツールと方法の利点と欠点の概要を示します。
方法 | 利点 | 欠点 |
---|---|---|
標準の3Dロジック |
|
|
処理フロー内のリソース |
|
|
処理フロー内のリスト |
|
|
シミュレーションプロジェクトで1つの方法がうまくいかない場合、別のツールや方法にいつでも切り替えられることを忘れないでください。繰り返しますが、タスクロジックチュートリアル1 - タスクロジックツールを完了すると、タスクを構築するためのさまざまなツールや方法についてより深く理解できるようになります。シミュレーションプロジェクトに最適なアプローチが見つかるまで、実験を恐れないでください。