Esse conteúdo se
aplica à versão 7.5.1, ou posterior. 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á através da configuração.
Por Que e Quando Desempenhar 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.
- Dependendo da visualização na qual está trabalhando, execute uma das seguintes etapas:
- Na visualização Pattern Explorer, 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 . Se Configuração da Transformação não for um item de menu, clique em .
- 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:
- No campo Nome,
especifique um nome para a configuração.
- 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 ou nome de pasta completo. Se você especificar uma
pasta em um projeto, deverá iniciar o nome da pasta com uma barra (/).
- 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 ser ligada a um recurso para aparecer nesta lista.
- 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 alterações no modelo de origem são propagadas para o modelo de destino.
- Se o modelo de destino for o artefato de engenharia
primária, clique em Combinado.
A transformação converte os artefatos de origem para representações visuais que estão conectadas diretamente ao artefato de destino. Selecione essa opção para trabalhar no domínio de destino em vez de com o modelo de origem ou para reter os artefatos para análise. A saída da transformação torna-se o artefato de engenharia primário.
- 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 você pode utilizar para comprara a origem e o destino e reconciliar alterações.
Você também pode selecionar essa opção se diferentes equipes implementarem, desenvolverem ou mantiverem a arquitetura.
- Clique em Avançar.
- 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:
- No painel Origem selecionada,
selecione o elemento de origem para a transformação ser realizada.
- 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.
- Clique em Avançar.
- Opcional: Especifique as opções de sobrescrita para a saída da
transformação. Você também pode especificar se a transformação excluirá arquivos obsoletos,
o que pode ocorrer como resultado da renomeação de classes no modelo UML de origem. Na página Propriedades de UML para C++, em
Sobrescrever arquivos existentes, execute uma das seguintes
etapas:
Quando você reexecuta a transformação UML-para-C++, a transformação
exclui arquivos que não contêm conteúdo de linguagem C++.
- Opcional: Especifique como a transformação gera
operações padrão. Na página Propriedades de UML para C++, em
Gerar Operações, execute uma das seguintes etapas:
- Para gerar construtores, selecione a caixa de opção
Construtor.
- Para gerar construtores de cópia, selecione a caixa de opção
Construtor de Cópia.
- Para gerar operadores de designação, selecione a caixa de opção
Designação.
- Para gerar destrutores, selecione a caixa de opção
Destrutor.
- Para gerar destrutores virtuais nas classes de destino, selecione a caixa de opção Destrutor
Virtual.
- Para gerar métodos getter e setter para os atributos das classes,
estruturas ou uniões geradas, selecione a caixa de opção Getters e
Setters.
- Para gerar métodos getter e setter seqüenciais, selecione a caixa de opção
Seqüencial.
- Para gerar métodos getter e setter que transmitem parâmetros e retornam
valores utilizando referências, selecione a caixa de opção Por
Referência.
- Opcional: Especifique as preferências para a geração de
saída da transformação. Na página Propriedades de UML para C++, em
Propriedades de geração de código, execute uma das seguintes etapas:
Se você selecionar a caixa de opção Criar pastas separadas para arquivos de
cabeçalho e de origem, na pasta do arquivo de origem
especificada, a transformação gerará os arquivos na mesma hierarquia que o
modelo UML de origem. A transformação não preserva a hierarquia do modelo de origem
para arquivos de cabeçalho. Por exemplo, suponha que um modelo UML contenha um pacote
chamado Package1, que contenha uma classe chamada Class1. Se você especificar HeaderFolder
e SourceFolder como os nomes de pastas para os arquivos de cabeçalho e de origem gerados,
a transformação gerará um arquivo chamado Class1.h na estrutura de pasta HeaderFolder
do projeto de destino e um arquivo chamado Class1.cpp na estrutura de pasta
SourceFolder/Package1 do projeto de destino.
- Opcional: Especifique como a transformação gera diretivas de inclusão. Por padrão, as
diretivas de inclusão geradas especificam o caminho relativo do arquivo importado.
Na página Propriedades de UML para C++, em Inclusão
Interna, selecione uma opção na tabela a seguir. Se a classe importada fizer
parte da origem de transformação e não tiver o estereótipo «cpp_internal_inclusion»
aplicado a ela, a transformação gerará diretivas de inclusão utilizando o valor que você
especificar.
Em Inclusão Externa, selecione uma opção na tabela a seguir.
Se a classe importada não fizer parte da origem de transformação e não tiver o estereótipo
«cpp_external_inclusion» aplicado a ela, a transformação gerará diretivas de inclusão
utilizando o valor que você especificar.
| Opção |
Descrição |
| Nenhuma |
Essa opção suprime a geração de diretivas de inclusão. |
| Suprima nomes de caminho para incluir diretivas |
Esse opção suprime o nome do caminho completo de arquivos de cabeçalho no código
gerado. O nome do caminho especificado na opção include do makefile está
implícito na diretiva de inclusão. Por exemplo, se o nome do caminho completo do
arquivo de cabeçalho for Package1/header1.h e você clicar nessa opção, a diretiva de
inclusão gerada será #include "header1.h".
|
| Gere diretivas de inclusão que contenham o nome de caminho relativo para o
arquivo de inclusão |
Essa opção gera diretivas de inclusão que especificam o caminho relativo do
arquivo importado. |
| Gere uma diretiva de inclusão que contenha o seguinte nome de arquivo |
Para essa opção, especifique um caminho relativo ou absoluto de um nome de
arquivo a ser importado. Por exemplo, se você especficar "..\includefile.h" nesse campo, a diretiva de
inclusão gerada será #include "..\includefile.h".
|
| Gere diretivas de inclusão que sejam relativas a essa pasta |
Essa opção gera diretivas de inclusão que especificam o caminho da classe
importada relativa à pasta especificada. A pasta que você especifica deve existir no
espaço de trabalho atual. |
- Opcional: Para substituir a transformação JET padrão
que gera o código C++, no campo Utilizar a seguinte transformação JET
para gerar código C++, especifique o identificador da transformação
JET de substituição.
Por exemplo, você poderia substituir a transformação
JET padrão para customizar os comentários no código. O identificador da
transformação JET segue geralmente um esquema de nomenclatura de domínio invertido,
como neste exemplo: my.company.my.jet.project. Para obter mais informações sobre
essa funcionalidade, consulte o tópico de conceito relacionado para essa transformação.
- Clique em Avançar.
- Opcional: Se a transformação configurada suporta mapeamento, é possível especificar nomes
alternativos para os artefatos que a transformação gera criando um modelo de mapeamento. Para utilizar um
modelo de mapeamento novo ou existente, conclua as seguintes etapas:
- Na página
Mapeamento,
selecione a caixa de opção
Ativar a funcionalidade de
mapeamento para essa configuração.
- No campo
Nome do arquivo de modelo de mapeamento,
especifique o nome de um modelo de mapeamento novo ou existente.
- Clique em Concluir. O
editor de
configuração de transformação
é aberto, e o conteúdo da configuração é exibido.
- 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.
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.
- 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 C++-para-UML estiver disponível, você poderá selecionar a caixa de opção
Executar a transformação reversa silenciosamente. Especificar que
a transformação C++-para-UML, ou reversa, seja executada no modo silencioso suprime o
editor de mesclagem. Se ocorrer um conflito durante a fusão,
a transformação pára e você deve executar novamente a transformação com as opções de silenciosa desmarcadas.
- Para criar um relacionamento
rastreável entre a origem e o destino de transformação, na página Principal,
selecione a caixa de opção Criar relacionamentos de rastreio.
Essa caixa de opção será ativada somente se você selecionar os protocolos
Modelos Concretos de Valores Iniciais
de Modelos Conceituais e Desenvolvimento de Unidade de Modelos Conceituais
ou Modelagem Reconciliada.
Você pode utilizar os relacionamentos de rastreio e as ferramentas de desenvolvimento
visual para entender os relacionamentos entre os elementos de modelo de origem e a saída da
transformação. Essa função é útil em projetos grandes que podem conter vários modelos
e configurações de transformação.
A transformação não altera
o modelo de origem.
- 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 você pode visualizar clicando em .
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.
- 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.
- Clique em .
Resultados
As opções serão aplicadas na próxima vez em que você
executar a transformação.