Transforming models into models
After you generate the transformation
source code, you can run the generated model-to-model transformation.
- Preserving changes to transformation source code
When you change the Java™ elements in the generated transformation source code, you must edit or remove the corresponding @generated tags. If you edit or remove an @generated tag, the next time that you generate transformation code, your changes are preserved. - Specifying merge options for model-to-model transformation output
The output that a transformation generates can replace or merge with an existing model. You must specify the merge properties in the transformation configuration that you create before you run the transformation. The availability of a merge depends on the specification of a merge strategy for the output metamodel. - Adding merge support for models generated by model-to-model transformation mapping projects
If merge support is not specified for the type of metamodel that the transformation generates, or if you want to override the merge support that is specified for that type of metamodel, you can specify a merge extension in the mapping project or in the project that defines the target metamodel. - Linking transformation output to other transformations
You can link output from a transformation with another transformation to create combinations of model-to-model transformations and Java Emitter Templates (JET) model-to-text transformations. This functionality enables you to create more complex transformations, such as the UML-to-Java transformation. - Configuring a runtime workbench to test model-to-model transformations
You can invoke a runtime workbench to test and debug transformations. You might want to use the runtime workbench to avoid packaging the transformation plug-in before testing the transformation. - Creating transformation configurations
To run a transformation, you can create a transformation configuration. A transformation configuration contains the information that the transformation uses to generate the output that you expect. A transformation configuration also contains information that is specific to a particular type of transformation. - Validating transformation configurations
You can validate a transformation configuration to ensure that the values in the configuration are valid according to the requirements of a transformation. - Debugging transformations
Several mechanisms are available for debugging transformations, such as generating debug logs or viewing the contents of the transformation context when you run a transformation. Your role as a transformation author or a transformation user determines which mechanisms you can use. - Running and rerunning model-to-model transformations
You can run a model-to-model transformation by applying a transformation configuration, by using command-line syntax, or by invoking the transformation API in application source code. You can also run multiple transformation configurations consecutively. - Managing unresolved references to previously generated objects in model-to-model transformations
When a model-to-model transformation runs, it generates either objects or references to generated objects, depending on the feature settings in the metamodel. If the transformation generates objects, it records identifying information about those objects in a hash map. The transformation resolves references to objects during post-processing, based on the hash map. However, if the hash map does not contain sufficient information, you must manage the references. - Transforming models that contain cross-references
When you transform a model that contains a reference to another model, and if you plan to transform the referenced model as well, you can transform the two models at the same time. If you transform the models at the same time, the references in the output model point to the new output version of the referenced model. - Predefined properties for transformations
When you create a transformation, you can enable features or set values for properties by defining the corresponding property in the plugin.xml file of the plug-in that contains the transformation. Depending on how frequently the value changes, you can also update properties in the transformation context by using the transformation application programming interface (API).
Related concepts:
Feedback