本章では、シミュレーションのモデルロジックを構築する方法を学習します。FlexSimでは、シミュレーションモデルを実行しているときの3Dオブジェクトとその他のシミュレーション要素の全体的な動作と相互作用のことをロジックと言います。つまり、モデルロジックとは、シミュレーションモデルの実行開始からシミュレーションが終了するまでに発生する一連のイベントをコントロールするものです。
ご想像のとおり、モデル化しようとしているビジネスシステムの複雑さによっては、シミュレーションモデルのロジック構築が困難なことがあります。本章の他の項目は、できるだけ簡単なロジックを構築することを狙いとしています。本章ではまず、FlexSimにおける一般的なモデルロジックの機能を理解するために必要となる主要な概念について説明します。次に、モデルロジックの構築に関わるさまざまなツールの操作方法について説明します。
ユーザーマニュアルの今後のリリースで、本章にはさらに多くのトピックが追加されることになっています。役立つトピックがないか時々見返してください。
モデルロジックの構築には、ほぼすべてのFlexSimツールが何らかの形で関わっています。しかし、この処理には他のツールよりも重要度の高いツールがあります。このセクションでは、主要なツールの一部をご説明します。
これまでの説明で、3Dオブジェクトのプロパティを編集すると、その動作やビジュアル外観をコントロールできるようになることがわかりました。
オブジェクトのプロパティを編集するには、主に[プロパティ]ウィンドウを使用します。ただし、一部のプロパティは[クイックプロパティペイン]でも使用できます。詳細については、「オブジェクトプロパティを編集する」を参照してください。
処理フローツールは、シミュレーションモデルのロジックを構築するために使用する主要ツールです。処理フローツールを使用すると、モデルのロジックのフローチャートを作成できます。このフローチャートの中に、あらかじめプログラムされたロジックの小さいかたまりを含むアクティビティを追加します。シミュレーションモデルを実行すると、トークンと呼ばれる小さな緑色の円が処理フローアクティビティを移動し、各アクティビティのロジックを実行します。
アクティビティのプロパティを編集して、これらのアクティビティを3Dモデルのオブジェクトにリンクさせることができます。または、純粋に処理フローツールそのものの内部で自己完結するシミュレーションを作成することもできます。たとえば、必要に応じて、シミュレーションモデルのフローアイテムにトークンをリンクできます。
処理フローツールを使用してモデルのロジックをコントロールすることには、次のような利点があります。
FlexScriptはFlexSimの内部スクリプト言語です。処理フローツールにより、ほぼあらゆる種類のシミュレーションロジックを扱えますが、上級ユーザーはFlexScriptを使用してモデルロジックをコード化する方法を覚えると役立ちます。FlexScriptを学習すると、シミュレーションプロジェクトを高度化したり、シミュレーションモデルの表面下で何が起こっているかを理解したりするのに役立ちます。本章では最終的にFlexScriptでのコーディングの基礎を紹介しますが、今のところはまずこのマニュアルの「リファレンス」セクションにある「FlexSimでコーディングする」のトピックを参照してください。
以下のセクションでは、モデルロジックを構築する際の一般的なガイドラインを示します。
多くのFlexSimユーザーは、通常、ビジネスシステムの簡単なフローチャートを作成することからシミュレーション処理を開始します。モデル構築の初期段階で、処理フローツールでこのようなフローチャートを設計し、モデル構築の後期段階で、同じフローチャートにさらに複雑なロジックを追加し、シミュレーションモデルのロジックをコントロールできます。
処理フローツールには、簡単にプロジェクトの規模を拡大縮小したり、複雑さを変更したりできる機能が多数あります。一般的に、シミュレーションプロジェクトには、複雑で大きな問題が含まれますが、これらは小さな問題の組合せに分割できます。大規模なシミュレーションモデルを小さく管理しやすいものに分割し、一度に1つの要素に取り組むことを検討してください。その小さな要素にロジックを1つ構築したら、シミュレーションモデルを実行してテストし、予測どおりに動作するかを確認します。1つの要素がうまく機能したら、そこからさらに多くのロジックを構築できます。
処理フローツールを使用すれば、プロジェクトのライフサイクルの早い段階において、ユーザーが納得のいく観点から、シミュレーションのロジック構築を始めることができます。つまり、より迅速にユーザーのアイデアをシミュレーションに組み込むことができます。また、ユーザーの知識が変化したり、ユーザーがビジネスシステムに関する新しい情報を得たりしたとき、シミュレーションのライフサイクルの後半で、より簡単に効率的にシミュレーションを作り変えることができます。