< Anterior | Siguiente >

Lección 7: Crear y definir con más precisión una declaración de correlación modelo a modelo

Con esta lección aprenderá a crear una declaración de correlación modelo a modelo en el modelo de correlación. Esta declaración de correlación contiene una regla de correlación personalizada que, cuando se ejecuta la transformación generada, crea un modelo de salida destino cuyo nombre se deriva del modelo de entrada origen. En esta lección también le enseña a cambiar el orden en el que la transformación procesa la declaración de correlación en el modelo de correlación.
Por qué y cuándo se efectúa esta tarea

Para redenominar el modelo destino generado por la transformación, puede crear una regla de correlación personalizada entre los objetos de entrada y de salida, en lugar de crear una regla de correlación entre las características de los objetos de entrada y de salida.

Para crear una declaración de correlación modelo a modelo:

  1. Si el modelo de correlación no está abierto en el editor de correlaciones de transformación, vaya a la vista Explorador de paquetes, pulse dos veces en el archivo .mapping, en la carpeta model.
  2. En el área del editor de correlaciones de transformación, en la sección Raíz de correlación, pulse Generalize_Classes con el botón derecho del ratón; después, pulse Crear correlación.
  3. En la ventana Correlación nueva, en el campo Nombre de correlación, teclee Model2Model y pulse Aceptar. La correlación se visualiza en la vista Esquema y se abre bajo Raíz de correlación, en el área del editor.

Añadir objetos de entrada y de salida a la declaración de correlación modelo a modelo

Por qué y cuándo se efectúa esta tarea

Después de haber creado la declaración de correlación modelo a modelo, debe añadirle un objeto de entrada y un objeto de salida. En esta lección, especificará un modelo para el objeto de entrada y el de salida.

Para añadir un objeto de entrada y un objeto de salida a la declaración de correlación modelo a modelo:

  1. Pulse el icono de Añadir un objeto de entrada, que es el situado más a la izquierda en la barra de herramientas de la correlación que se propone editar.
  2. En la ventana Añadir entrada, en el panel Elemento, expanda uml, pulse Modelo y, después, Aceptar.
  3. Pulse el icono de Añadir un objeto de salida, que es el segundo icono de la izquierda en la barra de herramientas de la correlación que se propone editar.
  4. En la ventana Añadir salida, en el panel Elemento, expanda uml, pulse Modelo y, después, Aceptar.
  5. Pulse Archivo > Guardar.
Resultados
Ahora puede definir las reglas de correlación entre los objetos de entrada y de salida.

Definir las reglas de correlación personalizada y de subcorrelación

Por qué y cuándo se efectúa esta tarea
En esta lección creará las siguientes reglas de correlación:
  • Una regla de correlación personalizada que redenomina el modelo destino generado por la transformación.
  • Una regla de correlación de subcorrelación que invoca el transforme Package2PackageTransform, para transformar los paquetes del modelo.

Para crear las reglas de correlación en la declaración de correlación:

  1. Cree una regla de correlación personalizada que redenomine el modelo destino:
    1. En el área del editor, pulse el compartimento superior del objeto de entrada Modelo. Se resalta todo el objeto de entrada de modelo.
    2. Arrastre la manecilla del objeto de entrada Modelo hasta el objeto de salida Modelo.
    3. En el nuevo elemento Subcorrelación, pulse la flecha abajo y seleccione Personalizada.
    4. Pulse el elemento Personalizada con el botón derecho del ratón y luego seleccione Mostrar en propiedades.
    5. En la vista Propiedades, en la pestaña Detalles, pulse Incorporado.
    6. En el área de texto situada más abajo del campo Código, bajo la signatura del método, especifique el siguiente código, que implementa la regla de correlación personalizada cuando se ejecuta la transformación: Model_tgt.setName(Model_src.getName()+"TgtModel");
    7. Pulse Aplicar.
    Nota: Para redenominar el modelo destino, también puede crear una regla de correlación personalizada entre el atributo name del objeto de entrada y del objeto de salida, y especificar el mismo código en la pestaña Detalles, en lugar de crear una regla de correlación entre los objetos de entrada y de salida.
  2. Cree una regla de correlación de subcorrelación que invoque la correlación Package2Package que creó en: Lección 6: Crear y definir con más precisión una declaración de correlación paquete a paquete:
    1. Arrastre la manecilla de la característica packagedElement hasta el atributo packagedElement del objeto de salida del modelo.
    2. Pulse el nuevo elemento Subcorrelación con el botón derecho del ratón y luego seleccione Mostrar en propiedades.
    3. En la vista Propiedades, en la pestaña Detalles, en la lista Correlación, seleccione Package2Package.
  3. Pulse Archivo > Guardar.
Resultados
Ha creado todas las declaraciones de correlación y todas las reglas de correlación que se necesitan para esta guía de aprendizaje. Ahora puede especificar el orden de proceso de las declaraciones de correlación.

Cambiar el orden de proceso de las declaraciones de correlación

Por qué y cuándo se efectúa esta tarea

Puede cambiar el orden de proceso de las declaraciones de correlación de un modelo de correlación. En la vista Esquema figuran las declaraciones de correlación en el orden en que se procesan cuando se ejecuta el código de transformación generado. Al cambiar el orden de proceso, puede especificar instrucciones de proceso para los objetos de entrada que una declaración de correlación menos específica podría procesar y consumir.

En el caso de esta guía de aprendizaje, especifique que la transformación generada procesa las declaraciones de correlación en el siguiente orden:
  • Model2Model
  • Package2Package
  • Class2Class
  • Class2Interface
  • Operation2Operation
  • Parameter2Parameter
  • Primitive2Primitive
Nota: En esta guía de aprendizaje, el orden de las declaraciones de correlación Model2Model y Package2Package es el más importante. Cuando ejecuta la transformación generada, dado que un modelo es un paquete, el transforme Package2Package acepta un modelo o un paquete. Si el transforme Package2Package es el primero de la lista en la transformación, se procesa y consume el objeto de entrada de modelo. En este escenario, el transforme Model2Model no procesa el objeto de entrada de modelo; por lo tanto, no se ejecuta la regla personalizada que creó en el transforme Model2Model.

Para cambiar el orden de proceso de las declaraciones de correlación:

  1. Si la vista Esquema no está visible, pulse Ventana > Mostrar vista > Esquema.
  2. En la vista Esquema, pulse la declaración de correlación Model2Model con el botón derecho del ratón; luego pulse Orden de ejecución y seleccione Subir. Repita este paso hasta que la declaración de correlación Model2Model esté al principio de la lista.
  3. Repita el paso 2 para cada declaración de correlación hasta que las declaraciones de correlación estén en el mismo orden que la lista anterior.
  4. Pulse Archivo > Guardar.
Resultados
Ahora puede generar el código fuente de la transformación.
< Anterior | Siguiente >

Comentarios