As opções na configuração de transformação possibilitam especificar o tipo de relacionamento que a transformação gera entre um elemento de modelo e a saída da transformação. Por padrão, a transformação não cria relacionamentos rastreáveis.
Para entender como os elementos de um modelo de origem estão relacionados aos elementos em um projeto de destino, você pode permitir que uma transformação crie relacionamentos de rastreio dos elementos de modelo de origem com os elementos gerados no projeto de destino. Depois, você pode visualizar os relacionamentos de rastreio em um diagrama de tópicos, criando e executado consultas do modelo.
Para visualizar os relacionamentos entre os elementos de modelo de origem e a saída da transformação, você pode visualizar o elemento de modelo de origem em um diagrama e arrastar o elemento de código gerado pela transformação para esse diagrama. A tabela a seguir lista o seguinte: a representação UML para um elemento de modelo de origem nomeado Class1, que contém um atributo de número inteiro nomeado attribute1 e duas operações nomeadas Operation1 e Operation2, que não possuem nenhum parâmetro; o código gerado pela transformação; o diagrama de classes que mostra o relacionamento de rastreio entre os elementos.
A transformação não altera o modelo de origem quando você especifica para a transformação gerar relacionamentos de rastreio.
A criação de relacionamentos de rastreio é útil em projetos grandes que podem conter vários modelos e várias configurações de transformação. Você também pode criar e executar consultas de rastreabilidade que exibem como a saída da transformação está relacionada às especificações de software e aos elementos de modelo.
Você pode orientar uma transformação para criar referências diretas entre os elementos de modelo de origem e a saída da transformação. A transformação substitui os elementos de modelo de origem por ponteiros para a saída da transformação. O código-fonte gerado pela transformação torna-se o artefato de engenharia primária e os elementos no modelo tornam-se representações visuais do código. Essa prática será útil se você desejar trabalhar no domínio de destino em vez de trabalhar com o modelo UML. As alterações feitas nas representações visuais dos objetos no modelo ficam imediatamente visíveis no código.
A execução de uma transformação que cria referências diretas entre os elementos de modelo e a saída da transformação altera o modelo de origem. Para evitar possíveis problemas, você deve colocar o modelo de origem sob o controle de versão.
Para obter os benefícios de trabalho no domínio de destino, é necessário criar referências diretas ao fazer alterações incrementais em um modelo UML e, então, converter o modelo em representações visuais de código. Se a transformação não puder transformar elementos UML, tais como elementos aninhados, ela moverá esses elementos para o pacote mais próximo. Se a transformação não puder mover um elemento de modelo para o pacote mais próximo, ela excluirá o elemento.
Para aprender a criar referências diretas entre os elementos de modelo e a saída da transformação, consulte o tutorial relacionado a esse tópico.