Transformação C++

A transformação C++ converte elementos de modelo UML em código C++.

O Que Pode Ser Convertido em C++

A transformação C++ pode converter os seguintes elementos de modelo UML em código C++.
  • Modelo
  • Pacote
  • Classe
  • Enumeração
  • Componente
  • Artefato
Os componentes e artefatos podem ser utilizados para organizar os elementos do modelo que você deseja converter em código C++. A seleção de um artefato ou componente faz com que a transformação C++ converta os pacotes e classes relacionadas em código C++ quando existir qualquer um dos seguintes relacionamentos:
  • Um artefato possui um relacionamento de manifestação para componentes e os componentes possuem um relacionamento de uso para pacotes e classes
  • Um artefato possui um relacionamento de manifestação para pacotes ou classes
  • Um componente possui um relacionamento de uso para pacotes e classes

Como os Elementos do Modelo São Convertidos em C++

A tabela a seguir mostra como a transformação C++ converte os seguintes elementos de modelo UML em código C++.

Elemento de modelo UML C++
Pacote Pasta
Classe Classe (arquivos .h e .cpp)
Relacionamento de Generalização Herança de classe
Relação de associação Atributo de classe
Propriedade Atributo de classe
Enumeração Enum (arquivo .h)
Operação Operação
Parâmetro Argumento de operação
Relacionamento de uso Inclusão
Parâmetro de gabarito Parâmetro para uma classe parametrizada
Relacionamento de Ligação de Gabarito Classe instanciada (arquivo .h)

Como as Operações Padrão C++ São Geradas

As operações padrão são construtores, construtores de cópia, destruidores e operadores de designação. É possível especificar qual das operações padrão a transformação C++ gera. Também é possível incluir um estereótipo, que representa uma das operações padrão, na operação de uma classe no modelo. A transformação C++ aplica a visibilidade da operação UML para as operações padrão geradas, mas ignora o nome e os parâmetros da operação UML. A transformação C++ gera operações padrão para uniões incluídas explicitamente em um modelo UML.

Diagramas de Visualização C++

É possível gerar diagramas de visualização UML ao mesmo tempo que você gera código C++ a partir do modelo UML. Utilize os diagramas de visualização UML para visualizar uma representação gráfica do código C++ que pode ser editada em nível gráfico ou de código. A transformação C++ cria um diagrama de visualização UML para cada pacote UML. O diagrama de visualização contém classes não aninhadas, estruturas, uniões e enumerações que a transformação C++ gerou para o pacote UML.
Nota: A geração automática de diagramas de visualização UML aumenta o tempo decorrido para gerar código C++ e também o consumo de memória.

Onde os Arquivos de Código C++ São Gerados

A transformação C++ pode gerar apenas arquivos de código C++ para projetos C++ e pastas de projeto C++.

Nomes Alternativos para Arquivos Gerados

É possível utilizar o recurso de mapeamento para especificar nomes alternativos para os arquivos que a transformação gera sem modificar o modelo de origem. É possível especificar nomes de arquivos absolutos e relativos. Nomes de arquivos absolutos devem especificar um projeto existente. A transformação cria diretórios-pai que ainda não existem. A transformação substitui as extensões de nome de arquivo por extensões de nome de arquivo padrão do C++, como por exemplo .h ou .cpp.

A transformação baseia os nomes de diagramas de visualização UML no nome do pacote que os contém. Os artefatos de mapeamento não afetam diretamente a nomenclatura dos diagramas de visualização da UML.

A transformação C++ proíbe os seguintes caracteres no arquivo de mapeamento e nos nomes de diretório:
  • Asterisco (*)
  • Ponto de interrogação (?)
  • Aspas (")
  • Símbolo de menor que (<)
  • Símbolo de maior que (>)
  • Barra vertical ( | )
Nota: Os caracteres proibidos são substituídos por um sublinhado (_) durante a transformação.
Tarefas relacionadas
Gerando Código C++ a partir de um Modelo
Aplicando o Perfil de Transformação C++
Referências relacionadas
Transformações instaladas
Termos de uso | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.