処理フローのタイプ

処理フローのタイプの概要

新しい処理フローをシミュレーションモデルに追加する場合、最初に作成する処理フローのタイプを選択する必要があります。

このトピックでは、作成できる3つのタイプの処理フローの概要について説明します。使用されるモデルに最適な処理フローのタイプを決定する際にお役立てください。

処理フローのタイプ

処理フローの主な目的は、シミュレーションモデルの基本的なロジックをコントロールすることです。この点において、処理フローをシミュレーションモデルの「頭脳」と考えることができます。したがって、作成する処理フローのタイプを決定するのは、どの頭脳を実装するのかという問いに答えることに似ています。

一般

すべてのモデルに対して一元化された頭脳を作成する場合は、このタイプを選択します。一般タイプの処理フローは、シミュレーションモデル内の多くのオブジェクトにグローバルにアクセスする必要がある処理フローロジックを作成する場合に理想的です。一般的な処理フローは、モデル内の複数のオブジェクトで使用する必要がある任意のラベル、変数、ロジックを配置するのに適しています。

オブジェクト

1つ以上のオブジェクトの頭脳を作成する場合は、このタイプの処理フローを選択します。カスタムFRオブジェクト用のロジックを作成する場合や、オブジェクトの標準的なFlexSimロジック以上の追加機能をそのオブジェクトに含める場合は、このタイプの処理フローを使用します。

オブジェクトの処理フローを定義する場合、オブジェクトそのものの観点からロジックを定義します。この観点は、一般的にオブジェクト指向のプログラミングと同義です。また、これは エージェントベースのモデリングの概念とも合致します。

サブフロー

サブフローを作成する場合は、このタイプの処理フローを選択します。サブフローは、複数のオブジェクトが使用する、頭脳のごく一部分のようなものです。サブフローは、複数の処理フローの別々のアクティビティやイベントによってトリガーされたときに実行される別個の処理フローです。サブフローは、シミュレーションモデルまたは一般的な処理フローで特定のイベントによってトリガーされたときに実行される、自己完結型ロジックをまとめたものです。プログラミング用語に詳しい場合は、サブフローを関数またはサブルーチンと同様に考えることができます。詳細については、「サブ処理フロー」を参照してください。

どのタイプの処理フローを開始すればよいのかわからない場合は、[一般的な処理フロー]を選択します。選択した処理フローのタイプは、3Dシミュレーションモデルで処理フローをオブジェクトにリンクするために利用できるピックリストオプションに影響することに注意してください。

人フローはオブジェクトフローの特殊なバージョンであり、人インスタンスを作成する一般的なフローも作成します。

処理フロータイプを追加および変更する

処理フローを追加するには、メインツールバーの[処理フロー]ボタンをクリックして、メニューから適切な処理フローのタイプを選択します。

処理フローを作成した後、処理フローのタイプを変更する方法(一般的なプロパティなど)はありません。ただし、処理フローで作業しているときに別の処理フローのタイプを選択していたことがわかった場合は、単純に新しい処理フローを作成して古い処理フローから新しい処理フローにアクティビティとスタックブロックをコピーします。アクティビティは、コピーされるときに同じ設定とプロパティをすべて維持します。詳細については、「アクティビティまたはスタックブロックをコピーして貼り付ける」を参照してください。

インスタンス

さまざまなタイプの処理フローを使用する場合、インスタンスの考え方が思い浮かびます。インスタンスは、処理フローの「頭脳」の固有のコピーです。たとえば、前述のように、固定リソースの処理フローは固定リソースの頭脳を実装しています。この頭脳を実装すると、モデル内で処理フローを1つ以上の固定リソースにアタッチできます。各固定リソースは、処理フローの個別のインスタンスになります。

一般的な処理フローを使用している場合、インスタンスは1つだけ、つまり処理フローだけになります。固定リソースの処理フローやタスク実行者の処理フローを使用する場合、処理フローにアタッチされるオブジェクトごとに1つずつインスタンスが存在します。サブフローを使用する場合、処理フローで定義したルールに基づいて、インスタンスはモデルの実行中に動的に作成されます。

インスタンスの詳細については、「処理フローインスタンス」を参照してください。