Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fixed some explanations and updated JavaDoc attachement due to API changes

...

The main propose of KTM is to allow allow bidirectional information transfer between abstract models and their resultant transformed models.

...

First part (upper half) is a tree of transformations. Each Model-Class class is a representation of a concrete model which is transformed. So models are nodes and ModelTransformations are edges. Thus the Model representing the root-model of a tree is also the root of a concrete TransformationTree-Modelmodel.

Second part (lower half) is object-mapping. Concrete Instances of models contain EObjects as their elements, which are represented by Element-Class class in TransformationTree metamodel. The Elements of two models are connected with ElementTransformations-Class class to model their origination relationship in corresponding model transformation.

...

The main propose of this class is generation of a Object object-mapping during transformation process.

Therefor it provides different functions for incremental registering of single parent-child-relations between EObjects.

...

Furthermore, it allows to modify trees by creating, deleting or appending new transformations and transformed models.

Additionally this extension provides functionality to extract a concrete mapping between two arbitary model intances from a TransformationTree.

...

Implementation Details

  • All references to EObjects are references to a copy of the original EObject. This allows to represent immutable mapping. To reidentify corresponding EObjects TransformationTreeExtensions provides search functions and matching functionalitywhich will check for structural matching models.
  • Models in TransformationTrees may be transient. This indicates that all references to EObjects in all Elements of the transient model are removed. Thus these models can't be source of a new appended transformation and can not be associated with it's original model. The main propose of this feature is to improve scalability of TransformationTrees by removing unnecessary references to internal model, but preserve traversing functionality of the ObjectMapping.

...