L'élément actuellement sélectionné dans la vue Explorateur de modèle ou le programme d'édition de diagramme représente la source de transformation.
Les objets UML suivants sont des sources valides pour la transformation C++ :
Comme les transformations peuvent avoir des objets sources multiples, vous pouvez sélectionnez de multiples objets à transformer en même temps. Par exemple, vous pouvez sélectionner un modèle complet, deux packages ou une seule classe comme source pour la transformation.
Les composants et les artefacts organisent des sources de transformation ; vous pouvez les utiliser pour définir des sélections multiples de sources de transformation que vous pouvez enregistrer avec le modèle pour une utilisation ultérieure.
Si vous sélectionnez un composant comme source de transformation, cette transformation identifie les cibles des relations "Utilisation" qui proviennent du composant et les utilise comme sources de transformation.
De même, si vous sélectionnez un artefact comme source de transformation, cette transformation identifie les cibles des relations "Manifestation" qui proviennent de l'artefact et les utilise comme sources de transformation.
La figure suivante montre l'utilisation des artefacts et des composants dans une transformation. Dans cet exemple, si vous précisez Component1 comme source de transformation, Package1, Package2, et Class1 sont transformés. Si vous effectuez une transformation sur Artifact1, les éléments qu'utilisent Component1 et Component2, ainsi que Package3 et Class2, deviennent la source de transformation.
Le message d'erreur suivant apparaît si la transformation détecte que vous avez sélectionné à la fois un élément et le conteneur de l'élément comme source de transformation :
La source ne doit pas contenir à la fois un élément et le conteneur de l'élément.
La transformation utilise les éléments définis par les composants et les artefacts pour effectuer ce contrôle. La transformation peut aussi afficher ce message d'erreur si le même élément source est défini plus d'une fois comme source de transformation.