CORBA 仕様は、ORB ベンダーが IDL コンパイラー製品の統一命名規則を使用することを強制しません。さらに、これらの製品に何が入るべきかも定義しません。そのため、この問題を処理するために、プロパティーのセットは、IBM® Rational® Rhapsody® 内に作成されました。
すべての IDL コンパイラーは、仕様ファイル (関数ヘッダーおよびシグニチャーのみ) および実装ファイル (関数定義および本文) を生成します。所与の CORBA インターフェースの場合、IDL コンパイラーは、以下のコードを作成できると考えられます。
- スケルトン・コード - サーバー・サイド・コード。2 つのファイルがビルドできますが、1 つは仕様用、もう 1 つは実装用です。
- スタブ・コード - クライアント・サイド・コード。2 つのファイルがビルドできますが、1 つは仕様用、もう 1 つは実装用です。
このことは、IDL コンパイラーが潜在的に 4 つのファイルを作成することができ、その名前は IDL ファイル名から派生することを意味します。
例えば、TAO で X.idl と名前の付けられた IDL ファイルをコンパイルすると、次の 3 つのファイルが作成されます。
- X.hh (仕様ファイル)
- XS.cpp (スケルトン実装ファイル)
- XC.cpp (スタブ実装ファイル)
同じ X.idl ファイルを別の IDL コンパイラーでコンパイルすると、例えば、Visibroker では、以下のファイルが作成されます。
- X_s.hh (スケルトン仕様ファイル)
- X_c.hh (スタブ仕様ファイル)
- X_s.c (スケルトン実装ファイル)
- X_c.c (スタブ実装ファイル)
以下のプロパティーが、IDL コンパイラーのファイル命名の振る舞いを定義するために、Rational Rhapsody に作成されました。
- ImplementationExtension は、実装ファイルの拡張子を指定します。デフォルトは、.cpp です。
- SkeletonImplementationName は、スケルトン実装ファイルの命名の振る舞いを定義する文字列です。デフォルトは、$interfaceS です。
- SkeletonSpecificationName は、スケルトン仕様ファイルの命名の振る舞いを定義する文字列です。デフォルトは、$interfaceS です。
- SpecificationExtension は、仕様ファイルの拡張子を指定する文字列です。デフォルトは、.h. です。
- StubImplementationName は、スタブ実装ファイルの命名の振る舞いを定義する文字列です。デフォルトは、$interfaceC です。
- StubSpecificationName は、スタブ仕様ファイルの命名の振る舞いを定義する文字列です。デフォルトは、$interfaceC です。