Você pode especificar um modelo UML, componente, pacote que contenha componentes ou uma combinação destes elementos como a origem da transformação de UML em CORBA. A transformação gera um único arquivo IDL para cada componente UML na hierarquia da origem especificada. Cada arquivo IDL contém código somente para os elementos que o componente UML correspondente possui. A transformação ignora elementos que são propriedade de um componente UML. Se você especificar qualquer outro elemento como a origem da transformação, a transformação falha durante a validação.
Ao aplicar o perfil de transformação CORBA, é possível especificar os componentes UML que são transformados em elementos CORBA IDL configurando a propriedade generateCode para true ou false. Durante a geração de códigos, a transformação ignora componentes que tiverem a propriedade generateCode configurada para false.
A transformação gera uma diretiva #include quando uma definição de tipo está em um componente diferente. A maioria dos arquivos CORBA IDL deve incluir o arquivo ORB.IDL. Para forçar uma diretiva #include em um arquivo IDL gerado de um arquivo IDL externo que você não modelou, você deve criar uma dependência do componente para um componente que representa o arquivo IDL externo. Se não quiser que a transformação gere o código para o componente que representa o arquivo IDL externo, você pode configurar a propriedade generateCode para false.
A transformação de UML em CORBA pode emitir saída de arquivos para um projeto Eclipse. O projeto contém o arquivo ou arquivos IDL, que são considerados arquivos de recursos do espaço de trabalho Eclipse. Os arquivos gerados são exibidos na perspectiva Java na visualização Navegador e na visualização Package Explorer.
A transformação de UML em CORBA suporta modelos que contêm referências de modelo cruzado. Por exemplo, a Interface A no modelo atual poderia estender a Interface B a partir de outro modelo. A transformação cria uma diretiva #include para o arquivo IDL no qual o tipo utilizado aparece; neste exemplo, a transformação cria uma diretiva #include no local da Interface B. A transformação não gerencia o local dos arquivos IDL incluídos no sistema de arquivos. Você deve manter os caminhos relativos dos arquivos IDL gerados criando um modelo de mapeamento.