[スケジュールソース]アクティビティでは、その[到着]テーブルに指定されたとおりに新しいトークンが作成されます。このテーブルは、トークンが作成される時間(モデル単位)、新しいトークンに割り当てられる名前、作成するトークンの数を定義します。これらの設定には固定値と動的に計算された値のいずれも使用可能です。このテーブルに手動でデータを入力するか、Excelインターフェイスを使用してExcelスプレッドシートからテーブルをインポートすることもできます。
次の画像は、[スケジュールソース]アクティビティの到着予定の例を示しています。
[オフセット時間]を利用すれば、一定時間経過後に[スケジュールソース]アクティビティで到着スケジュールを開始させることができます。前の画像で使用された例では、[オフセット時間]は100
に設定されています。つまり、シミュレーションの実行中にシミュレーションの時計が100に到達するまでスケジュールは開始されません。
現時点では、[スケジュールを繰り返す]のチェックボックスはスキップします。これに関しては後で説明します。
[スケジュールソース]アクティビティにはそれぞれ、新しいトークンを作成するスケジュールを制御する[到着]テーブルがあります。テーブルの各行は、1つ以上の新しいトークンが作成される時点を表します。各列の下のセルの値を変更し、到着スケジュールをカスタマイズできます。
このことを念頭に置き、[スケジュールを繰り返す]チェックボックスに戻りましょう。スケジュールが繰り返すように設定されている場合、無限にループします。オフセット時間は繰り返されません。先の画像に示された例では、最初のトークンは(100というオフセットのために)105で作成されます。次に、110でトークンが5つ作成され、120で2つ作成されます。次に、スケジュールが繰り返されます。125でトークンがさらに1つ作成され、130で5つ、140で2つ作成され、以降、同様に続きます。このプロセスは、シミュレーションの時計が停止するまで無限に続きます。
繰り返しの間にギャップを作成する場合、リストの終わりに到着を追加し、数量を0に設定します。この設定により、その時点でトークンは作成されなくなります。この例では、到着時刻40、数量0を追加すると、到着時間は105、110、120になり、最初の繰り返しの後、到着は145、150、160になります。
上の例では、すべての到着時刻、トークン名、数量が静的値として定義されていました。しかし、到着テーブルの各値はピックリストまたはコードを利用して動的に定義することもできます。これにより、到着スケジュールの定義方法をいろいろとコントロールできます。到着時刻を計算するときは、値を前の到着より大きな数値にしなければならないことに留意してください。「arrivalTime = time -
previousTime + modelTime;
」となります。
モデルの実行中に、処理フローオブジェクトのインスタンスを動的に作成する場合があります。[人を作成]アクティビティは、フローアイテムビンから新しい人物を作成し、インスタンス化された処理フローを定義して、作成された人物にアタッチできます。そのとき、プロセスフローにスケジュールソースアクティビティがあると、そのスケジュールはあたかも時刻0からのように開始します。つまり、時間はすべてインスタンスの作成時刻からの相対値になります。たとえば、[スケジュールソース]アクティビティに登録されている最初の時刻が50、オブジェクトの新しいインスタンスが時刻200で作成された場合、最初のトークンは時刻250で作成されます。
絶対時間を定義する決まったスケジュールが必要な場合、[日時ソース]を使用してください。
[スケジュールソース]アクティビティでは、コネクターを1つのみ使用できます。詳細については、「アクティビティを追加および接続する」を参照してください。
次の画像は、[スケジュールソース]アクティビティのプロパティを示しています。
これらの各プロパティについては、次のセクションで説明します。
アクティビティの名前を変更するために使用します。このプロパティの詳細については、「名前」を参照してください。
[フォント]ボタン で、アクティビティの背景色プロパティとフォントプロパティを編集するウィンドウが開きます。このプロパティの詳細については、「フォント」を参照してください。
[統計]ボタン でアクティビティの統計ウィンドウが開きます。このプロパティの詳細については、「統計」を参照してください。
これを利用すれば、一定時間経過後に[スケジュールソース]アクティビティで到着スケジュールを開始させることができます。たとえば、到着テーブルで最初のエントリの時間が20、オフセット時間が10の場合、最初のトークンはシミュレーション時間30で作成されます。
[スケジュールを繰り返す]チェックボックスをオンにすると、シミュレーションの実行中、スケジュールは無限に繰り返されます。オフセット時間は周期ごとに繰り返されず、スケジュールの始まりを計算するときにのみ使用されます。たとえば、到着テーブルの最後のエントリが時間50、オフセット時間が10の場合、最初の周期はシミュレーション時間60で終了します。第2周期はシミュレーション時間110で終了します。
ここで到着予定が定義されます。(詳細については、「到着スケジュールの概要」を参照してください)。行は ボタンのクリックで追加、
ボタンのクリックで削除、
ボタンと
ボタンのクリックで並べ替えできます。また、編集フィールドを利用してテーブルを任意のサイズに設定できます。テーブルはまた、Excelインポーター
に追加できます。Excelからデータをインポートできます。
テーブルには列が3つあります。
テーブルのすぐ下にあるピックリストフィールドを使用して、テーブルまたは動的値を介して静的な値を定義できます。詳細については、「動的到着値」を参照してください。
このフィールドは、[到着]テーブルで現在選択されているセルに基づいて変更されます。このボックスとその横にあるプルダウン矢印を使用して、テーブルの時間、名前、数量、ラベル値の動的値を入力できます。プルダウンメニューからピックリストオプションを選択するか、FlexScriptに精通している場合はカスタムコードで入力できます。
到着エントリに基づいて、作成したトークンにラベルを追加できます。ラベルの割り当ての詳細については、「ラベルを割り当てる」アクティビティを参照してください。