ルール
コンフィギュレータ制約エンジンは、コンフィギュレータ・ルールに従ってコンフィギュレータ・モデルで機能し、有効な構成を生成します。
コンフィグレータ・ルールの一般的な用途は次のとおりです:
-
モデル・ノードのデフォルトの選択肢または値の設定
-
エンド・ユーザー別の選択に基づいて自動的にオプションを選択
-
ユーザーが無効な組合せを選択できないようにします
-
実行時に作成できるモデルのインスタンス数の制御
-
数値オプションの値を計算して設定
有効な構成は、コンフィギュレータ・モデルの変数で構成される問題の解決策と似ています。 ルールによって、問題の解決方法が制限されます。
-
変数には、定義されたドメインと実行時の値の範囲があります。
-
変数は値にバインドする必要があります。
-
変数には入力が必要になる場合があります。
-
コンフィグレータは、自動補完と呼ばれる機能を使用して、自動的に問題の解決を試みることができます。
ルールは、コンフィギュレータ・モデル作業領域で文ルールとして定義され、制約定義言語(CDL)で記述されます。
ルールは無効にできます。 関係モデルの無効なルールは、ワークスペースをリリースする前に無効化または削除する必要があります。 モデルをテストする場合、無効なルールは無視されます。
暗黙的ルールは、製品情報管理作業領域からインポートされます。 暗黙的な規則の例として、相互に排他的なオプションで定義されたオプション・クラスがあります。 同様のルール動作は、オプション機能での最小および最大の選択など、サプリメンタル構造でも暗黙的に行われます。
モデルに対して作成するコンフィギュレータ・ルールは、補足構造やユーザー・インタフェースなど、そのモデルの定義の一部です。 コンフィギュレータ・ルールは他のモデルと共有できません。
各ルールには、構成プロセス中にルールがどのように適用されるかを示すクラスがあります。 ルール・クラスは次のとおりです:
-
制約
-
デフォルト
-
ディシジョンの検索
各ルールには、ルールで使用される演算子または操作に基づく分類であるタイプがあります。 ルール・タイプは次のとおりです:
-
論理
-
数値比較
-
数値累計
-
属性ベースの互換性
有効なモデル構成を生成するルールは、属性の値に応じて、ユーザー・インタフェースで要素を表示または有効化できるランタイム・ユーザー・インタフェース条件とは異なります。 ユーザー・インタフェース条件は、構成の選択には影響しません。