Como: Integrar modelos UML com outras ferramentas e modelos

Modelos UML podem ser integrados com outros modelos e linguagens específicas de domínio.

Escrevendo código de extensão para executar uma variedade de funções, você pode integrar modelos das seguintes maneiras:

  • Anexe as referências de qualquer elemento para outros itens como, por exemplo, arquivos ou elementos de outros modelos.
    Em um elemento UML, você pode armazenar os links para outros elementos UML, arquivos ou outros objetos por suas identidades como seqüências de codificação.

    Por exemplo, você poderia escrever uma extensão que pode vincular qualquer ação de UML (ou seja, um elemento em um diagrama de atividade) a outro diagrama de atividade. Quando o usuário clica duas vezes a ação, abre o outro diagrama. Isso permite que o usuário fornecer uma visão mais detalhada da ação.

    Existem duas maneiras em que você pode armazenar seqüências de caracteres e outros dados em qualquer elemento:

    • Propriedades de estereótipo. Você pode definir um perfil UML, na qual você define um estereótipo que adiciona propriedades a tipos especificados de elemento UML. Por exemplo, você poderia definir um perfil que adiciona uma propriedade chamada MoreDetail para uma ação de UML. Você poderia escrever o código de extensão que lojas vincular dados em uma ação aplicando o estereótipo para a ação e, em seguida, armazenar os dados na propriedade.

      O estereótipo e suas propriedades são visíveis para o usuário na janela Propriedades.

      Para implantar essa extensão, seria empacotar a definição de perfil e o código de extensão em um único Visual Studio extensão.

      Para obter mais informações, consulte Como: Definir um perfil de estender o UML.

    • Referências. Você pode anexar um conjunto de seqüências de caracteres para qualquer elemento UML. Você pode escrever código que armazena as informações como, por exemplo, um nome de arquivo ou o GUID de outro elemento. Isso pode ser feito sem fornecer definições adicionais. As referências não são diretamente visíveis para o usuário.

      Para obter mais informações, consulte Como: Anexar as seqüências de caracteres de referência para elementos de modelo. Para obter uma amostra, consulte Elementos UML de Link para outros arquivos ou diagramas de.

    Há duas maneiras para codificar as referências aos elementos de modelo:

    • GUID e nome de arquivo o elemento de modelo de destino e o modelo que o contém ou um diagrama específico que o exibe.

      Por exemplo, consulte Elementos UML de Link para outros arquivos ou diagramas de.

    • Referências de ModelBus. ModelBus é uma estrutura para criar e resolver referências entre modelos. Ele inclui um selecionador de ModelBus, que permite que o usuário selecionar um elemento em um modelo. Isso também ajuda o usuário para resolver referências são perdidas devido às alterações no modelo de destino.

      Para obter mais informações, consulte Integrating Models.

  • Propaga alterações de um modelo para outro.
    Por exemplo, foi possível sincronizar o nome de um elemento com o nome do diagrama vinculado, para que se o usuário altera um, o outro também é alterado. Há dois mecanismos para fazer isso:

    1. Regras de VMSDK pode ser usado para propagar alterações dentro do mesmo modelo.

      Por exemplo, consulte Elementos UML de Link para outros arquivos ou diagramas de.

    2. Eventos de VMSDK pode ser usado para propagar alterações fora modelo – por exemplo, altere o nome de um documento vinculado ou alterar um elemento em outro modelo.

    Para obter informações sobre os dois desses mecanismos, consulte Como responder a alterações em um modelo UML.

  • Arrastar elementos para copiá-los de um modelo para outro
    Você pode permitir que o usuário crie elementos por arrastar itens para um diagrama UML. O elemento criado não precisa ser uma cópia do original. Por exemplo, deixar o usuário arrasta um diagrama de atividade do solution explorer para outro diagrama de atividade, para criar uma nova ação

    Para obter mais informações, consulte Como: Definir uma queda e clique duas vezes o manipulador de um diagrama de modelagem e How to Write a Drag and Drop Handler.

Exemplos

Consulte o código de exemplo Elementos UML de Link para outros arquivos ou diagramas de. A amostra permite arrastar um arquivo para qualquer elemento UML e mais tarde, abra o arquivo clicando duas vezes no elemento. Por exemplo, você poderia vincular a um diagrama de atividade a um elemento de casos de uso. Ícone mostra quais elementos têm links.

Este exemplo de código demonstra as seguintes técnicas:

Para obter um exemplo de um modelo UML é ser lido por uma DSL, consulte How to Write a Drag and Drop Handler.