Changes for page Transformation Mapping (KTM)
Last modified by Richard Kreissig on 2023/09/14 11:14
<
>
edited by Alexander Schulz-Rosengarten
on 2018/11/22 14:53
on 2018/11/22 14:53
edited by Alexander Schulz-Rosengarten
on 2014/01/23 14:14
on 2014/01/23 14:14
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
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 l anguage="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 - 508232771 +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)