依存関係の検査

最初の手順は、問題の原因が Intent システムにあるか、外部ソースにあるかを判断することです。たとえば、データベースが正しくない結果を返す場合、ルールを変更しても問題は解決しません。

すべての評価に対する依存関係が記録されます。つまり、ルール Aルール B を参照する場合、ルール A の評価後に B への依存関係が記録されます。B が変更された場合、システムにより検知され A がバインド解除されます。記録された依存関係ツリー全体を移動して検査し、問題を見つけることができます。

依存関係ダイアログ ボックスを表示するには、[プロパティ]ウィンドウで評価されたルールを右クリックし、[従属関係を表示]を選択します。

ルール依存関係ダイアログ ボックスで、"root" にあるルールが両側に表示されます。次のイメージでは、両側を可能な限り展開しています。

[式]には、ツリーで選択したノードの式が表示されます。この例では、"diameter" は単純な数値パラメータで、他のルールには依存していません。選択されている modelSelf ルールは diameter に依存していますが、依存は間接的です。このルールは直径ではなく半径を参照する内部関数呼び出しです。ただし、グループ ルール diameter_only は円弧の半径を取得するためにトリガされます。

次に、同じ modelSelf スロットの依存関係を確認します。

次のイメージで、左側のウィンドウには評価中に作成された直接参照と非表示参照の両方が表示されます。中心、半径、開始および終了角度などの情報が必要となります。1 つの例外はありますが、これらは関数の引数です。

%%acad_database 参照は関数呼び出しから明確ではありません。参照は関数内で内部的に行われ、この関数が通常は低レベル関数であるためです。すべての依存関係が表示されます。

ルールがコンパイル済みバイナリ ファイルのものである場合、ルールの式は実行中のシステムでは認識されていないため、表示されません。ただし、この場合も依存関係は存在します。