外部オブジェクトの参照により、例えば、外部フレームワークまたは Rational Rhapsody モデル内の既存のコードを知ることができます。 読み取り専用のすべてのオブジェクト、あるいは、オブジェクト・タイプは、外部と想定されます。
CG::Class::UseAsExternal プロパティーを Checked に設定することで、オブジェクトに外部というマークを付けることができます。外部オブジェクトの暗黙のインターフェース (アクセサーあるいはミューテーターなど) については想定されていません。 製品で生成されていない場合があるため、それらはインスツルメントされないものと想定されます。
CG::Class::FileName プロパティーを使用して外部オブジェクトのファイル名をオーバーライドする場合は、 要素が通常オブジェクト (パッケージ、依存関係、関係など) に追加されるたびに #include ステートメントが実装ファイルに追加されます。 Rational Rhapsody が自動的にファイル名に拡張子 .h を追加するため、ファイル拡張子の追加は必要ありません。例えば、外部オブジェクト B の FileName プロパティーを myB に設定すると、 パッケージの .c ファイルに #include ディレクティブが生成されます。
#include "myB.h"
また、外部オブジェクトのファイル名のオーバーライドは、そのファイルをコンポーネント・モデルに追加して、モデル内のファイルに要素を追加することでも行えます。
モデル内の他のオブジェクトが外部オブジェクトに対して Usage の依存関係を持つ場合、 これらのオブジェクトの宣言ファイルに同じ #include ディレクティブが追加されます。 詳細については、依存関係を参照してください。
そのモデルをコンパイルする場合、外部ファイルの場所をインクルード・パスで、あるいは、コンポーネントまたは構成レベルのコンパイラー・スイッチの下として (構成の「フィーチャー」ウィンドウの「設定」タブから) 指定する必要があります。 外部オブジェクトをファイルに正しいパスで追加した場合は、検索パスの変更は必要ありません。