<
From version < 21.1 >
edited by Alexander Schulz-Rosengarten
on 2018/11/22 14:53
To version < 15.1 >
edited by Alexander Schulz-Rosengarten
on 2014/01/23 14:14
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,13 +1,7 @@
1 1  = KTM - KIELER Transformation Mapping =
2 2  
3 -{{panel bgColor="orange" title="Deprecated since 0.11"}}
4 -This article is deprecated. The described features are no longer available in current releases.
3 +
5 5  
6 -KTM was redesigned is now available as KiTT included in KiCool.
7 -{{/panel}}
8 -
9 -\\
10 -
11 11  === Topics ===
12 12  
13 13  
... ... @@ -22,7 +22,7 @@
22 22  
23 23  == Transformation Tree Model ==
24 24  
25 -\\
19 +
26 26  
27 27  To offer a mapping between model-elements during multiple transformations KTM introduces a model called TransformationTree to represent these relations.
28 28  
... ... @@ -36,7 +36,7 @@
36 36  
37 37  **Second part** (lower half) is object-mapping. Instances of models contain EObjects as their elements, which are represented by EObjectWrapper-class in this metamodel. The EObjectWrapper of two models are connected with EObjectTransformations-class to express their origination relationship in corresponding model transformation.
38 38  
39 -\\
33 +
40 40  
41 41  An abstract example of an instance of this model:
42 42  
... ... @@ -90,9 +90,9 @@
90 90  
91 91  The codeblock blow show a snipped of SCChartCoreTransformation with additional mapping registration.
92 92  
93 -\\
87 +
94 94  
95 -{{code language="java" theme="Eclipse" firstline="1" title="transformTriggerEffect CodeSnipped" linenumbers="true" collapse="true"}}
89 +{{code title="transformTriggerEffect CodeSnipped" theme="Eclipse" linenumbers="true" language="java" firstline="1" collapse="true"}}
96 96  ...
97 97    @Inject
98 98   extension TransformationMapping
... ... @@ -160,9 +160,9 @@
160 160  
161 161  The following code will now perform each transformation stepwise and updates a transformation tree each step.
162 162  
163 -\\
157 +
164 164  
165 -{{code language="java" theme="Eclipse" firstline="1" title="Transform and create TranformationTree" linenumbers="true" collapse="true"}}
159 +{{code title="Transform and create TranformationTree" theme="Eclipse" linenumbers="true" language="java" firstline="1" collapse="true"}}
166 166  aboSplitTE = SCCtransformation.transformTriggerEffect(abo);
167 167  
168 168  ModelWrapper aboSplitTEModel =
... ... @@ -181,47 +181,31 @@
181 181  tree = transformationTree.root(aboSCGModel);
182 182  {{/code}}
183 183  
184 -\\
178 +
185 185  
186 186  The resulting TransformationTree has following structure and representing each step and model of the transformation.
187 187  
188 -\\
182 +
189 189  
190 -(% class="wrapped" %)
191 -|=(% style="text-align: center;" colspan="4" %)(% style="text-align: center;" colspan="4" %)
184 +|=(% colspan="4" style="text-align: center;" %)(% colspan="4" style="text-align: center;" %)
192 192  (((
193 -(% class="content-wrapper" %)
194 -(((
195 195  [[image:attach:example_tree.jpeg]]
196 196  )))
197 -)))
198 -|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %)
188 +|(% colspan="1" style="text-align: center;" %)(% colspan="1" style="text-align: center;" %)
199 199  (((
200 -(% class="content-wrapper" %)
201 -(((
202 202  [[image:attach:example_abo.jpeg]]
203 -)))
204 -)))|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %)
191 +)))|(% colspan="1" style="text-align: center;" %)(% colspan="1" style="text-align: center;" %)
205 205  (((
206 -(% class="content-wrapper" %)
207 -(((
208 208  [[image:attach:example_abo_splitTE.jpeg]]
209 -)))
210 -)))|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %)
194 +)))|(% colspan="1" style="text-align: center;" %)(% colspan="1" style="text-align: center;" %)
211 211  (((
212 -(% class="content-wrapper" %)
213 -(((
214 214  [[image:attach:example_abo_norm.jpeg]]
215 -)))
216 -)))|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %)
197 +)))|(% colspan="1" style="text-align: center;" %)(% colspan="1" style="text-align: center;" %)
217 217  (((
218 -(% class="content-wrapper" %)
219 -(((
220 220  [[image:attach:example_abo_scg.jpeg]]
221 221  )))
222 -)))
223 223  
224 -\\
202 +
225 225  
226 226  Furthermore the TransformationTree now contains mapping information for the whole transformation chain.
227 227  
... ... @@ -229,9 +229,9 @@
229 229  
230 230  The following code has starts with an instance of the initial ABO SCChart and SCG, along with the TranformationTree above.
231 231  
232 -\\
210 +
233 233  
234 -{{code language="java" theme="Eclipse" firstline="1" title="resolveMapping" linenumbers="true" collapse="true"}}
212 +{{code title="resolveMapping" theme="Eclipse" linenumbers="true" language="java" firstline="1" collapse="true"}}
235 235  @Inject
236 236  extension TransformationTreeExtensions
237 237  
... ... @@ -243,7 +243,7 @@
243 243  val mapping = resolvemapping(aboSCCModelWrapper, aboSCC, aboSCGModelWrapper, aboSCG);
244 244  {{/code}}
245 245  
246 -\\
224 +
247 247  
248 248  The returned mapping is a multi mapping between all object in aboSCC and their resulting objects in aboSCG.
249 249  
... ... @@ -251,32 +251,12 @@
251 251  
252 252  [[image:attach:example_abo_resolved.jpeg]]
253 253  
254 -\\
232 +
255 255  
256 256  Also a more detailed view is available, showing all EObjects relation.
257 257  
258 -\\
236 +
259 259  
260 260  [[image:attach:example_abo_resolved_elements.jpeg]]
261 261  
262 -== Visualisation ==
263 -
264 -If you have a TransformationTree file (.ktmt) you can open a KLighD visualisation by right-clicking on file in project-tree and selecting //'Open Transformation Tree//'.
265 -
266 -=== Diagram Options ===
267 -
268 -//Model Visualisation//: If enabled tries to visaulize selected models with KLighD else a EObject-represenation is created.
269 -
270 -//EObject Attributes//: If enabled shows Attributes of EObject in EObject-represenation.
271 -
272 -//Selective mapping edges//: If enabled shows only selected mapping edges.
273 -
274 -=== Interaction ===
275 -
276 -//CTRL+CLICK//: Selects a Node in TransformationTree as source and displays its represented model.
277 -
278 -//SHIFT+CLICK//: Selects a Node in TransformationTree as target, displays both models and the resolved mapping as edges (currenly only between States/Regions).
279 -
280 -If Selective selective mapping edge is enabled no mapping edges are displayed. If you select (//CLICK//) an element in one of the two model its relation to corresponding element is displayed. You can multi-select with //CTRL+CLICK// or deselect by clicking on an edge.
281 -
282 -\\
240 +
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -50823277
1 +8651753
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/50823277/Transformation Mapping (KTM)
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/8651753/Transformation Mapping (KTM)