Montaje de una transformación - Notas del release

© Copyright International Business Machines Corporation 2006. Reservados todos los derechos. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Notas del release

1.0 Limitaciones
   1.1 Los perfiles UML predeterminados no se correlacionan automáticamente cuando se crea una correlación a partir de un modelo a UML
   1.2 En las transformaciones de modelo a modelo, el soporte de fusión sólo está disponible para los modelos de destino con extensión contentTypes
   1.3 Cuando se crean transformaciones de modelo a modelo, los modelos Ecore especificados como entrada o salida deben tener los genmodels correspondientes
   1.4 Es necesario especificar un archivo como el contenedor de destino en una configuración de transformación de modelo a modelo
   1.5 La integración de Autoría de transformación con transformaciones no es automática
2.0 Problemas conocidos y soluciones
   2.1 Los metamodelos UML no se añaden automáticamente a las correlaciones de modelo a modelo
   2.2 Las propiedades filtradas "de" y "a" de transformaciones pueden aparecer corruptas en el Editor de correlaciones
   2.3 Suprimir la única referencia a un modelo en un archivo de correlación hace que se descarte el modelo del archivo de correlación
   2.4 La opción runSilent puede seleccionarse en el editor de configuraciones de la transformación de modelo a modelo si la modalidad de fusión es automática o visual
   2.5 Es posible que se produzcan errores de fusión cuando se correlaciona de modelo a UML con un perfil registrado, si no se utiliza el ID de registro del perfil
   2.6 Cuando se genera código a partir de modelos de correlación, los archivos de proyecto base, incluyendo 'plugin.xml' y 'MANIFEST.MF', no vuelven a generarse

1.0 Limitaciones

1.1 Los perfiles UML predeterminados no se correlacionan automáticamente cuando se crea una correlación de modelo a UML

Cuando se crea una transformación de modelo a modelo, si el destino es un modelo UML 2, los perfiles UML predeterminados no se correlacionan automáticamente. Por ejemplo, el perfil UML default.epx  no se correlaciona automáticamente. Debe correlacionar estos perfiles manualmente, o utilizar la infraestructura UMLDefaultLibrariesAddRule. Puede añadir manualmente esta infraestructura a una transformación si el destino es un modelo UML EClass.

Para añadir la infraestructura a una transformación, añada el siguiente código a la transformación:

    /**
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated NOT
     */
    protected void addTransformElements(Registry registry) {
 add(new UMLDefaultLibrariesAddRule());
     addGeneratedTransformElements(registry);
     // Puede añadir más elementos de transformación después de los generados aquí
     // Recuerde eliminar el código @generated o añadir NOT al mismo
    }

1.2 En las transformaciones de modelo a modelo, el soporte de fusión sólo está disponible para los modelos de destino con extensión contentTypes

En la autoría de transformación de modelo a modelo, para tener soporte de "fusión" en el modelo de destino, debe tener la extensión "org.eclipse.core.runtime.contentTypes" en un conector en el espacio de trabajo Eclipse. Puede especificar esta extensión en un conector que tenga un nombre de dominio derivado del dominio del modelo de destino. Para obtener más información acerca de esta extensión, consulte la documentación del punto de extensión en el proyecto Comparar/Fusionar. Esto permite construir una estrategia de fusión sofisticada para el modelo de destino. Para una estrategia EMF más sencilla, puede especificar la siguiente extensión (sustituya "xxx" con la extensión de archivo de destino):

<extension
  point="org.eclipse.core.runtime.contentTypes">
  <file-association
   content-type="com.ibm.xtools.comparemerge.emf.emfContentType"
  file-extensions="xxx"/>
 </extension>

1.3 Cuando se crean transformaciones de modelo a modelo, los modelos Ecore especificados como entrada y salida deben tener genmodels correspondientes

Cuando se crean transformaciones de modelo a modelo, los modelos Ecore especificados tienen que tener genmodels correspondiente. Para crear genmodels, puede utilizar el asistente Modelo de EMF. Asegúrese de generar código después de crear los genmodels.  Los genmodels deben registrarse en el área de trabajo de desarrollo o deben estar en la misma vía de acceso que los modelos Ecore correspondientes. Los genmodels deben tener la extensión de archivo .genmodel, un nombre similar y la misma disposición de mayúsculas y minúsculas que los modelos Ecore. En caso contrario, el motor de autoría de transformaciones no podrá encontrar el genmodel. Si el motor de autoría de transformaciones no puede encontrar los genmodels requeridos, inhabilitará la generación de código.

1.4 Es necesario especificar un archivo como el contenedor de destino en una configuración de transformación de modelo a modelo

Cuando se crea una configuración de transformación para una transformación de modelo a modelo, es necesario especificar un archivo que representa el modelo de destino, incluso si el archivo está vacío. No es posible especificar un URI como el contenedor de destino.

Para crear un modelo Ecore vacío, en la página Principal del editor o asistente de configuración de transformaciones, pulse Crear contenedor de destino nuevo y especifique un archivo que tenga la extensión del modelo de destino.

