Share via


Cómo: Integrar modelos UML con otros modelos y herramientas

Los modelos UML se pueden integrar con otros modelos y con lenguajes específicos del dominio.

Puede integrar modelos de las siguientes maneras escribiendo código de extensiones para realizar varias funciones:

  • Adjuntar referencias de cualquier elemento a elementos de otros modelos o a archivos, por ejemplo.
    Se pueden almacenar vínculos a otros elementos UML, archivos u otros objetos en un elemento UML codificando sus identidades como cadenas.

    Por ejemplo, puede escribir una extensión que permita vincular cualquier acción UML (es decir, un elemento de un diagrama de actividades) a otro diagrama de actividades.Cuando el usuario hace doble clic en la acción, se abre el otro diagrama. Esto permite al usuario ofrecer una vista más detallada de la acción.

    Hay dos formas de almacenar cadenas en otros datos de cualquier elemento:

    • Propiedades de estereotipos. Es posible definir un perfil UML en el que se establezca un estereotipo que agregue propiedades a determinadas clases de elementos UML.Por ejemplo, podría definir un perfil que agregara una propiedad denominada MásDetalle a una acción UML.Podría escribir código de extensión que almacenara datos de vínculo en una acción aplicando el estereotipo a la acción y, a continuación, almacenando los datos en la propiedad.

      El usuario podría ver el estereotipo y sus propiedades en la ventana Propiedades.

      Para implementar esta extensión, se empaquetaría la definición del perfil y el código de la extensión en una sola extensión de Visual Studio.

      Para obtener más información, vea Cómo: Definir un perfil para ampliar UML.

      Para obtener un proyecto de ejemplo en el que se implementa un perfil junto con los comandos de menú y controladores de gestos, vea Sample: UML Profiles.

    • Referencias. Puede adjuntar un conjunto de cadenas a cualquier elemento UML.Podría escribir código que almacenase información tal como un nombre de archivo o el GUID de otro elemento.Esto se puede hacer sin necesidad de proporcionar definiciones adicionales.Las referencias no son directamente visibles para el usuario.

      Para obtener más información, vea Cómo: Adjuntar cadenas de referencia a elementos de modelo.Para obtener un ejemplo, vea Link UML Elements to Diagrams or other Files.

    Hay dos formas de codificar referencias a elementos de un modelo:

    • Mediante el GUID y el nombre de archivo del elemento del modelo al que se hace referencia y el modelo que lo contiene, o a través de un diagrama concreto que lo muestre.

      Para obtener un ejemplo, vea Link UML Elements to Diagrams or other Files.

    • Referencias de ModelBus. ModelBus es un marco que permite crear y resolver referencias de un modelo a otro.Incluye ModelBus Picker, un selector que permite al usuario seleccionar elementos de un modelo.También ayuda al usuario a resolver referencias que se hayan perdido debido a cambios en el modelo de destino.

      Para obtener más información, vea Integrar modelos utilizando Modelbus de Visual Studio.

  • Propague cambios de un modelo a otro.
    Por ejemplo, puede sincronizar el nombre de un elemento con el del diagrama al que está vinculado, de modo que si el usuario cambio uno, también se cambie el otro.Hay dos mecanismos posibles:

    1. Se pueden usar reglas VMSDK para propagar cambios dentro de un mismo modelo.

      Para obtener un ejemplo, vea Link UML Elements to Diagrams or other Files.

    2. Se pueden usar eventos VMSDK para propagar cambios fuera del modelo; por ejemplo, para cambiar el nombre de archivo de un documento vinculado, o para cambiar un elemento de otro modelo.

    Para obtener información acerca de estas tareas, vea Cómo: Responder a cambios en un modelo UML.

  • Arrastre elementos de un modelo para copiarlos en otro
    Puede permitir al usuario que cree elementos arrastrándolos a un diagrama UML.El elemento creado no tiene por qué ser una copia del original.Por ejemplo, podría permitir al usuario arrastrar un diagrama de actividades del explorador de soluciones a otro diagrama de actividades para crear una nueva acción.

    Para obtener más información, vea Cómo: Definir un controlador de gestos en un diagrama de modelado y Cómo: Agregar un controlador para arrastrar y colocar.

Ejemplos

Vea el ejemplo de código de Link UML Elements to Diagrams or other Files.El ejemplo permite a los usuarios arrastrar un archivo a cualquier elemento UML y, posteriormente, abrir el archivo haciendo doble clic en ese elemento.Por ejemplo, podría vincular un diagrama de actividades a un elemento de caso de uso.Un icono muestra qué elementos tienen vínculos.

Este ejemplo de código muestra las siguientes técnicas:

Para obtener un ejemplo en el que se lee un modelo UML con un lenguage DSL, vea Cómo: Agregar un controlador para arrastrar y colocar.

Vea también

Conceptos

Cómo: Definir un comando de menú en un diagrama de modelado

Cómo: Definir un controlador de gestos en un diagrama de modelado

Cómo: Agregar un controlador para arrastrar y colocar

Cómo: Responder a cambios en un modelo UML

Otros recursos

Sample: UML Profiles

Link UML Elements to Diagrams or other Files