|
|
The tool manages IDs for all model elements and mappings between them for traceability reasons.
|
|
|
|
|
|
### Code <-> Implementation Model
|
|
|
First, each implementation model element gets an ID via the ID2ObjectMapper. It creates a map (EObject, UUID).
|
|
|
Then, a map (UUID, Transformation) from a model element's UUID to the element's transformation object is created using the method EmbedTransformationRegistry.createID(..), based on the first (EObject, UUID) map.
|
|
|
|
|
|
### Implementation Model <-> IL
|
|
|
The TransformationManager class gives the (EObject, UUID) map into the Implementation Model <-> IL transformations.
|
|
|
|
|
|
First, the M2MTransformationComponentImpl will create two maps (UUID, TNode) and (TNode, UUID) for all TNodes using the method createIDs(..). The TNodes that represent elements that already had an ID in the (EObject, UUID) map, use that ID.
|
|
|
|
|
|
Second, a map (src-UUID*, trg-UUID*) is created using the method M2MTransformationManager.exportTraces(..). This map uses the Trace elements in the TGGs to relate IL element UUIDs to implementation model element UUIDs.
|
|
|
|
|
|
At last, the M2MTransformationManager clears the graph and only keeps the IL model. It then uses its mapId2Objects(..) method to create four maps: for each, the initial and the result model, two maps (UUID, EObject) and (EObject, UUID).
|
|
|
|
|
|
Therefore at the end, the TGG transformation contains as its result four maps:
|
|
|
* Initial Model: (UUID, EObject)
|
|
|
* Initial Model: (EObject, UUID)
|
|
|
* Result Model: (UUID, EObject)
|
|
|
* Result Model: (EObject, UUID)
|
|
|
|
|
|
The TransformationManager gives the Initial Model (EObject, UUID) to the next model transformation.
|
|
|
|
|
|
### IL Module Transformations
|
|
|
The IL module transformations do not change any IDs. It just forwards the eObjectInstance2id_before as Initial Model (EObject, UUID) to the Result Model (EObject, UUID).
|
|
|
|
|
|
### IL <-> Architecture Model
|
|
|
Here, the same mechanism is used as in Implementation Model <-> IL. |
|
|
\ No newline at end of file |