1.5 La integración de Autoría de transformación con transformaciones no es automática

Para integrar una transformación de modelo a modelo como el componente frontal de una transformación JET (de modelo a texto), deberá añadir manualmente una instancia a la infraestructura JETRule a las reglas 'postProcessing' de RootTransformation que se encuentran en el proveedor de transformaciones. El siguiente ejemplo muestra el código que es necesario incluir en la clase de proveedor de transformación. Debe sustituir 'xxx' con el ID de la transformación JET.

    /**
     * Crea una transformación raíz. Puede añadir más reglas a la transformación aquí
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @param transform The root transformation
     * @generated NOT
     */
    protected RootTransformation createRootTransformation(ITransformationDescriptor descriptor) {
        return new RootTransformation(descriptor, new MainTransform()) {
                   protected void addPostProcessingRules() {
                            add(new JETRule("xxx"));
                   }
        };
   }

2.0 Problemas conocidos y soluciones

2.1 Los metamodelos UML no se añaden automáticamente a las correlaciones de modelo a modelo

Para generar transformaciones que introducen o extraen modelos UML, especifique un metamodelo UML como entrada raíz, salida raíz o como ambos de la especificación de correlación.  Añadir un perfil UML a la especificación de correlación no añade automáticamente el modelo UML.

Método alternativo: añada el metamodelo UML pulsando el botón Añadir modelo en el asistente y editor de correlaciones de transformación de modelo a modelo.

2.2 Las propiedades filtradas "de" y "a" de transformaciones pueden aparecer corruptas en el Editor de correlaciones

Es posible que los puntos finales de los conectores de correlación desaparezcan si un usuario conmuta la característica de filtrado de la modalidad "Básica" a las modalidades "Intermedia" o "Avanzada", crea correlaciones y conmuta de nuevo a la modalidad "Básica" de filtrado. Esto puede provocar que aparezcan conectores de correlación que tengan puntos finales que no conectan nada. Esto sólo afecta a la apariencia de las correlaciones. Las correlaciones y el código fuente generado por la transformación a partir de la correlación no se ven afectados.

Método alternativo: corrija la apariencia de las correlaciones especificando la modalidad de filtrado que estaba activa cuando se creó la correlación.

2.3 Suprimir la única referencia a un modelo en un archivo de correlación hace que se descarte el modelo del archivo de correlación

Cuando un archivo de correlación ya no contiene correlaciones que especifican elementos de un modelo como entradas o salidas de correlación, el modelo se "descarta" del archivo de correlación. La comprobación de modelos sin utilizar se realiza independientemente de si se suprime una entrada o salida de correlación. Se mantienen listas independientes en el archivo de correlación para entradas y salidas.

Método alternativo: debe añadir el archivo de correlación antes de poder seleccionar elementos de dicho modelo como entradas o salidas de correlación. Pulse el botón Añadir modelo en el Editor de correlaciones para añadir el modelo al archivo de correlación.

2.4 La opción runSilent puede seleccionarse en el editor de configuraciones de la transformación de modelo a modelo si la modalidad de fusión es automática o visual

En el editor de configuración de transformaciones para transformaciones de modelo a modelo, es posible especificar la opción runSilent sin ninguna modalidad de fusión, incluyendo 'automática' o 'visual'. Si la modalidad de fusión se establece en automática o visual, la opción runSilent fuerza la estrategia de fusión silenciosa si se encuentra soporte de fusión para el modelo de destino. En caso contrario, se utilizará una estrategia de alteración temporal de la fusión.

2.5 Es posible que se produzcan errores de fusión cuando se correlaciona de modelo a UML con un perfil registrado, si no se utiliza el ID de registro del perfil

Cuando se crea un modelo de correlación de transformación a partir del metamodelo Ecore en el metamodelo UML con perfiles, debe verificar el URI del perfil que se utilizará en los modelos de UML de destino. De forma predeterminada, se utilizará el URI del perfil especificado en el editor de correlaciones. Si especifica un URI de recurso, se convierte en un URI de conector equivalente.

Método alternativo: puede especificar un URI diferente en la propiedad de alteración temporal profileURI en la página propiedades. Pulse sobre la sección raíz en el editor de correlaciones para mostrar la página de propiedades. Nota: si está utilizando un perfil registrado, puede especificar el URI con el que el perfil está registrado, si es distinto del perfil que se utiliza automáticamente. Si no lleva a cabo esto es posible que el perfil registrado se cargue más de una vez en el conjunto de recursos, lo cual puede causar problemas con la fusión.

2.6 Cuando se genera código a partir de modelos de correlación, los archivos de proyecto base, incluyendo 'plugin.xml' y 'MANIFEST.MF', no vuelven a generarse

Cuando se genera código a partir de modelos de correlación en transformaciones de modelo a modelo, los archivos de proyecto básicos como plugin.xml y manifest.mf serán generados si no pueden ser encontrados. Es posible que necesite editar estos archivos una vez han sido generados.

Método alternativo: