現在、「モデル・エクスプローラー」ビューあるいはダイアグラム・エディターで選択されている項目は、変換ソースを表しています。
以下の UML オブジェクトは、C++ 変換用の有効なソースです。
変換は複数のソース・オブジェクトを持つことができるため、複数のオブジェクトを選択して同時に変換することができます。 例えば、モデル全体、2 つのパッケージ、あるいは単一クラスを変換用のソースとして選択することができます。
コンポーネントおよび成果物は、変換ソースを編成します。この変換ソースを使用して、複数の変換ソースの選択を指定し、将来の使用のためにモデルを保管することができます。
変換ソースとしてコンポーネントを指定した場合、変換は、コンポーネントから発生した「使用」関係の対象を識別し、変換ソースとして使用します。
同様に、変換ソースとして成果物を指定した場合、変換は、成果物から発生した「マニフェスト」関係の対象を識別し、変換ソースとして使用します。
以下の図では、変換における成果物およびコンポーネントの使用について説明します。 この例では、変換ソースとして Component1 を指定した場合、Package1、Package2、および Class1 が変換されます。Artifact1 に対して変換を実行すると、Component1 および Component2 が使用する要素は、Package3 および Class2 とともに変換ソースになります。
要素とその要素のコンテナーが両方とも変換ソースとして選択されたことが検出された場合、以下のエラー・メッセージが表示されます。
ソースに、要素とその要素のコンテナーの両方を含めることはできません。
変換は、コンポーネントおよび成果物によって指定された要素を使用してこの検査を行います。 さらに、変換は、同じソース要素が変換ソースとして複数回指定された場合に、このエラー・メッセージを表示することがあります。