Você pode associar estereótipos com metaclasses UML nos perfis UML
customizados. Depois de aplicar o perfil customizado em um modelo e aplicar os estereótipos em um elemento do modelo, você pode associar esse elemento com os elementos de modelo que possuem a mesma metaclasse como associação.
Por Que e Quando Desempenhar Esta Tarefa
Diferente das extensões de metaclasses incluídas no perfil, você não pode aplicar o estereótipo em um elemento que tenha a mesma metaclasse como associação. Associar estereótipos com metaclasses UML em perfis é útil pois quando se aplica perfis customizados, você pode alterar quais relacionamentos UML são válidos em um domínio específico.
Por exemplo, em um modelo UML, uma associação direcionada de um agente para uma interface não é um relacionamento válido. No entanto, você pode criar um perfil customizado que permita esse tipo de relacionamento criando um estereótipo como <<employee>>, que estende a metaclasse Agente, e criando um relacionamento de associação desse estereótipo para a metaclasse Interface. Quando você aplica o perfil customizado para um modelo, o relacionamento de agentes com estereótipos como <<employee>>
para interfaces é válido porque o perfil customizado substitui a notação UML
padrão com esse construtor específico de domínio.
Para incluir uma associação de metaclasse em um perfil:
- Na visualização Explorador de Projetos, expanda um projeto que contenha um perfil UML customizado que tenha um ou mais estereótipos.
- Expanda a pasta Perfis, expanda o perfil, clique com o botão direito do mouse em um estereótipo e clique em Incluir UML > Associação de Metaclasse.
- Na janela Selecionar Elemento, selecione uma metaclasse para associação e clique em OK.
Resultados
Depois de criar a associação de metaclasse, você pode editá-lo da mesma forma que edita um atributo de estereótipo. Para especificar detalhes como visibilidade e multiplicidade, selecione a associação na visualização Explorador de Projetos e faça as alterações na visualização Propriedades.
Restrição: Depois de criar uma associação de metaclasse, você não pode alterar seu tipo para uma metaclasse diferente.
Restrição: A agregação de uma associação de metaclasse não pode ser composta.