Configurando Transformações de C++ em UML

Para especificar as informações que a transformação utiliza para gerar a saída que você espera, utilize o Novo assistente de configuração de transformação e o editor de configuração de transformação, que o orientará por meio da configuração.

Sobre Esta Tarefa

Uma configuração de transformação possui .tc como uma extensão de nome de arquivo e contém as informações que a transformação utiliza para gerar a saída esperada. Uma configuração de transformação também contém informações específicas para um determinado tipo de transformação. Para editar uma configuração de transformação existente, em uma visualização que mostra os recursos da área de trabalho, dê um clique duplo no arquivo de configuração da transformação, que abre o editor de configuração de transformação.

Para simplificar o trabalho com o arquivo de configuração de transformação, salve o arquivo de configuração no projeto que contém os elementos para transformar.

Procedimento

  1. Dependendo da visualização com a qual você estiver trabalhando, conclua uma das seguintes etapas:
    • Na visualização Explorador de Padrões, clique com o botão direito do mouse em uma transformação; em seguida, clique em Nova Configuração.
    • Em outras visualizações, clique em Arquivo > Novo > Configuração da Transformação. Se Configuração de Transformação não for um item de menu, clique em Arquivo > Novo > Outro > Transformações > Configuração de Transformação.
  2. Especifique os detalhes da configuração. No Novo Assistente de Configuração de Transformação , na página Especifique um Nome e uma Transformação de Configuração, conclua as seguintes etapas:
    1. No campo Nome , especifique um nome para a configuração.
    2. No campo Destino do arquivo de configuração, especifique o destino do arquivo de configuração da transformação. O destino é um caminho relativo em seu espaço de trabalho atual. É possível especificar um nome de projeto completo ou o nome de uma pasta. Se você especificar uma pasta em um projeto, deverá iniciar o nome da pasta com uma barra (/).
    3. A partir da lista Transformação , selecione uma transformação.
      Nota: Para exibir as transformações que estão instaladas, mas não ativadas, clique em Mostrar todas as transformações. Uma transformação deve estar ligada a um recurso para que seja exibida nesta lista.
  3. Na seção Protocolo, especifique o protocolo de modelagem, que também é chamado de design contract management protocol (DCMP). O valor selecionado determina se a origem e o destino da transformação devem ser sincronizados.
    • Se o modelo de origem for o artefato de engenharia primária, selecione Conceitual. Quaisquer mudanças no modelo de origem são propagadas para o modelo de destino.
    • Se a arquitetura que os artefatos de origem representam evoluir independentemente do destino, selecione Reconciliada. Selecionar essa opção possibilita a transformação reversa, que é possível utilizar para comprara a origem e o destino e reconciliar mudanças. Você também pode selecionar essa opção se diferentes equipes implementarem, desenvolverem ou mantiverem a arquitetura.
      Nota: Ao selecionar essa opção, propriedades adicionais se tornam disponíveis na seção "Transformação reversa" da páginaPrincipal. Para algumas transformações, opções ou páginas adicionais ficam disponíveis no editor de configuração de transformação. Para obter informações sobre como configurar a transformação reversa, consulte o link relacionado a seguir.
  4. Clique em Avançar.
  5. Especifique os elementos de origem e destino para a transformação. Para obter uma lista de elementos de origem e destino válidos, consulte o tópico de conceito relacionado para essa transformação. Na página Origem e Destino, complete as seguintes etapas:
    1. No painel Origem selecionada, selecione o elemento de origem para a transformação ser realizada.
    2. No painel Destino selecionado, selecione o destino da saída da transformação. Para criar um novo destino para a saída, clique em Criar contêiner de destino.
  6. Clique em Avançar.
  7. Opcional: Especifique quais elementos C++ a transformação transformará em operações UML e se ela gerará associações UML ou propriedades UML para variáveis de membros em uma classe. Essas opções fornecem maior controle sobre elementos UML gerados pela transformação no modelo UML de destino. Por padrão, para cada classe especificada na origem de transformação, a transformação gera operações UML para métodos C++ getter e setter, construtores e destrutores padrão, construtores de cópia e operadores de designação, além de criar associações UML para variáveis de membros. Na página Opções C++ para UML, conclua uma ou mais das seguintes etapas:
    • Para criar operações UML, selecione as caixas de opções ao lado dos elementos C++ que serão transformados.
    • Para criar associações UML para variáveis de membro, selecione a caixa de opção Gerar associações UML para variáveis de membro C++ observando o modelo. A transformação examina o modelo de destino e cria relacionamentos de associação para variáveis de membros que fazem parte de um relacionamento de associação. Se uma variável de membro não fizer parte de uma associação UML, a transformação criará uma propriedade UML.
  8. Opcional: Para determinar as referências para elementos UML que estão fora do escopo do destino da transformação, crie um arquivo de associação que defina os links entre os elementos C++ e UML. Essa funcionalidade é útil quando os elementos a serem transformados estiverem em múltiplos projetos C++ e as suas interdependências estiverem fora da transformação que você configurar. Para criar um arquivo de associação, na página Associações C++ em UML, execute as seguintes etapas:
    1. Selecione a caixa de opção Ativar associações C++ para UML.
    2. No campo Nome do arquivo de associação C++ em UML, especifique um nome do arquivo.
    3. Na seção Associações de C++ para UML, ao lado da tabela, clique nos botões para incluir ou remover uma associação do arquivo.
    A ordem das associações determina como os elementos C++ fazem o mapeamento para elementos UML. Para obter informações adicionais sobre suporte para diversos projetos e suas interdependências, consulte o tópico de conceito de transformação C++ para UML relacionado abaixo.
  9. Clique em Concluir. O editor de configuração de transformação é aberto, e o conteúdo da configuração é exibido.
  10. Opcional: Para gerar informações sobre depuração, na página Principal, selecione a caixa de opção Gerar um log de depuração. Na próxima vez em que você executar a transformação, o arquivo de log será gerado como um arquivo XML na pasta em que você especificar nas preferências de transformações. Se você não especificar um local para os arquivos de log, a transformação gera o arquivo de log na pasta .metadata em sua área de trabalho.
    Dica: Para configurar as preferências para as transformações, clique em Janela > Preferências; em seguida, expanda Modelagem e clique em Transformações.

    O arquivo de log fornece informações sobre os elementos de origem, os elementos de destino e as regras que a transformação aplica para transformar os elementos de origem. Se a transformação transformar vários elementos, poderá ocorrer uma redução no desempenho enquanto a transformação gerar o arquivo de log; portanto, você só deverá gerar um arquivo de log para propósitos de depuração.

  11. Opcional: Para evitar que novas caixas de diálogo sejam abertas enquanto uma transformação é executada, na página Principal, selecione a caixa de opção Executar a transformação de encaminhamento silenciosamente.

    A execução de uma transformação no modo silencioso suprime todas as caixas de diálogo geradas pela transformação. A transformação aplica regras e comportamento padrão, o que pode gerar uma saída de transformação inesperada ou incorreta. Você só deve executar uma transformação no modo silencioso para validar a execução da transformação, em vez de validar a saída da transformação. Por exemplo, você poderia executar uma transformação no modo silencioso como parte de um conjunto de tarefas automatizadas ou testes automatizados.

    A configuração da transformação para executar em modo silencioso substitui as opções de substituição de arquivo que você especifica, e então sobrescreve os arquivos se necessário.

    Se a transformação de UML em C++, ou reversa, estiver disponível, você poderá selecionar a caixa de opção Executar a transformação reversa silenciosamente. Especificar que a transformação reversa seja executada no modo silencioso substitui as opções de sobrescrição do arquivo especificadas na configuração de transformação. A transformação sobrescreve os arquivos, se necessário.

  12. Para criar relacionamentos rastreáveis entre os elementos na origem e no destino da transformação, na página do Principal, selecione a caixa de seleção do Criar relacionamentos de rastreio. Geralmente esta caixa de seleção é selecionada na primeira vez que você executa a transformação C++ em UML em um ambiente do Modelagem Reconciliada, de forma que é possível sincronizar o código de origem C++ com o modelo UML de destino. Após a execução da transformação, na janela de mesclagem, para cada mudança proposta correspondente que você aceita, a transformação inclui tags @generated e identificadores exclusivos nos elementos de código que possuem uma representação correspondente no modelo UML de destino. A geração de relacionamentos rastreáveis impede que a transformação gere elementos duplicados no destino da transformação.

    Para visualizar a lista de elementos para os quais relacionamentos rastreáveis podem ser criados, consulte o link do tópico de conceito de transformação relacionado no final deste tópico.

    Para cada mudança proposta que você não aceitar na janela de mesclagem, a transformação não incluirá estas anotações no elemento de código. Na próxima vez que você executar a transformação UML-para-C++, ela gerará um elemento de código duplicado porque não existe nenhum relacionamento entre o elemento de modelo e o elemento de código.

  13. Opcional: Para exibir os erros que ocorreram quando a transformação foi executada, na página Principal, selecione a caixa de opção Abrir a caixa de diálogo Relatório quando a transformação estiver concluída. A seleção dessa caixa de opção exibe apenas os erros gerados. As mesmas informações também são gravadas no log de erros, que é possível visualizar clicando em Janela > Mostrar Visualização > Log de Erros.

    Para exibir os avisos que ocorreram quando a transformação foi executada, selecione a caixa de opção Mostrar avisos na caixa de diálogo Relatório.

  14. Opcional: Especifique a documentação sobre a configuração de transformação. Esse campo é útil para comunicar informações sobre uma configuração compartilhada por vários usuários. Na página Principal, no campo Documentação , especifique as informações adicionais sobre a configuração da transformação.
  15. Clique em Arquivo > Salvar.

Resultados

As opções serão aplicadas na próxima vez em que você executar a transformação.

Feedback