|
|
## Table of Contents
|
|
|
|
|
|
* [Code to Architecture](#code-to-architecture)
|
|
|
* [Code to Implementation Model](#code-to-implementation-model)
|
|
|
* [Implementation Model to IL](#implementation-model-to-il)
|
|
|
* [Intermodule Transformation](#intermodule-transformation)
|
|
|
* [URL auto-linking](#url-auto-linking)
|
|
|
* [Code and Syntax Highlighting](#code-and-syntax-highlighting)
|
|
|
|
|
|
The tool manages IDs for all model elements and mappings between them for traceability reasons. This description is based on [the description for the translation process](Behavioral_Description_of_Translations).
|
|
|
|
|
|
## <a name="code2arch"></a>Code -> Architecture
|
|
|
## Code to Architecture
|
|
|
Exporting an architecture model from the code is executed within 4 steps, from which each step contains a set of steps itself.
|
|
|
|
|
|
![TransformationManager.extractImplementationModelFromCode]
|
... | ... | @@ -23,7 +32,7 @@ At last, the id mapping of the model extraction process exports: |
|
|
4. A map of EObjects of the ADL to their IDs.
|
|
|
5. A map of IDs from AIL EObjects to ADL EObjects.
|
|
|
|
|
|
### <a name="code2ail"></a>Code <-> Implementation Model
|
|
|
### Code to Implementation Model
|
|
|
In the perspective of the ID mapping, the extraction process has 3 steps.
|
|
|
|
|
|
The first step takes the code as input and creates a model representation. It exports a list of transformation objects and the AIL model.
|
... | ... | @@ -32,7 +41,7 @@ The third step takes this ID map and creates a map of IDs to the transformations |
|
|
|
|
|
![TransformationManager.extractImplementationModelFromCode](/uploads/1ee8516e405d940f0960d37ad88f318b/TransformationManager.extractImplementationModelFromCode.png)
|
|
|
|
|
|
### <a name="ail2il"></a>Implementation Model <-> IL
|
|
|
### Implementation Model to IL
|
|
|
The model-to-model transformation uses triple graph grammars for translating the initial model to the target model. It does so in seceral steps:
|
|
|
|
|
|
1. It first imports the initial model to the TGG engine. It creates Triple Graph Nodes (TNodes) for each model object, and a map of these TNodes to the EObjects they represent.
|
... | ... | @@ -47,7 +56,7 @@ The list of EObjects of the result model and the map of these objects to their I |
|
|
|
|
|
![M2MTransformationComponentImpl.transformModel](/uploads/49bf4b656b1b1f490bfe02552fef762f/M2MTransformationComponentImpl.transformModel.png)
|
|
|
|
|
|
### <a name="intermoduletrans"></a>IL Module Transformations
|
|
|
### IL Module Transformations
|
|
|
The IL module transformations translated an IL model into another IL model with a different profile. It works with model transformations. Hence it has a left hand side (LHS) and a right hand side (RHS). The LHS is the initial model. The RHS is the result model. This transformation comprises 4 steps:
|
|
|
|
|
|
1. The initial model is imported into the transformation engine. This creates a list of Graph Nodes that represent the EObjects.
|
... | ... | @@ -57,12 +66,12 @@ The IL module transformations translated an IL model into another IL model with |
|
|
|
|
|
![HenshinTransformationTask.execute](/uploads/6822d94f55e17b6373dba0b51ba3bbc1/HenshinTransformationTask.execute.png)
|
|
|
|
|
|
### <a name="il2adl"></a>IL <-> Architecture Model
|
|
|
### IL to Architecture Model
|
|
|
Here, the same mechanism is used as in [Implementation Model <-> IL](#ail2il).
|
|
|
|
|
|
![M2MTransformationComponentImpl.transformModel](/uploads/49bf4b656b1b1f490bfe02552fef762f/M2MTransformationComponentImpl.transformModel.png)
|
|
|
|
|
|
### <a name="end"></a>End of Code -> Architecture
|
|
|
### Result
|
|
|
In the end, the TransformationManager keeps:
|
|
|
|
|
|
* the ADL model roots
|
... | ... | @@ -70,7 +79,7 @@ In the end, the TransformationManager keeps: |
|
|
* maps (UUID, EObject) and (EObject, UUID) for the ADL
|
|
|
* a map of IDs to the transformation objects
|
|
|
|
|
|
## <a name="arch2code"></a>Code <- Architecture
|
|
|
## Architecture to Code
|
|
|
|
|
|
![Model_Integration](/uploads/643d57c92de2e9a2c6693d3fe75a85e4/Model_Integration.png)
|
|
|
|
... | ... | |