Changes for page Transformation Mapping (KTM)
Last modified by Richard Kreissig on 2023/09/14 11:14
<
edited by Richard Kreissig
on 2023/09/14 11:14
on 2023/09/14 11:14
edited by Alexander Schulz-Rosengarten
on 2023/09/11 16:17
on 2023/09/11 16:17
Change comment:
Update document after refactoring.
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.s tu2309801 +XWiki.als - Content
-
... ... @@ -1,10 +1,12 @@ 1 1 = KTM - KIELER Transformation Mapping = 2 2 3 -= =Deprecated since 0.12==3 +{{panel bgColor="orange" title="Deprecated since 0.12"}} 4 4 This article is deprecated. The described features are no longer available in current releases. 5 5 6 6 KTM was redesigned is now available as KiTT included in KiCool. 7 +{{/panel}} 7 7 9 +\\ 8 8 9 9 === Topics === 10 10 ... ... @@ -20,6 +20,7 @@ 20 20 21 21 == Transformation Tree Model == 22 22 25 +\\ 23 23 24 24 To offer a mapping between model-elements during multiple transformations KTM introduces a model called TransformationTree to represent these relations. 25 25 ... ... @@ -33,6 +33,7 @@ 33 33 34 34 **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. 35 35 39 +\\ 36 36 37 37 An abstract example of an instance of this model: 38 38 ... ... @@ -86,8 +86,9 @@ 86 86 87 87 The codeblock blow show a snipped of SCChartCoreTransformation with additional mapping registration. 88 88 89 -{{code language="java" theme="Eclipse" firstline="1" linenumbers="true" collapse="true" title=" 90 -transformTriggerEffect CodeSnipped"}} 93 +\\ 94 + 95 +{{code language="java" theme="Eclipse" firstline="1" title="transformTriggerEffect CodeSnipped" linenumbers="true" collapse="true"}} 91 91 ... 92 92 @Inject 93 93 extension TransformationMapping ... ... @@ -155,8 +155,9 @@ 155 155 156 156 The following code will now perform each transformation stepwise and updates a transformation tree each step. 157 157 158 -{{code language="java" theme="Eclipse" firstline="1" linenumbers="true" collapse="true" title=" 159 -Transform and create TranformationTree"}} 163 +\\ 164 + 165 +{{code language="java" theme="Eclipse" firstline="1" title="Transform and create TranformationTree" linenumbers="true" collapse="true"}} 160 160 aboSplitTE = SCCtransformation.transformTriggerEffect(abo); 161 161 162 162 ModelWrapper aboSplitTEModel = ... ... @@ -175,12 +175,14 @@ 175 175 tree = transformationTree.root(aboSCGModel); 176 176 {{/code}} 177 177 184 +\\ 178 178 179 179 The resulting TransformationTree has following structure and representing each step and model of the transformation. 180 180 188 +\\ 181 181 182 182 (% class="wrapped" %) 183 -|=(% colspan="4" style="text-align: center;"%)(%colspan="4" style="text-align: center;" %)191 +|=(% style="text-align: center;" colspan="4" %)(% style="text-align: center;" colspan="4" %) 184 184 ((( 185 185 (% class="content-wrapper" %) 186 186 ((( ... ... @@ -187,25 +187,25 @@ 187 187 [[image:attach:example_tree.jpeg]] 188 188 ))) 189 189 ))) 190 -|(% colspan="1" style="text-align:center"%)(%colspan="1" style="text-align: center;" %)198 +|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %) 191 191 ((( 192 192 (% class="content-wrapper" %) 193 193 ((( 194 194 [[image:attach:example_abo.jpeg]] 195 195 ))) 196 -)))|(% colspan="1" style="text-align:center"%)(%colspan="1" style="text-align: center;" %)204 +)))|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %) 197 197 ((( 198 198 (% class="content-wrapper" %) 199 199 ((( 200 200 [[image:attach:example_abo_splitTE.jpeg]] 201 201 ))) 202 -)))|(% colspan="1" style="text-align:center"%)(%colspan="1" style="text-align: center;" %)210 +)))|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %) 203 203 ((( 204 204 (% class="content-wrapper" %) 205 205 ((( 206 206 [[image:attach:example_abo_norm.jpeg]] 207 207 ))) 208 -)))|(% colspan="1" style="text-align:center"%)(%colspan="1" style="text-align: center;" %)216 +)))|(% style="text-align: center;" colspan="1" %)(% style="text-align: center;" colspan="1" %) 209 209 ((( 210 210 (% class="content-wrapper" %) 211 211 ((( ... ... @@ -213,6 +213,7 @@ 213 213 ))) 214 214 ))) 215 215 224 +\\ 216 216 217 217 Furthermore the TransformationTree now contains mapping information for the whole transformation chain. 218 218 ... ... @@ -220,8 +220,9 @@ 220 220 221 221 The following code has starts with an instance of the initial ABO SCChart and SCG, along with the TranformationTree above. 222 222 223 -{{code language="java" theme="Eclipse" firstline="1" linenumbers="true" collapse="true" title=" 224 -resolveMapping"}} 232 +\\ 233 + 234 +{{code language="java" theme="Eclipse" firstline="1" title="resolveMapping" linenumbers="true" collapse="true"}} 225 225 @Inject 226 226 extension TransformationTreeExtensions 227 227 ... ... @@ -233,6 +233,7 @@ 233 233 val mapping = resolvemapping(aboSCCModelWrapper, aboSCC, aboSCGModelWrapper, aboSCG); 234 234 {{/code}} 235 235 246 +\\ 236 236 237 237 The returned mapping is a multi mapping between all object in aboSCC and their resulting objects in aboSCG. 238 238 ... ... @@ -240,9 +240,11 @@ 240 240 241 241 [[image:attach:example_abo_resolved.jpeg]] 242 242 254 +\\ 243 243 244 244 Also a more detailed view is available, showing all EObjects relation. 245 245 258 +\\ 246 246 247 247 [[image:attach:example_abo_resolved_elements.jpeg]] 248 248 ... ... @@ -266,3 +266,4 @@ 266 266 267 267 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. 268 268 282 +\\