アクションの前提条件の設定
アクションの前提条件の設定は、以下の3つの手順で行います。
変数の作成
前提条件となる変数は、その他の変数と同じように作成します。この変数は、状態変数でもグローバル変数でも構いません。どちらを選択するかは、モデルの実行においてどのような条件が満たされてからアクションを実行したいかに基づいて決定します。
前提条件のベースとなるのが同じ状態内の別のアクションであれば、状態変数を使用します。例えば、OKボタンのクリックを有効にするのに、必ずユーザー名とパスワードの入力が必要となるログイン画面が考えられます。それぞれが別のアクションとなるモデルを構築する場合、状態変数を使って、ユーザー名アクションとパスワードアクションの両方をOKアクションの前提条件として設定することが可能です。
Eggplant AIモデルのログイン画面用の状態
グローバル変数は、モデル内のある1点で起こり、それ以外の複数の場所ではそのアクションをブロックできるようなものに関する前提条件として使用可能です。例えば、一部の機能にアクセスするにはユーザーによるシステムへのログインが必要である一方、それ以外のものにはログインが必要ないケースが考えられます。このケースでは、ログインアクション発生時にグローバル変数を設定し、ログイン済みのユーザーであることが要求されるモデル内の他の場所の各アクションに前提条件としてこのグローバル変数を使用します。
Tip: The currentState variable is a special predefined global variable that contains the name of the current state. You can use this variable to prevent a global action from being called from a specific state. For instance, if you have a global action for Quit, you might want to block that action from being called from your Initial state.
変数の作成については、状態変数のセクションを参照してください。
評価条件の設定
前提条件を満たしてからアクションにアクセスするよう、変数の評価条件を設定します。この変数用の値が正しくないと、与えられたアクションをモデルの実行によって呼び出すことができません。
評価条件は、Action PropertiesタブのPreconditions for this Action to Executeセクションで設定します。評価条件の設定は、以下の手順で行います。
- Modelタブで、前提条件を適用したいアクションを選択します。右側のペインに、Action Propertiesタブが表示されます。Preconditions for this Action to Executeセクションには、選択したアクションが利用できるすべての状態変数とグローバル変数が一覧表示されています。
- 評価対象にしたい変数において、Conditionドロップダウンメニューから評価条件を選択します。
- Valueフィールドで、評価に用いる値を入力または選択します。入力する値は、Typeフィールドに表示されている変数型と矛盾しない値であることが必要です。
なお、1つのアクションで複数の変数に前提条件を設定することが可能です。
Action Propertiesタブの前提条件セクションに関する詳細は、アクション実行の前提条件のセクションを参照してください。
変数値の設定または変更
前提条件は、指定された値をとっている変数を基に評価されます。Action PropertiesタブのSet and Generate Variable Valuesセクションを使うと、モデル内で特定のアクションに遭遇したときに、変数の値を変更することができます。モデルの実行中に変数値を設定または変更させるには、以下の手順を行います。
- Modelタブで、変数値変更のトリガとして使用するアクションを選択します。右側のペインに、Action Propertiesタブが表示されます。Set and Generate Variable Valuesセクションには、選択したアクションが利用できるすべての状態変数とグローバル変数が一覧表示されています。
- 変更したい変数において、Operationドロップダウンメニューから変更タイプを選択します。
- set:特定の値を選択するときは、これを選びます。この機能を前提条件のために使用している場合、この選択肢がふさわしい可能性が最も高くなります。
- generate:変数型に合った基準に基づいて値を生成させたいときは、これを選びます。
- Valueフィールドで、変数に設定する値を入力または選択します。入力する値は、Typeフィールドに表示されている変数型と矛盾しない値であることが必要です。
Set and Generate Variable Valuesセクションを使用して変数値を変更する他に、SenseTalkスニペットに変数を渡し、その値に影響を及ぼした上で、それらの変数をアクションの前提条件として使用することもできます。
Action Propertiesタブの変数生成セクションに関する詳細は、変数値の設定および生成のセクションを参照してください。