Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.qvtd.build.etl.tests/src/org')
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/Activator.java (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/Activator.java)2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNode.xmi296
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNodeValidate.xmi29
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTree.ecore15
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTreeContainmentTree.xmi6
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTcToQVTu.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTuToQVTm.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.ecore16
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtc66
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtcas252
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtias377
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtcas213
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtp.qvtias249
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas223
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.xmi5765
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi11
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSContainmentTree.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchdule.xmi52
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchedule.xmi64
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVNode.xmi37
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTree.ecore15
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTreeContainmentTree.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.java279
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.launch21
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/MapOrdering.launch15
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTcToQVTu.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiDependenceAnalysis.launch22
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiToText.launch18
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToQVTiPartition.launch14
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToText.launch18
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTpToSchedule.launch14
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTs-pToQVTi.launch14
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTuToQVTm.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/Scheduling.launch17
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/SimpleRDBMS.ecore)92
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore.oclas165
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainment.xmi30
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi51
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentGraph.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentTree.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/SimpleUML.ecore)92
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore.oclas172
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUMLPeople.xmi95
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainment.xmi30
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlEcoreToContainmentTree.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore136
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore.oclas278
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms QvtuToQvti.launch (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbms QvtuToQvti.launch)8
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtc (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbms.qvtc)806
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtcas1761
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvti519
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias2956
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas2569
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas.rc2569
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias2266
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas1665
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi)24
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainment.xmi52
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsEcoreToContainmentTree.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi9
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi370
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSimple.qvtias2137
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/VerySimpleUML.ecore9
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/Graph2Graph.xmi195
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.ecore27
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.xmi14
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2Graph.ecore27
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2GraphContainmentTree.xmi2
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphContainmentTree.xmi19
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLower.xmi14
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLowerValidate.xmi47
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower QvtuToQvti.launch30
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtc95
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtcas423
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtias792
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtm.qvtcas396
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtp.qvtias530
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtu.qvtcas406
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerConfig.xmi (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/GraphToGraphMinimal/UpperToLowerConfig.xmi)6
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerPartition.qvtm.qvtcas223
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchdule.xmi52
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchedule.xmi132
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UtoLGraphQVTiToText.launch18
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/build.properties (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/GraphToGraphMinimal/build.properties)0
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/SimpleOCL/SimpleOCLMergeDataDep.graphml636
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/DataDepToGraphML.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/InterDepToGraphML.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/MergeDataDepToGraphML.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/ReducedDataDepToGraphML.launch12
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/SimpleUmlContainmentTree.graphml6
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsContainmentTree.graphml6
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsDataDep.graphml1085
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsInterDep.graphml1076
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsMergeDataDep.graphml1895
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsReducedDataDep.graphml1916
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtc (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/flattening/InheritanceFlatenning.qvtc)0
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtcas595
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtu.qvtcas530
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenningConfig.xmi10
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/SimpleUmlToFlatUml.ecore (renamed from tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/flattening/SimpleUmlToFlatUml.ecore)106
-rw-r--r--tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore63
106 files changed, 37889 insertions, 622 deletions
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/Activator.java b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/Activator.java
index 7cfcbed6a..89cdb30ca 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/Activator.java
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/Activator.java
@@ -1,4 +1,4 @@
-package org.eclipse.qvtd.etl.tests;
+package org.eclipse.qvtd.build.etl.tests;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNode.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNode.xmi
new file mode 100644
index 000000000..c5a71284c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNode.xmi
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hls="http://www.eclipse.org/qvt/examples/0.1/HLSTree" xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/HLSTree HLSTree.ecore">
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1.3">
+ <children name="n1.3.1"/>
+ </hls:HLSNode>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1.2">
+ <children name="n1.2.1"/>
+ <children name="n1.2.2"/>
+ </hls:HLSNode>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1.3.1.1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1.1">
+ <children name="n1.1.1"/>
+ </hls:HLSNode>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+ <hls:HLSNode name="n1"/>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNodeValidate.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNodeValidate.xmi
new file mode 100644
index 000000000..b1cad6db2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSNodeValidate.xmi
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pfx:HLSNode
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pfx="http://www.eclipse.org/qvt/examples/0.1/HLSTree"
+ xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/HLSTree HLSTree.ecore"
+ name="n1">
+ <children
+ name="n1.1">
+ <children
+ name="n1.1.1"/>
+ </children>
+ <children
+ name="n1.2">
+ <children
+ name="n1.2.1"/>
+ <children
+ name="n1.2.2"/>
+ </children>
+ <children
+ name="n1.3">
+ <children
+ name="n1.3.1">
+ <children
+ name="n1.3.1.1"/>
+ </children>
+ </children>
+</pfx:HLSNode>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTree.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTree.ecore
new file mode 100644
index 000000000..102386755
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTree.ecore
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HLSTree" nsURI="http://www.eclipse.org/qvt/examples/0.1/HLSTree"
+ nsPrefix="hls">
+ <eClassifiers xsi:type="ecore:EDataType" name="HLS" instanceClassName="java.lang.String"/>
+ <eClassifiers xsi:type="ecore:EClass" name="HLSNode">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HLSNode"
+ eOpposite="#//HLSNode/children"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//HLSNode" containment="true" eOpposite="#//HLSNode/parent"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hls" lowerBound="1" eType="#//HLS"
+ defaultValueLiteral="1"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTreeContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTreeContainmentTree.xmi
new file mode 100644
index 000000000..5c713607f
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HLSTreeContainmentTree.xmi
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:eCoreContainemntTree="http://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree">
+ <eCoreContainemntTree:Node EClassName="HLSTree"/>
+ <eCoreContainemntTree:Node EClassName="HLSTree"/>
+ <eCoreContainemntTree:Node EClassName="HLSTree"/>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTcToQVTu.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTcToQVTu.launch
new file mode 100644
index 000000000..bc9ff5238
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTcToQVTu.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.migration.eclipse.dt.launching.MigrationLaunchConfigurationDelegate">
+<intAttribute key="migratedModel" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:15:39 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTc&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:16:05 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTu&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:20:13 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:32:40 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<intAttribute key="originalModel" value="0"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QVTcToQVTu.mig"/>
+</launchConfiguration> \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTuToQVTm.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTuToQVTm.launch
new file mode 100644
index 000000000..56a8470f9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS-QVTuToQVTm.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.migration.eclipse.dt.launching.MigrationLaunchConfigurationDelegate">
+<intAttribute key="migratedModel" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu Sep 04 11:26:30 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTu&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Sep 04 11:27:05 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTm&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Sep 04 11:27:21 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Sep 04 11:27:43 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=platform\:/resource/org.eclipse.ocl.examples.library/model-gen/OCL-2.5.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.ocl.examples.library/model-gen/OCL-2.5.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<intAttribute key="originalModel" value="0"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QVTuToQVTm.mig"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.ecore
new file mode 100644
index 000000000..f12a6a9eb
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.ecore
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HSV2HLS" nsURI="http://http://www.eclipse.org/qvt/examples/0.1/HSVtoHLS"
+ nsPrefix="hsv2hls">
+ <eClassifiers xsi:type="ecore:EDataType" name="RGB" instanceClassName="java.lang.String"/>
+ <eClassifiers xsi:type="ecore:EClass" name="HSVNode2HLSNode">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HSVNode2HLSNode"
+ eOpposite="#//HSVNode2HLSNode/children"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//HSVNode2HLSNode" containment="true" eOpposite="#//HSVNode2HLSNode/parent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hsv" lowerBound="1" eType="ecore:EClass HSVTree.ecore#//HSVNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="hls" lowerBound="1" eType="ecore:EClass HLSTree.ecore#//HLSNode"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="rgb" lowerBound="1" eType="#//RGB"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtc b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtc
new file mode 100644
index 000000000..c826b26c2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtc
@@ -0,0 +1,66 @@
+import 'HSVTree.ecore'::HSVTree;
+import 'HLSTree.ecore'::HLSTree;
+import 'HSV2HLS.ecore'::HSV2HLS;
+
+transformation hsv2hls {
+ hsv imports HSVTree; -- Should specify the correct package
+ hls imports HLSTree; --
+ imports HSV2HLS;
+}
+
+query hsv2hls::hls2rgb(color : HLSTree::HLS) : HSV2HLS::RGB;
+query hsv2hls::hsv2rgb(color : HSVTree::HSV) : HSV2HLS::RGB;
+query hsv2hls::rgb2hls(color : HSV2HLS::RGB) : HLSTree::HLS;
+query hsv2hls::rgb2hsv(color : HSV2HLS::RGB) : HSVTree::HSV;
+
+
+map HSV2HLSRoot in hsv2hls {
+ check hsv(hsvRoot : HSVNode |
+ hsvRoot.parent = null;) { }
+ check enforce hls() {
+ realize hlsNode : HLSNode |
+ hlsNode.parent := null;
+ }
+ where( ) {
+ realize middleRoot : HSVNode2HLSNode |
+ middleRoot.hsv := hsvRoot;
+ middleRoot.hls := hlsNode;
+
+ }
+ map {
+ where() {
+ middleRoot.name := hsvRoot.name;
+ middleRoot.name := hlsNode.name;
+ hsvRoot.name := middleRoot.name;
+ hlsNode.name := middleRoot.name;
+ }
+ }
+}
+
+map HSV2HLSRecursion in hsv2hls {
+ check enforce hsv(hsvParent : HSVNode | ) {
+ realize hsvNode : HSVNode |
+ hsvNode.parent := hsvParent;
+ }
+ check enforce hls(hlsParent : HLSNode |) {
+ realize hlsNode : HLSNode |
+ hlsNode.parent := hlsParent;
+ }
+ where(middleParent : HSVNode2HLSNode |
+ middleParent.hsv = hsvParent;
+ middleParent.hls = hlsParent;
+ ) {
+ realize middleNode : HSVNode2HLSNode |
+ middleNode.parent := middleParent;
+ middleNode.hsv := hsvNode;
+ middleNode.hls := hlsNode;
+ }
+ map {
+ where () {
+ middleNode.name := hsvNode.name;
+ middleNode.name := hlsNode.name;
+ hlsNode.name := middleNode.name;
+ hsvNode.name := middleNode.name;
+ }
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtcas
new file mode 100644
index 000000000..2db057500
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtcas
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="HSV2HLS.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hsv2hls" name="hsv2hls"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.hls2rgb..HLSTree.HLS"
+ isStatic="true" name="hls2rgb" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.hls2rgb..HLSTree.HLS"
+ name="color" type="HLSTree.ecore.oclas#T.HLSTree.HLS"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.hsv2rgb..HSVTree.HSV"
+ isStatic="true" name="hsv2rgb" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.hsv2rgb..HSVTree.HSV"
+ name="color" type="HSVTree.ecore.oclas#T.HSVTree.HSV"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.rgb2hls..HSV2HLS.RGB"
+ isStatic="true" name="rgb2hls" type="HLSTree.ecore.oclas#T.HLSTree.HLS">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.rgb2hls..HSV2HLS.RGB"
+ name="color" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.rgb2hsv..HSV2HLS.RGB"
+ isStatic="true" name="rgb2hsv" type="HSVTree.ecore.oclas#T.HSVTree.HSV">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.rgb2hsv..HSV2HLS.RGB"
+ name="color" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB"/>
+ </ownedOperation>
+ <modelParameter xmi:id="qT.hsv2hls.hsv" name="hsv" usedPackage="HSVTree.ecore.oclas#P.HSVTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.hls" name="hls" usedPackage="HLSTree.ecore.oclas#P.HLSTree"/>
+ <modelParameter usedPackage="HSV2HLS.ecore.oclas#P.HSV2HLS"/>
+ <rule xsi:type="qvtc:Mapping" name="HSV2HLSRoot">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </source>
+ <argument xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot" name="hsvRoot"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode" name="hlsNode"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot" name="middleRoot"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="HSV2HLSRecursion">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent" name="hsvParent"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"
+ name="hsvNode" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent" name="hlsParent"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.guard.middleParent" name="middleParent"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode" name="middleNode"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtias
new file mode 100644
index 000000000..8cd86061e
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtias
@@ -0,0 +1,377 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage"
+ name="HSV2HLS.qvti" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvti">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hsv2hls" name="hsv2hls">
+ <modelParameter xmi:id="qT.hsv2hls.hsv" name="hsv" usedPackage="HSVTree.ecore.oclas#P.HSVTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.hls" name="hls" usedPackage="HLSTree.ecore.oclas#P.HLSTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.middle" name="middle" usedPackage="HSV2HLS.ecore.oclas#P.HSV2HLS"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRoot_MR" name="HSV2HLSRoot_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot" name="middleRoot"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRoot_LM" name="HSV2HLSRoot_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot" name="hsvRoot"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot_LM.middle.bottom.middleRoot"
+ name="middleRoot" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ </source>
+ <argument xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.middle.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.middle.bottom.middleRoot"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRecursion_LM" name="HSV2HLSRecursion_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent" name="hsvParent"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode" name="hsvNode"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"
+ name="middleParent" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"
+ name="middleNode" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRecursion_MR" name="HSV2HLSRecursion_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent" name="hlsParent"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"
+ name="middleParent" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"
+ name="middleNode" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.__root__" name="__root__">
+ <guardPattern/>
+ <bottomPattern/>
+ <mappingStatement xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredType="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.hsv2hls.HSV2HLSRoot_MR">
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#i.hsv2hls.__root__.0.0.middleRoot"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.hsv2hls.__root__.0.0.middleRoot" name="middleRoot" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredType="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.hsv2hls.HSV2HLSRoot_LM">
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#i.hsv2hls.__root__.0.1.hsvRoot"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.hsv2hls.__root__.0.1.hsvRoot" name="hsvRoot" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredType="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredType="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.hsv2hls.HSV2HLSRecursion_LM">
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#i.hsv2hls.__root__.0.2.0.0.middleParent"/>
+ </binding>
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#i.hsv2hls.__root__.0.2.hsvNode"/>
+ </binding>
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent">
+ <value xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.hsv2hls.__root__.0.2.0.0.middleParent" name="middleParent"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.hsv2hls.__root__.0.2.hsvNode" name="hsvNode" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredType="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.hsv2hls.HSV2HLSRecursion_MR">
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#i.hsv2hls.__root__.0.3.middleNode"/>
+ </binding>
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent">
+ <value xsi:type="pivot:PropertyCallExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent">
+ <value xsi:type="pivot:PropertyCallExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <source xsi:type="pivot:PropertyCallExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.hsv2hls.__root__.0.3.middleNode" name="middleNode" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </mappingStatements>
+ </mappingStatement>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.1"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.2"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtcas
new file mode 100644
index 000000000..e22208ce4
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtcas
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="HSV2HLS.qvtm.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtm.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hsv2hls" name="hsv2hls"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce hsv to hls */"/>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.hls2rgb..HLSTree.HLS"
+ isStatic="true" name="hls2rgb" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.hls2rgb..HLSTree.HLS"
+ name="color" type="HLSTree.ecore.oclas#T.HLSTree.HLS"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.hsv2rgb..HSVTree.HSV"
+ isStatic="true" name="hsv2rgb" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.hsv2rgb..HSVTree.HSV"
+ name="color" type="HSVTree.ecore.oclas#T.HSVTree.HSV"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.rgb2hls..HSV2HLS.RGB"
+ isStatic="true" name="rgb2hls" type="HLSTree.ecore.oclas#T.HLSTree.HLS">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.rgb2hls..HSV2HLS.RGB"
+ name="color" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.rgb2hsv..HSV2HLS.RGB"
+ isStatic="true" name="rgb2hsv" type="HSVTree.ecore.oclas#T.HSVTree.HSV">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.rgb2hsv..HSV2HLS.RGB"
+ name="color" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB"/>
+ </ownedOperation>
+ <modelParameter xmi:id="qT.hsv2hls.hsv" name="hsv" usedPackage="HSVTree.ecore.oclas#P.HSVTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.hls" name="hls" usedPackage="HLSTree.ecore.oclas#P.HLSTree"/>
+ <modelParameter usedPackage="HSV2HLS.ecore.oclas#P.HSV2HLS"/>
+ <rule xsi:type="qvtc:Mapping" name="HSV2HLSRoot">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </source>
+ <argument xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot" name="hsvRoot"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode" name="hlsNode"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot" name="middleRoot"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="HSV2HLSRecursion">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent" name="hsvParent"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode" name="hsvNode"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent" name="hlsParent"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.guard.middleParent" name="middleParent"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode" name="middleNode"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtp.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtp.qvtias
new file mode 100644
index 000000000..428de30aa
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtp.qvtias
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage"
+ name="HSV2HLS.qvtp.qvti" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtp.qvti">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hsv2hls" name="hsv2hls">
+ <modelParameter xmi:id="qT.hsv2hls.hsv" name="hsv" usedPackage="HSVTree.ecore.oclas#P.HSVTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.hls" name="hls" usedPackage="HLSTree.ecore.oclas#P.HLSTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.middle" name="middle" usedPackage="HSV2HLS.ecore.oclas#P.HSV2HLS"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRoot_MR" name="HSV2HLSRoot_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot" name="middleRoot"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRoot_LM" name="HSV2HLSRoot_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot" name="hsvRoot"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot_LM.middle.bottom.middleRoot"
+ name="middleRoot" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ </source>
+ <argument xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.middle.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot_LM.middle.bottom.middleRoot"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRecursion_LM" name="HSV2HLSRecursion_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent" name="hsvParent"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode" name="hsvNode"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"
+ name="middleParent" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"
+ name="middleNode" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_LM.middle.bottom.middleNode"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.HSV2HLSRecursion_MR" name="HSV2HLSRecursion_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent" name="hlsParent"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.middle">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"
+ name="middleParent" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"
+ name="middleNode" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion_MR.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.hsv2hls.__root__" name="__root__">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas
new file mode 100644
index 000000000..b729bac0e
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtcas
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="HSV2HLS.qvtu.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.qvtu.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hsv2hls" name="hsv2hls"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce hsv to hls */"/>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.hls2rgb..HLSTree.HLS"
+ isStatic="true" name="hls2rgb" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.hls2rgb..HLSTree.HLS"
+ name="color" type="HLSTree.ecore.oclas#T.HLSTree.HLS"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.hsv2rgb..HSVTree.HSV"
+ isStatic="true" name="hsv2rgb" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.hsv2rgb..HSVTree.HSV"
+ name="color" type="HSVTree.ecore.oclas#T.HSVTree.HSV"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.rgb2hls..HSV2HLS.RGB"
+ isStatic="true" name="rgb2hls" type="HLSTree.ecore.oclas#T.HLSTree.HLS">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.rgb2hls..HSV2HLS.RGB"
+ name="color" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB"/>
+ </ownedOperation>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hsv2hls.rgb2hsv..HSV2HLS.RGB"
+ isStatic="true" name="rgb2hsv" type="HSVTree.ecore.oclas#T.HSVTree.HSV">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hsv2hls.rgb2hsv..HSV2HLS.RGB"
+ name="color" type="HSV2HLS.ecore.oclas#T.HSV2HLS.RGB"/>
+ </ownedOperation>
+ <modelParameter xmi:id="qT.hsv2hls.hsv" name="hsv" usedPackage="HSVTree.ecore.oclas#P.HSVTree"/>
+ <modelParameter xmi:id="qT.hsv2hls.hls" name="hls" usedPackage="HLSTree.ecore.oclas#P.HLSTree"/>
+ <modelParameter usedPackage="HSV2HLS.ecore.oclas#P.HSV2HLS"/>
+ <rule xsi:type="qvtc:Mapping" name="HSV2HLSRoot">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </source>
+ <argument xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot" name="hsvRoot"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:NullLiteralExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclVoid"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode" name="hlsNode"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot" name="middleRoot"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hsv.guard.hsvRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.bottom.middleRoot"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRoot.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="HSV2HLSRecursion">
+ <domain xsi:type="qvtcb:CoreDomain" name="hsv" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.hsv2hls.hsv">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent" name="hsvParent"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.parent">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode" name="hsvNode"
+ type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="hls" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.hsv2hls.hls">
+ <guardPattern>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent" name="hlsParent"
+ type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"
+ name="hlsNode" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.guard.hsvParent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.guard.hlsParent"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.hsv2hls.HSV2HLSRecursion.guard.middleParent" name="middleParent"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.parent">
+ <value xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.guard.middleParent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hsv">
+ <value xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.hls">
+ <value xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode" name="middleNode"
+ type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSVTree.ecore.oclas#p.HSVTree.HSVNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSVTree.ecore.oclas#T.HSVTree.HSVNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hsv.bottom.hsvNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="HLSTree.ecore.oclas#p.HLSTree.HLSNode.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="HSV2HLS.ecore.oclas#p.HSV2HLS.HSVNode2HLSNode.name">
+ <source xsi:type="pivot:VariableExp" type="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.bottom.middleNode"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="HLSTree.ecore.oclas#T.HLSTree.HLSNode"
+ referredVariable="#qV.hsv2hls.HSV2HLSRecursion.hls.bottom.hlsNode"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.xmi
new file mode 100644
index 000000000..f03b47bfc
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLS.xmi
@@ -0,0 +1,5765 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hsv2hls="http://http://www.eclipse.org/qvt/examples/0.1/HSVtoHLS" xsi:schemaLocation="http://http://www.eclipse.org/qvt/examples/0.1/HSVtoHLS HSV2HLS.ecore">
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/144"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/262"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/270"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/57"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/95"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode name="n1">
+ <children name="n1.3">
+ <children name="n1.3.1">
+ <children name="n1.3.1.1">
+ <hsv href="HSVNode.xmi#//@children.2/@children.0/@children.0"/>
+ <hls href="HLSNode.xmi#/97"/>
+ </children>
+ <hsv href="HSVNode.xmi#//@children.2/@children.0"/>
+ <hls href="HLSNode.xmi#/4/@children.0"/>
+ </children>
+ <hsv href="HSVNode.xmi#//@children.2"/>
+ <hls href="HLSNode.xmi#/4"/>
+ </children>
+ <children name="n1.2">
+ <children name="n1.2.2">
+ <hsv href="HSVNode.xmi#//@children.1/@children.1"/>
+ <hls href="HLSNode.xmi#/80/@children.1"/>
+ </children>
+ <children name="n1.2.1">
+ <hsv href="HSVNode.xmi#//@children.1/@children.0"/>
+ <hls href="HLSNode.xmi#/80/@children.0"/>
+ </children>
+ <hsv href="HSVNode.xmi#//@children.1"/>
+ <hls href="HLSNode.xmi#/80"/>
+ </children>
+ <children name="n1.1">
+ <children name="n1.1.1">
+ <hsv href="HSVNode.xmi#//@children.0/@children.0"/>
+ <hls href="HLSNode.xmi#/166/@children.0"/>
+ </children>
+ <hsv href="HSVNode.xmi#//@children.0"/>
+ <hls href="HLSNode.xmi#/166"/>
+ </children>
+ <hsv href="HSVNode.xmi#/"/>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/213"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/272"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/223"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/92"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/234"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/193"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/84"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/285"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/263"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/277"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/6"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/214"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/254"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/19"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/48"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/110"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/37"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/72"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/217"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/280"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/101"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/50"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/16"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/125"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/131"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/38"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/181"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/102"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/180"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/284"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/205"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/121"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/70"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/275"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/250"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/139"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/2"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/103"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/47"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/265"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/145"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/123"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/256"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/30"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/99"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/13"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/245"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/61"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/132"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/153"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/68"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/182"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/237"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/76"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/143"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/200"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/242"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/122"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/252"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/111"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/251"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/146"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/100"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/27"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/163"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/120"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/130"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/107"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/221"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/207"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/230"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/14"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/77"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/42"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/156"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/179"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/247"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/208"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/269"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/129"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/89"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/74"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/267"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/281"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/199"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/218"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/65"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/157"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/118"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/43"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/39"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/58"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/141"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/147"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/56"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/239"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/198"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/17"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/119"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/169"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/25"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/116"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/140"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/268"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/124"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/105"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/241"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/55"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/253"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/204"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/183"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/12"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/60"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/15"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/86"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/160"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/41"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/246"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/261"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/24"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/127"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/1"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/108"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/126"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/196"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/117"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/112"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/66"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/195"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/137"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/51"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/150"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/273"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/187"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/209"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/238"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/232"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/283"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/20"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/158"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/201"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/189"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/211"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/53"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/88"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/113"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/184"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/151"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/258"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/248"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/271"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/191"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/34"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/115"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/173"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/194"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/224"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/93"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/114"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/235"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/222"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/11"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/135"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/87"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/40"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/176"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/136"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/33"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/79"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/94"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/45"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/175"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/0"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/96"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/90"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/28"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/171"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/259"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/159"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/276"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/219"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/178"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/216"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/202"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/133"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/106"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/35"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/240"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/148"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/10"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/81"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/282"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/142"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/44"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/203"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/161"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/69"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/162"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/164"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/78"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/233"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/85"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/186"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/168"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/185"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/154"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/255"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/257"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/29"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/206"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/266"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/249"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/83"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/167"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/71"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/149"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/220"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/21"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/197"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/231"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/192"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/228"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/134"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/22"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/62"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/32"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/177"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/274"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/264"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/278"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/174"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/227"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/212"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/82"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/215"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/9"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/225"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/229"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/243"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/170"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/64"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/18"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/104"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/91"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/172"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/128"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/73"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/244"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/8"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/26"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/63"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/138"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/46"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/36"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/226"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/23"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/3"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/31"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/210"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/7"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/279"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/165"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/98"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/152"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/5"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/67"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/52"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/188"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/190"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/236"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/59"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/155"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/49"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/75"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/260"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/54"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode>
+ <children name="n1">
+ <hsv href="HSVNode.xmi#/"/>
+ <hls href="HLSNode.xmi#/109"/>
+ </children>
+ </hsv2hls:HSVNode2HLSNode>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+ <hsv2hls:HSVNode2HLSNode/>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi
new file mode 100644
index 000000000..f90dda383
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSConfig.xmi
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtcconfig:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qvtcconfig="http://www.eclipse.org/qvt/examples/0.1/QVTcConfig" inputDirection="//@transformation/@direction.0" outputDirection="//@transformation/@direction.1" mode="enforce" middle="//@transformation/@direction.2">
+ <transformation name="hsv2hls">
+ <direction name="hsv" imports="//@transformation/@import.0"/>
+ <direction name="hls" imports="//@transformation/@import.2"/>
+ <direction imports="//@transformation/@import.1"/>
+ <import name="HSVTree" metamodelFile="HSV2HLS/HSVTree.ecore" package="HSVTree"/>
+ <import name="HSV2HLS" metamodelFile="HSV2HLS/HSV2HLS.ecore" package="HSV2HLS"/>
+ <import name="HLSTree" metamodelFile="HSV2HLS/HLSTree.ecore" package="HLSTree"/>
+ </transformation>
+</qvtcconfig:Configuration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSContainmentTree.xmi
new file mode 100644
index 000000000..a1702cb58
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSContainmentTree.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchdule.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchdule.xmi
new file mode 100644
index 000000000..c2ff84d88
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchdule.xmi
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtschedule:Schedule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qvtschedule="http://www.eclipse.org/qvt/0.1/QVTschedule/">
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRoot_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRoot_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </primaryArguments>
+ <secondaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"/>
+ </secondaryArguments>
+ <secondaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRecursion_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"/>
+ </primaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </primaryArguments>
+ <secondaryArguments>
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRecursion_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" children="//@actions.0 //@actions.1 //@actions.2 //@actions.3">
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.__root__"/>
+ </actions>
+</qvtschedule:Schedule>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchedule.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchedule.xmi
new file mode 100644
index 000000000..b207205dc
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSV2HLSSchedule.xmi
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtschedule:Schedule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qvtschedule="http://www.eclipse.org/qvt/0.1/QVTschedule/">
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.0 //@actions.3" dataParameter="//@actions.3/@distinctArguments.0/@secondaryArguments.1">
+ <type href="HLSTree.ecore.oclas#T.HLSTree.HLSNode"/>
+ <domain href="HSV2HLS.qvtp.qvtias#//@nestedPackage.0/@rule.0/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.1 //@actions.2" dataParameter="//@actions.0/@distinctArguments.0/@primaryArguments.0 //@actions.2/@distinctArguments.0/@primaryArguments.0 //@actions.3/@distinctArguments.0/@primaryArguments.0 //@actions.3/@distinctArguments.0/@secondaryArguments.0">
+ <type href="HSV2HLS.ecore.oclas#T.HSV2HLS.HSVNode2HLSNode"/>
+ <domain href="HSV2HLS.qvtp.qvtias#//@nestedPackage.0/@rule.0/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.1/@distinctArguments.0/@primaryArguments.0 //@actions.2/@distinctArguments.1/@primaryArguments.0 //@actions.2/@distinctArguments.1/@secondaryArguments.0">
+ <type href="HSVTree.ecore.oclas#T.HSVTree.HSVNode"/>
+ <domain href="HSV2HLS.qvtp.qvtias#//@nestedPackage.0/@rule.1/@domain.0"/>
+ </datums>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.0" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.1">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRoot_MR.middle.guard.middleRoot"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRoot_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.1" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.2">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRoot_LM.hsv.guard.hsvRoot"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRoot_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.1" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.1">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_LM.middle.guard.middleParent"/>
+ </primaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.2">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvNode"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.2">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_LM.hsv.guard.hsvParent"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRecursion_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.0" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.1">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleNode"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_MR.middle.guard.middleParent"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="HSV2HLS.qvtp.qvtias#qV.hsv2hls.HSV2HLSRecursion_MR.hls.guard.hlsParent"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.HSV2HLSRecursion_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" children="//@actions.0 //@actions.1 //@actions.2 //@actions.3">
+ <mapping href="HSV2HLS.qvtp.qvtias#m.hsv2hls.__root__"/>
+ </actions>
+</qvtschedule:Schedule>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVNode.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVNode.xmi
new file mode 100644
index 000000000..3b7ff9461
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVNode.xmi
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ASCII"?>
+<pfx:HSVNode
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pfx="http://www.eclipse.org/qvt/examples/0.1/HSVTree"
+ xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/HSVTree HSVTree.ecore"
+ hsv="90,0.2,0.5"
+ name="n1">
+ <children
+ hsv="90,0.21,0.5"
+ name="n1.1">
+ <children
+ hsv="90,0.21,0.51"
+ name="n1.1.1"/>
+ </children>
+ <children
+ hsv="90,0.22,0.5"
+ name="n1.2">
+ <children
+ hsv="90,0.22,0.51"
+ name="n1.2.1"/>
+ <children
+ hsv="90,0.22,0.52"
+ name="n1.2.2"/>
+ </children>
+ <children
+ hsv="90,0.23,0.5"
+ name="n1.3">
+ <children
+ hsv="90,0.23.1,0.5"
+ name="n1.3.1">
+ <children
+ name="n1.3.1.1"/>
+ </children>
+ </children>
+</pfx:HSVNode>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTree.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTree.ecore
new file mode 100644
index 000000000..b94270f6b
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTree.ecore
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="HSVTree" nsURI="http://www.eclipse.org/qvt/examples/0.1/HSVTree"
+ nsPrefix="hsv">
+ <eClassifiers xsi:type="ecore:EDataType" name="HSV" instanceClassName="java.lang.String"/>
+ <eClassifiers xsi:type="ecore:EClass" name="HSVNode">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//HSVNode"
+ eOpposite="#//HSVNode/children"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
+ eType="#//HSVNode" containment="true" eOpposite="#//HSVNode/parent"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="hsv" lowerBound="1" eType="#//HSV"
+ defaultValueLiteral=""/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTreeContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTreeContainmentTree.xmi
new file mode 100644
index 000000000..a1702cb58
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/HSV2HLS/HSVTreeContainmentTree.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.java b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.java
new file mode 100644
index 000000000..a38e67e41
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.java
@@ -0,0 +1,279 @@
+package org.eclipse.qvtd.build.etl.tests;
+
+import java.io.IOException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.Diagnostician;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.eclipse.ocl.pivot.manager.MetaModelManager;
+import org.eclipse.ocl.pivot.manager.MetaModelManagerResourceSetAdapter;
+import org.eclipse.ocl.pivot.model.OCLstdlib;
+import org.eclipse.ocl.pivot.utilities.ClassUtil;
+import org.eclipse.ocl.xtext.base.services.BaseLinkingService;
+import org.eclipse.qvtd.build.etl.MtcBroker;
+import org.eclipse.qvtd.pivot.qvtbase.Transformation;
+import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
+import org.eclipse.qvtd.pivot.qvtcore.QVTcorePivotStandaloneSetup;
+import org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePivotStandaloneSetup;
+import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiEnvironmentFactory;
+import org.eclipse.qvtd.pivot.qvtimperative.evaluation.QVTiPivotEvaluator;
+import org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+public class QVTdMtcTests extends LoadTestCase {
+
+ private final class MyQVTiEnvironmentFactory extends QVTiEnvironmentFactory
+ {
+ public MyQVTiEnvironmentFactory(@Nullable EPackage.Registry reg, @NonNull MetaModelManager metaModelManager) {
+ super(reg, metaModelManager);
+ setEvaluationTracingEnabled(true);
+ }
+ }
+
+ /**
+ * The Class MyQvtiEvaluator provides helper methods for loading and creating models used in the test
+ */
+ private final class MyQvtiEvaluator extends QVTiPivotEvaluator
+ {
+
+ /** The typed model validation resource map. */
+ protected final @NonNull Map<TypedModel, Resource> typedModelValidationResourceMap = new HashMap<TypedModel, Resource>();
+
+ /** The file name prefix. */
+ private final @NonNull String fileNamePrefix;
+
+ /**
+ * Instantiates a new my Qvti evaluator.
+ *
+ * @param metaModelManager the meta model manager
+ * @param fileNamePrefix the file name prefix
+ * @param transformationFileName the transformation file name
+ * @throws IOException Signals that an I/O exception has occurred.
+ */
+ public MyQvtiEvaluator(@NonNull MetaModelManager metaModelManager, @NonNull String fileNamePrefix, @NonNull Transformation transformation) throws IOException {
+ super(new MyQVTiEnvironmentFactory(null, metaModelManager), transformation);
+ this.fileNamePrefix = fileNamePrefix + "/";
+ }
+
+ /**
+ * Associates a typed model, identified by typedModelName, with a new resource with
+ * name modelFileName, in the current project.
+ *
+ * @param typedModelName the name of the typed model
+ * @param modelFileName the model file name
+ *
+ * @see #loadModel(String, String)
+ */
+ public void createModel(@NonNull String typedModelName, @NonNull String modelFileName) {
+ URI modelREsource = getProjectFileURI(fileNamePrefix + modelFileName);
+ if (modelREsource.segmentsList().contains("bin")) {
+ modelREsource = URI.createURI(modelREsource.toString().replaceAll("/bin/", "/src/"));
+ }
+ createModel(typedModelName, modelREsource, null);
+ }
+
+ /**
+ * Associates a typed model, identified by typedModelName, with an existing resource
+ * with name modelFileName, in the current project.
+ *
+ * @param name the name
+ * @param modelFileName the model file name
+ *
+ * @see #createModel(String, String)
+ */
+ public void loadModel(@NonNull String name, @NonNull String modelFileName) {
+ URI modelREsource = getProjectFileURI(fileNamePrefix + modelFileName);
+ if (modelREsource.segmentsList().contains("bin")) {
+ modelREsource = URI.createURI(modelREsource.toString().replaceAll("/bin/", "/src/"));
+ }
+ loadModel(name, modelREsource);
+ }
+
+ /**
+ * Loads a reference model, identified by modelFileName, as a resource. The reference
+ * model is used to validate if the generated model is correct, i.e. the output
+ * and reference model must be equal.
+ *
+ * @param name the name
+ * @param modelFileName the model file name
+ *
+ public void loadReference(@NonNull String name, @NonNull String modelFileName) {
+ TypedModel typedModel = ClassUtil.getNamedElement(transformation.getModelParameter(), name);
+ if (typedModel == null) {
+ throw new IllegalStateException("Unknown TypedModel '" + name + "'");
+ }
+ URI modelURI = getProjectFileURI(fileNamePrefix + modelFileName);
+ Resource resource = metaModelManager.getExternalResourceSet().getResource(modelURI, true);
+ typedModelValidationResourceMap.put(typedModel, resource);
+ }*/
+
+ /**
+ * Test.
+ *
+ * @throws Exception the exception
+ */
+ public void test() throws Exception {
+ boolean result = execute();
+ assertTrue(getClass().getSimpleName() + " should not return null.", result);
+ saveModels(getProjectFileURI(fileNamePrefix + "middle.xmi"));
+ for (Entry<TypedModel, Resource> entry : typedModelValidationResourceMap.entrySet()) { // Validate against reference models
+ TypedModel typedModel = ClassUtil.nonNullState(entry.getKey());
+ Resource expectedModel = entry.getValue();
+ Resource actualModel = modelManager.getModel(typedModel);
+ assertSameModel(expectedModel, actualModel);
+ }
+ }
+ }
+
+ protected static void assertLoadable(@NonNull URI asURI) {
+ ResourceSet asResourceSet = new ResourceSetImpl();
+ if (!EMFPlugin.IS_ECLIPSE_RUNNING) {
+ OCLstdlib.install();
+ MetaModelManager.initializeASResourceSet(asResourceSet);
+ }
+ Resource resource = asResourceSet.getResource(asURI, true);
+ EcoreUtil.resolveAll(resource);
+ assertNoUnresolvedProxies("Loading", resource);
+ assertNoResourceErrors("Loading", resource);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase#setUp()
+ */
+ @Before
+ public void setUp() throws Exception {
+
+ BaseLinkingService.DEBUG_RETRY = true;
+ super.setUp();
+ QVTcorePivotStandaloneSetup.doSetup();
+ QVTimperativePivotStandaloneSetup.doSetup();
+ OCLstdlib.install();
+ metaModelManager = new MetaModelManager();
+ MetaModelManagerResourceSetAdapter.getAdapter(ClassUtil.nonNullState(resourceSet), metaModelManager);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.qvtd.xtext.qvtbase.tests.LoadTestCase#tearDown()
+ */
+ @After
+ public void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+
+ @Test
+ public void testUmlToRdbms() throws Exception {
+
+ URL r = this.getClass().getResource("UmlToRdbms/UmlToRdbms.qvtcas");
+ String qvtcasUri = MtcBroker.changeResourceToSource(r.toURI().toString());
+ MtcBroker mtc = new MtcBroker(qvtcasUri, this.getClass(), metaModelManager);
+ mtc.execute();
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(mtc.getuModel().getRooteObject());
+ // TODO do we want perfect or can we tolerate info and warnings?
+ //assertEquals(Diagnostic.OK, diagnostic.getSeverity());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getmModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getpModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getsModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getiModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+
+ MyQvtiEvaluator testEvaluator = new MyQvtiEvaluator(metaModelManager, "UmlToRdbms",mtc.getiModel().getTransformation());
+ testEvaluator.saveTransformation(null);
+ testEvaluator.loadModel("uml", "SimpleUMLPeople.xmi");
+ testEvaluator.createModel("middle", "UML2RDBMS.xmi");
+ testEvaluator.createModel("rdbms", "SimpleRDBMSPeople.xmi");
+ //testEvaluator.loadReference("hls", "HLSNodeValidate.xmi");
+ System.out.println("Executing QVTi transformation on test models.");
+ testEvaluator.test();
+ testEvaluator.dispose();
+
+ URI txURI = ClassUtil.nonNullState(testEvaluator.getTransformation().eResource().getURI());
+ assertLoadable(txURI);
+ mtc.disposeModels();
+ }
+ /*
+ @Test
+ public void testUpperToLower() throws Exception {
+
+ URL r = this.getClass().getResource("UpperToLower/UpperToLower.qvtcas");
+ String qvtcasUri = MtcBroker.changeResourceToSource(r.toURI().toString());
+ MtcBroker mtc = new MtcBroker(qvtcasUri, this.getClass(), metaModelManager);
+ mtc.execute();
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(mtc.getuModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getmModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getpModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getsModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getiModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ MyQvtiEvaluator testEvaluator = new MyQvtiEvaluator(metaModelManager, "UpperToLower",mtc.getiModel().getTransformation());
+ testEvaluator.saveTransformation(null);
+ testEvaluator.loadModel("upperGraph", "SimpleGraph.xmi");
+ testEvaluator.createModel("middle", "Graph2Graph.xmi");
+ testEvaluator.createModel("lowerGraph", "SimpleGraphLower.xmi");
+ testEvaluator.loadReference("lowerGraph", "SimpleGraphLowerValidate.xmi");
+ System.out.println("Executing QVTi transformation on test models.");
+ testEvaluator.test();
+ testEvaluator.dispose();
+
+ URI txURI = DomainUtil.nonNullState(testEvaluator.getTransformation().eResource().getURI());
+ assertLoadable(txURI);
+ mtc.disposeModels();
+ }
+
+ @Test
+ public void testHSVToHLS() throws Exception {
+
+ URL r = this.getClass().getResource("HSV2HLS/HSV2HLS.qvtcas");
+ String qvtcasUri = MtcBroker.changeResourceToSource(r.toURI().toString());
+ MtcBroker mtc = new MtcBroker(qvtcasUri, this.getClass(), metaModelManager);
+ mtc.execute();
+ Diagnostic diagnostic = Diagnostician.INSTANCE.validate(mtc.getuModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getmModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getpModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getsModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ diagnostic = Diagnostician.INSTANCE.validate(mtc.getiModel().getRooteObject());
+ assertTrue(diagnostic.getSeverity() < Diagnostic.ERROR);
+ MyQvtiEvaluator testEvaluator = new MyQvtiEvaluator(metaModelManager, "HSV2HLS",mtc.getiModel().getTransformation());
+ testEvaluator.saveTransformation(null);
+ testEvaluator.loadModel("hsv", "HSVNode.xmi");
+ testEvaluator.createModel("middle", "HSV2HLS.xmi");
+ testEvaluator.createModel("hls", "HLSNode.xmi");
+ testEvaluator.loadReference("hls", "HLSNodeValidate.xmi");
+ System.out.println("Executing QVTi transformation on test models.");
+ testEvaluator.test();
+ testEvaluator.dispose();
+
+ URI txURI = DomainUtil.nonNullState(testEvaluator.getTransformation().eResource().getURI());
+ assertLoadable(txURI);
+ mtc.disposeModels();
+
+ }
+ */
+
+}
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.launch
new file mode 100644
index 000000000..4396f7ff2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.launch
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.jdt.junit.launchconfig">
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/QVTdMtcTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6&quot; javaProject=&quot;org.eclipse.qvtd.build.etl.tests&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#13;&#10;&lt;memento exportedEntriesOnly=&quot;false&quot; project=&quot;org.eclipse.qvtd.build.etl.tests&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry path=&quot;3&quot; projectName=&quot;org.eclipse.qvtd.build.etl&quot; type=&quot;1&quot;/&gt;&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.qvtd.build.etl.tests.QVTdMtcTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.build.etl.tests"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/MapOrdering.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/MapOrdering.launch
new file mode 100644
index 000000000..326feb515
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/MapOrdering.launch
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<stringAttribute key="bad_container_name" value="\org.eclipse.qvtd.build.etl.tests\s\org\eclipse\qvtd\etl\tests\UmlToRdbms"/>
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu May 08 09:51:25 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=rTree&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=tree&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Jun 05 18:35:50 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=qvti&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 10:18:13 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=rdGraph&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=ddg&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.debug.ui.ATTR_CAPTURE_IN_FILE" value="E:\Users\Horace.Horace-Laptop\Desktop\eclipse.txt"/>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/scheduling/MapOrdering.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTcToQVTu.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTcToQVTu.launch
new file mode 100644
index 000000000..465cf2133
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTcToQVTu.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.migration.eclipse.dt.launching.MigrationLaunchConfigurationDelegate">
+<intAttribute key="migratedModel" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:15:39 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTc&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:16:05 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTu&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:20:13 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:32:40 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<intAttribute key="originalModel" value="0"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QVTcToQVTu.mig"/>
+</launchConfiguration> \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiDependenceAnalysis.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiDependenceAnalysis.launch
new file mode 100644
index 000000000..dc00e75c9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiDependenceAnalysis.launch
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<stringAttribute key="bad_container_name" value="\org.eclipse.qvtd.build.etl.tests\s\org\eclipse\qvtd\etl\tests\UmlToRdbms"/>
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Tue Jun 17 13:42:23 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=mTree&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=tree&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Jun 17 13:42:29 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=rTree&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=tree&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 09:51:30 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=lTree&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=tree&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 09:51:40 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Jun 17 13:43:23 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=qvti&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 10:17:37 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=ddGraph&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=ddg&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 10:17:58 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=mdGraph&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=ddg&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 10:18:13 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=rdGraph&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=ddg&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 10:18:35 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=imGraph&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=ddg&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 09:52:21 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=&#13;&#10;modelUri=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.debug.ui.ATTR_CAPTURE_IN_FILE" value="E:\Users\Horace.Horace-Laptop\Desktop\eclipse.txt"/>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/dependence/QVTiDependenceAnalysis.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiToText.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiToText.launch
new file mode 100644
index 000000000..686a76893
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTiToText.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.egl.eclipse.dt.launching.EglLaunchConfigurationDelegate">
+<booleanAttribute key="appendToFile" value="false"/>
+<listAttribute key="defaultFormatters"/>
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<intAttribute key="generateTo" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed Sep 24 10:25:17 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTi&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;expand=false&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="outputFilePath" value="/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbmsPartition.qvtm.qvtc"/>
+<booleanAttribute key="produceTrace" value="false"/>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/QVTiToText.egl"/>
+<stringAttribute key="templateFactoryType" value="org.eclipse.epsilon.egl.EglFileGeneratingTemplateFactory"/>
+<stringAttribute key="traceDestination" value=""/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToQVTiPartition.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToQVTiPartition.launch
new file mode 100644
index 000000000..ec129371b
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToQVTiPartition.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.etl.eclipse.dt.launching.EtlLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu Jul 31 09:49:32 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Mon Aug 11 15:23:37 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTm&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Sep 09 12:50:36 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTp&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Jul 31 11:11:08 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QVTmToQVTiPartition.etl"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToText.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToText.launch
new file mode 100644
index 000000000..9341feede
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTmToText.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.egl.eclipse.dt.launching.EglLaunchConfigurationDelegate">
+<booleanAttribute key="appendToFile" value="false"/>
+<listAttribute key="defaultFormatters"/>
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<intAttribute key="generateTo" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Mon Aug 11 13:33:31 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=qvtm&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTcore,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="outputFilePath" value="/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbmsPartition.qvtm.qvtc"/>
+<booleanAttribute key="produceTrace" value="false"/>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/QVTcToText.egl"/>
+<stringAttribute key="templateFactoryType" value="org.eclipse.epsilon.egl.EglFileGeneratingTemplateFactory"/>
+<stringAttribute key="traceDestination" value=""/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTpToSchedule.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTpToSchedule.launch
new file mode 100644
index 000000000..189a45728
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTpToSchedule.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.etl.eclipse.dt.launching.EtlLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu Jul 31 09:49:32 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Aug 26 10:49:56 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTp&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/qvt/0.9/QVTbase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Aug 28 10:16:26 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=QVTs&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.schedule/model/QVTSchedule.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.schedule/model/QVTSchedule.ecore&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Jul 31 11:11:08 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/scheduling/QVTpToSchedule.etl"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTs-pToQVTi.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTs-pToQVTi.launch
new file mode 100644
index 000000000..dc0697507
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTs-pToQVTi.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.etl.eclipse.dt.launching.EtlLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Tue Sep 09 12:54:11 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTp&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Sep 09 12:54:31 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTi&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Sep 09 12:54:15 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=QVTs&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.schedule/model/QVTSchedule.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.schedule/model/QVTSchedule.ecore&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Aug 26 13:35:26 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=platform\:/resource/org.eclipse.ocl.examples.library/model-gen/OCL-2.5.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.ocl.examples.library/model-gen/OCL-2.5.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/scheduling/QVTs-pToQVTi.etl"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTuToQVTm.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTuToQVTm.launch
new file mode 100644
index 000000000..2e63aed69
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/QVTuToQVTm.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.migration.eclipse.dt.launching.MigrationLaunchConfigurationDelegate">
+<intAttribute key="migratedModel" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed Aug 06 17:10:41 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTu&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:16:05 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTm&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/qvt/0.9/QVTcore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:20:13 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Aug 06 11:32:40 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=http\://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<intAttribute key="originalModel" value="0"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QVTuToQVTm.mig"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/Scheduling.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/Scheduling.launch
new file mode 100644
index 000000000..ebc445d9b
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/Scheduling.launch
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<stringAttribute key="bad_container_name" value="\org.eclipse.qvtd.build.etl.tests\s\org\eclipse\qvtd\etl\tests\UmlToRdbms"/>
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu May 08 09:51:40 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=config&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/QVTcConfig&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Wed Jun 18 19:42:20 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=rTree&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=tree&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu Aug 28 09:36:27 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=QVTs&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.schedule/model/QVTSchedule.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.schedule/model/QVTSchedule.ecore&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Fri Jul 04 11:25:55 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=oclStdLib&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/ocl/3.1.0/Pivot&#13;&#10;modelUri=platform\:/plugin/org.eclipse.ocl.examples.library/model-gen/OCL-2.5.oclas&#13;&#10;type=EMF&#13;&#10;modelFile=platform\:/plugin/org.eclipse.ocl.examples.library/model-gen/OCL-2.5.oclas&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Aug 26 14:38:15 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTp&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/qvt/0.9/QVTcoreBase,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.debug.ui.ATTR_CAPTURE_IN_FILE" value="C:\Users\hhoyos\Desktop\playGround.txt"/>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/scheduling/Scheduler.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/SimpleRDBMS.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore
index f86eb943d..a0adac6ad 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/SimpleRDBMS.ecore
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore
@@ -1,45 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simplerdbms" nsURI="http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS"
- nsPrefix="simplerdbms">
- <eClassifiers xsi:type="ecore:EClass" name="Column" eSuperTypes="#//RModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Table"
- eOpposite="#//Table/column"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKeys" upperBound="-1"
- eType="#//ForeignKey" eOpposite="#//ForeignKey/column"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="key" upperBound="-1" eType="#//Key"
- eOpposite="#//Key/column"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ForeignKey" eSuperTypes="#//RModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" lowerBound="1"
- eType="#//Key"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="column" upperBound="-1"
- eType="#//Column" eOpposite="#//Column/foreignKeys"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Table"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1"
- eType="#//Schema"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Key" eSuperTypes="#//RModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Table"
- eOpposite="#//Table/theKey"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="column" upperBound="-1"
- eType="#//Column" eOpposite="#//Column/key"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="RModelElement" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Schema" eSuperTypes="#//RModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="tables" upperBound="-1"
- eType="#//Table" eOpposite="#//Table/schema"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//RModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="column" upperBound="-1"
- eType="#//Column" eOpposite="#//Column/owner"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1"
- eType="#//Schema" eOpposite="#//Schema/tables"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="theKey" upperBound="-1"
- eType="#//Key" eOpposite="#//Key/owner"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simplerdbms" nsURI="http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS"
+ nsPrefix="simplerdbms">
+ <eClassifiers xsi:type="ecore:EClass" name="Column" eSuperTypes="#//RModelElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Table"
+ eOpposite="#//Table/columns"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKeys" upperBound="-1"
+ eType="#//ForeignKey" eOpposite="#//ForeignKey/columns"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="keys" upperBound="-1" eType="#//Key"
+ eOpposite="#//Key/column"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ForeignKey" eSuperTypes="#//RModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="refersTo" lowerBound="1"
+ eType="#//Key"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columns" upperBound="-1"
+ eType="#//Column" eOpposite="#//Column/foreignKeys"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Table"
+ eOpposite="#//Table/foreignKeys"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Key" eSuperTypes="#//RModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Table"
+ eOpposite="#//Table/keys"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" upperBound="-1"
+ eType="#//Column" eOpposite="#//Column/keys"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="RModelElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Schema" eSuperTypes="#//RModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tables" upperBound="-1"
+ eType="#//Table" containment="true" eOpposite="#//Table/schema"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Table" eSuperTypes="#//RModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="columns" upperBound="-1"
+ eType="#//Column" containment="true" eOpposite="#//Column/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1"
+ eType="#//Schema" eOpposite="#//Schema/tables"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="keys" upperBound="-1" eType="#//Key"
+ containment="true" eOpposite="#//Key/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKeys" upperBound="-1"
+ eType="#//ForeignKey" containment="true" eOpposite="#//ForeignKey/owner"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="String" instanceTypeName="EString"/>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore.oclas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore.oclas
new file mode 100644
index 000000000..9e5113bb5
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore.oclas
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pivot:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage"
+ name="SimpleRDBMS.ecore.oclas" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore.oclas">
+ <nestedPackage xmi:id="P.simplerdbms" name="simplerdbms" nsPrefix="simplerdbms"
+ nsURI="http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS">
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simplerdbms.Column" name="Column"
+ superClass="#T.simplerdbms.RModelElement">
+ <ownedAttribute xmi:id="p.simplerdbms.Column.type" name="type" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Column.owner" name="owner" type="#T.simplerdbms.Table"
+ opposite="#p.simplerdbms.Table.columns"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Column.foreignKeys" name="foreignKeys"
+ type="#//@nestedPackage.1/@ownedType.0" opposite="#p.simplerdbms.ForeignKey.columns"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Column.keys" name="keys" type="#//@nestedPackage.1/@ownedType.1"
+ opposite="#p.simplerdbms.Key.column"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simplerdbms.ForeignKey" name="ForeignKey"
+ superClass="#T.simplerdbms.RModelElement">
+ <ownedAttribute xmi:id="p.simplerdbms.ForeignKey.refersTo" name="refersTo" type="#T.simplerdbms.Key"
+ opposite="#p.simplerdbms.Key.ForeignKey"/>
+ <ownedAttribute xmi:id="p.simplerdbms.ForeignKey.columns" name="columns" type="#//@nestedPackage.1/@ownedType.2"
+ opposite="#p.simplerdbms.Column.foreignKeys"/>
+ <ownedAttribute xmi:id="p.simplerdbms.ForeignKey.owner" name="owner" type="#T.simplerdbms.Table"
+ opposite="#p.simplerdbms.Table.foreignKeys"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simplerdbms.Key" name="Key" superClass="#T.simplerdbms.RModelElement">
+ <ownedAttribute xmi:id="p.simplerdbms.Key.owner" name="owner" type="#T.simplerdbms.Table"
+ opposite="#p.simplerdbms.Table.keys"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Key.column" name="column" type="#//@nestedPackage.1/@ownedType.2"
+ opposite="#p.simplerdbms.Column.keys"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Key.ForeignKey" name="ForeignKey" type="#//@nestedPackage.1/@ownedType.3"
+ implicit="true" opposite="#p.simplerdbms.ForeignKey.refersTo"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simplerdbms.RModelElement" name="RModelElement"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement"
+ isAbstract="true">
+ <ownedAttribute xmi:id="p.simplerdbms.RModelElement.name" name="name" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ <ownedAttribute xmi:id="p.simplerdbms.RModelElement.kind" name="kind" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simplerdbms.Schema" name="Schema"
+ superClass="#T.simplerdbms.RModelElement">
+ <ownedAttribute xmi:id="p.simplerdbms.Schema.tables" name="tables" type="#//@nestedPackage.1/@ownedType.4"
+ isComposite="true" opposite="#p.simplerdbms.Table.schema"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simplerdbms.Table" name="Table" superClass="#T.simplerdbms.RModelElement">
+ <ownedAttribute xmi:id="p.simplerdbms.Table.columns" name="columns" type="#//@nestedPackage.1/@ownedType.2"
+ isComposite="true" opposite="#p.simplerdbms.Column.owner"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Table.schema" name="schema" type="#T.simplerdbms.Schema"
+ opposite="#p.simplerdbms.Schema.tables"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Table.keys" name="keys" type="#//@nestedPackage.1/@ownedType.1"
+ isComposite="true" opposite="#p.simplerdbms.Key.owner"/>
+ <ownedAttribute xmi:id="p.simplerdbms.Table.foreignKeys" name="foreignKeys"
+ type="#//@nestedPackage.1/@ownedType.0" isComposite="true" opposite="#p.simplerdbms.ForeignKey.owner"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:DataType" xmi:id="T.simplerdbms.String" name="String"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"/>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.5 #//@nestedPackage.1/@ownedType.6"
+ elementType="#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simplerdbms.ForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.7 #//@nestedPackage.1/@ownedType.8"
+ elementType="#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simplerdbms.Key" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.9 #//@nestedPackage.1/@ownedType.10"
+ elementType="#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simplerdbms.Column" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="#T.simplerdbms.ForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.12 #//@nestedPackage.1/@ownedType.13"
+ elementType="#T.simplerdbms.Table">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simplerdbms.Table" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simplerdbms.ForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simplerdbms.ForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simplerdbms.Key" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simplerdbms.Key" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simplerdbms.Column" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simplerdbms.Column" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simplerdbms.ForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="#T.simplerdbms.Table">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simplerdbms.Table" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="#T.simplerdbms.Table">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simplerdbms.Table" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simplerdbms.Key" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simplerdbms.Column" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simplerdbms.Table">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simplerdbms.Table" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</pivot:Root>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainment.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainment.xmi
new file mode 100644
index 000000000..be7848e56
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainment.xmi
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qVTcDataDependencyGraph="http://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph">
+ <qVTcDataDependencyGraph:ClassNode outgoing="/2" label="Schema" model="input">
+ <superTypes>RModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ClassNode incoming="/2" outgoing="/4 /6 /8" label="Table" model="input">
+ <superTypes>RModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/1" source="/0" model="input">
+ <referredProperty href="SimpleRDBMS.ecore#//Schema/tables"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/4" label="Column" model="input">
+ <superTypes>RModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/3" source="/1" model="input">
+ <referredProperty href="SimpleRDBMS.ecore#//Table/columns"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/6" label="Key" model="input">
+ <superTypes>RModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/5" source="/1" model="input">
+ <referredProperty href="SimpleRDBMS.ecore#//Table/keys"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/8" label="ForeignKey" model="input">
+ <superTypes>RModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/7" source="/1" model="input">
+ <referredProperty href="SimpleRDBMS.ecore#//Table/foreignKeys"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi
new file mode 100644
index 000000000..15b8889a4
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:eCoreContainemntTree="http://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree">
+ <eCoreContainemntTree:Node EClassName="simplerdbms" children="/1"/>
+ <eCoreContainemntTree:Node EClassName="Schema" parent="/0" children="/2">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Table" parent="/1" children="/3 /4 /5">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Column" parent="/2">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Key" parent="/2">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="ForeignKey" parent="/2">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="simplerdbms" children="/7"/>
+ <eCoreContainemntTree:Node EClassName="Schema" parent="/6" children="/8">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Table" parent="/7" children="/9 /10 /11">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Column" parent="/8">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Key" parent="/8">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="ForeignKey" parent="/8">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="simplerdbms" children="/13"/>
+ <eCoreContainemntTree:Node EClassName="Schema" parent="/12" children="/14">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Table" parent="/13" children="/15 /16 /17">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Column" parent="/14">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Key" parent="/14">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="ForeignKey" parent="/14">
+ <superTypes>RModelElement</superTypes>
+ </eCoreContainemntTree:Node>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentGraph.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentGraph.launch
new file mode 100644
index 000000000..4cdf894a4
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentGraph.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Tue Jun 17 09:54:55 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=mm&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/emf/2002/Ecore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Tue Jun 17 09:55:20 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=cGraph&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=cg&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainment.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainment.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/scheduling/EcoreToContainmentGraph.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentTree.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentTree.launch
new file mode 100644
index 000000000..aa2997410
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsEcoreToContainmentTree.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu May 08 12:53:26 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=mm&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/emf/2002/Ecore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRDBMS.ecore&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:53:56 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=tree&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleRdbmsContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/utils/EcoreToContainmentTree.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/SimpleUML.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore
index 2ee0c5396..661b7e6c7 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/SimpleUML.ecore
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore
@@ -1,46 +1,46 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simpleuml" nsURI="http://www.eclipse.org/qvt/examples/0.1/simpleUML"
- nsPrefix="simpleuml">
- <eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//UMLModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//Classifier"
- eOpposite="#//Classifier/typeOpposite"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Class"
- eOpposite="#//Class/attributes"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//PackageElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
- eType="#//Class" eOpposite="#//Class/forward"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
- eType="#//Class" eOpposite="#//Class/reverse"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Classifier">
- <eStructuralFeatures xsi:type="ecore:EReference" name="general" upperBound="-1"
- eType="#//Class" eOpposite="#//Class/generalOpposite"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="forward" upperBound="-1"
- eType="#//Association" eOpposite="#//Association/source"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//Attribute" containment="true" eOpposite="#//Attribute/owner"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="reverse" upperBound="-1"
- eType="#//Association" derived="true" eOpposite="#//Association/destination"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="generalOpposite" upperBound="-1"
- eType="#//Class" eOpposite="#//Class/general"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//PackageElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="typeOpposite" upperBound="-1"
- eType="#//Attribute" eOpposite="#//Attribute/type"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//UMLModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
- eType="#//PackageElement" containment="true" eOpposite="#//PackageElement/namespace"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PackageElement" abstract="true" eSuperTypes="#//UMLModelElement">
- <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" eType="#//Package"
- eOpposite="#//Package/elements"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveDataType" eSuperTypes="#//Classifier"/>
- <eClassifiers xsi:type="ecore:EClass" name="UMLModelElement" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simpleuml" nsURI="http://www.eclipse.org/qvt/examples/0.1/simpleUML"
+ nsPrefix="simpleuml">
+ <eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//UMLModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//Class"
+ eOpposite="#//Class/attributes"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//Classifier"
+ eOpposite="#//Classifier/typeOpposite"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Association" eSuperTypes="#//PackageElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
+ eType="#//Class" eOpposite="#//Class/reverse"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
+ eType="#//Class" eOpposite="#//Class/forward"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Classifier">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
+ eType="#//Attribute" containment="true" eOpposite="#//Attribute/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="forward" upperBound="-1"
+ eType="#//Association" eOpposite="#//Association/source"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="general" upperBound="-1"
+ eType="#//Class" eOpposite="#//Class/generalOpposite"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="generalOpposite" upperBound="-1"
+ eType="#//Class" eOpposite="#//Class/general"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reverse" upperBound="-1"
+ eType="#//Association" derived="true" eOpposite="#//Association/destination"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Classifier" abstract="true" eSuperTypes="#//PackageElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeOpposite" upperBound="-1"
+ eType="#//Attribute" eOpposite="#//Attribute/type"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//UMLModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
+ eType="#//PackageElement" containment="true" eOpposite="#//PackageElement/namespace"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PackageElement" abstract="true" eSuperTypes="#//UMLModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespace" lowerBound="1"
+ eType="#//Package" eOpposite="#//Package/elements"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrimitiveDataType" eSuperTypes="#//Classifier"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UMLModelElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore.oclas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore.oclas
new file mode 100644
index 000000000..fe1cdf2a8
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore.oclas
@@ -0,0 +1,172 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pivot:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage"
+ name="SimpleUML.ecore.oclas" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore.oclas">
+ <nestedPackage xmi:id="P.simpleuml" name="simpleuml" nsPrefix="simpleuml" nsURI="http://www.eclipse.org/qvt/examples/0.1/simpleUML">
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.Attribute" name="Attribute"
+ superClass="#T.simpleuml.UMLModelElement">
+ <ownedAttribute xmi:id="p.simpleuml.Attribute.owner" name="owner" type="#T.simpleuml.Class"
+ opposite="#p.simpleuml.Class.attributes"/>
+ <ownedAttribute xmi:id="p.simpleuml.Attribute.type" name="type" type="#T.simpleuml.Classifier"
+ opposite="#p.simpleuml.Classifier.typeOpposite"/>
+ <ownedAttribute xmi:id="p.simpleuml.Attribute.middle" name="middle" isRequired="false"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute" implicit="true"
+ opposite="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.Association" name="Association"
+ superClass="#T.simpleuml.PackageElement">
+ <ownedAttribute xmi:id="p.simpleuml.Association.destination" name="destination"
+ type="#T.simpleuml.Class" opposite="#p.simpleuml.Class.reverse"/>
+ <ownedAttribute xmi:id="p.simpleuml.Association.source" name="source" type="#T.simpleuml.Class"
+ opposite="#p.simpleuml.Class.forward"/>
+ <ownedAttribute xmi:id="p.simpleuml.Association.middle" name="middle" isRequired="false"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey" implicit="true"
+ opposite="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.Class" name="Class" superClass="#T.simpleuml.Classifier">
+ <ownedAttribute xmi:id="p.simpleuml.Class.attributes" name="attributes" type="#//@nestedPackage.1/@ownedType.0"
+ isComposite="true" opposite="#p.simpleuml.Attribute.owner"/>
+ <ownedAttribute xmi:id="p.simpleuml.Class.forward" name="forward" type="#//@nestedPackage.1/@ownedType.1"
+ opposite="#p.simpleuml.Association.source"/>
+ <ownedAttribute xmi:id="p.simpleuml.Class.general" name="general" type="#//@nestedPackage.1/@ownedType.2"
+ opposite="#p.simpleuml.Class.generalOpposite"/>
+ <ownedAttribute xmi:id="p.simpleuml.Class.generalOpposite" name="generalOpposite"
+ type="#//@nestedPackage.1/@ownedType.2" opposite="#p.simpleuml.Class.general"/>
+ <ownedAttribute xmi:id="p.simpleuml.Class.reverse" name="reverse" type="#//@nestedPackage.1/@ownedType.1"
+ isDerived="true" opposite="#p.simpleuml.Association.destination"/>
+ <ownedAttribute xmi:id="p.simpleuml.Class.middle" name="middle" isRequired="false"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable" implicit="true"
+ opposite="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.Classifier" name="Classifier"
+ superClass="#T.simpleuml.PackageElement" isAbstract="true">
+ <ownedAttribute xmi:id="p.simpleuml.Classifier.typeOpposite" name="typeOpposite"
+ type="#//@nestedPackage.1/@ownedType.0" opposite="#p.simpleuml.Attribute.type"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.Package" name="Package"
+ superClass="#T.simpleuml.UMLModelElement">
+ <ownedAttribute xmi:id="p.simpleuml.Package.elements" name="elements" type="#//@nestedPackage.1/@ownedType.3"
+ isComposite="true" opposite="#p.simpleuml.PackageElement.namespace"/>
+ <ownedAttribute xmi:id="p.simpleuml.Package.middle" name="middle" isRequired="false"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema" implicit="true"
+ opposite="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.PackageElement" name="PackageElement"
+ superClass="#T.simpleuml.UMLModelElement" isAbstract="true">
+ <ownedAttribute xmi:id="p.simpleuml.PackageElement.namespace" name="namespace"
+ type="#T.simpleuml.Package" opposite="#p.simpleuml.Package.elements"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.PrimitiveDataType" name="PrimitiveDataType"
+ superClass="#T.simpleuml.Classifier">
+ <ownedAttribute xmi:id="p.simpleuml.PrimitiveDataType.middle" name="middle"
+ isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ implicit="true" opposite="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.simpleuml.UMLModelElement" name="UMLModelElement"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement"
+ isAbstract="true">
+ <ownedAttribute xmi:id="p.simpleuml.UMLModelElement.kind" name="kind" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ <ownedAttribute xmi:id="p.simpleuml.UMLModelElement.name" name="name" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </ownedType>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.4 #//@nestedPackage.1/@ownedType.5"
+ elementType="#T.simpleuml.Attribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simpleuml.Attribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.6 #//@nestedPackage.1/@ownedType.7"
+ elementType="#T.simpleuml.Association">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simpleuml.Association" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.8 #//@nestedPackage.1/@ownedType.9"
+ elementType="#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simpleuml.Class" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.10 #//@nestedPackage.1/@ownedType.11"
+ elementType="#T.simpleuml.PackageElement">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.simpleuml.PackageElement" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.12"
+ elementType="#T.simpleuml.Attribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simpleuml.Attribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.12"
+ elementType="#T.simpleuml.Attribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simpleuml.Attribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.13"
+ elementType="#T.simpleuml.Association">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simpleuml.Association" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.13"
+ elementType="#T.simpleuml.Association">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simpleuml.Association" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simpleuml.Class" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simpleuml.Class" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="#T.simpleuml.PackageElement">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.simpleuml.PackageElement" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="#T.simpleuml.PackageElement">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.simpleuml.PackageElement" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simpleuml.Attribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simpleuml.Attribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simpleuml.Association">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simpleuml.Association" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simpleuml.Class" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.simpleuml.PackageElement">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.simpleuml.PackageElement" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</pivot:Root>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUMLPeople.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUMLPeople.xmi
new file mode 100644
index 000000000..40fb5b9f2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUMLPeople.xmi
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="ASCII"?>
+<simpleuml:Package
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:simpleuml="http://www.eclipse.org/qvt/examples/0.1/simpleUML"
+ xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/simpleUML SimpleUML.ecore"
+ kind=""
+ name="People">
+ <elements
+ xsi:type="simpleuml:Class"
+ kind="persistent"
+ name="Student">
+ <attributes
+ name="guardian"
+ type="//@elements.7"/>
+ <attributes
+ name="name"
+ type="//@elements.7"/>
+ <attributes
+ name="studentNumber"
+ type="//@elements.8"/>
+ <attributes
+ name="timeTable"
+ type="//@elements.3"/>
+ </elements>
+ <elements
+ xsi:type="simpleuml:Class"
+ kind="persistent"
+ name="Professor"
+ forward="//@elements.6">
+ <attributes
+ name="employed"
+ type="//@elements.9"/>
+ <attributes
+ name="name"
+ type="//@elements.7"/>
+ <attributes
+ name="group"
+ type="//@elements.4"/>
+ </elements>
+ <elements
+ xsi:type="simpleuml:Class"
+ kind="persistent"
+ name="Address"
+ reverse="//@elements.6"/>
+ <elements
+ xsi:type="simpleuml:Class"
+ kind="persistent"
+ name="Timetable"
+ typeOpposite="//@elements.0/@attributes.3">
+ <attributes
+ name="year"
+ type="//@elements.7"/>
+ </elements>
+ <elements
+ xsi:type="simpleuml:Class"
+ kind="persistent"
+ name="ResearchGroup"
+ typeOpposite="//@elements.1/@attributes.2">
+ <attributes
+ name="name"
+ type="//@elements.7"/>
+ <attributes
+ name="budget"
+ type="//@elements.5"/>
+ </elements>
+ <elements
+ xsi:type="simpleuml:Class"
+ kind="persistent"
+ name="Budget"
+ typeOpposite="//@elements.4/@attributes.1">
+ <attributes
+ name="year"
+ type="//@elements.7"/>
+ </elements>
+ <elements
+ xsi:type="simpleuml:Association"
+ kind=""
+ name="proffesorLivesAt"
+ source="//@elements.1"
+ destination="//@elements.2"/>
+ <elements
+ xsi:type="simpleuml:PrimitiveDataType"
+ name="String"
+ typeOpposite="//@elements.0/@attributes.1 //@elements.0/@attributes.0 //@elements.1/@attributes.1 //@elements.3/@attributes.0 //@elements.4/@attributes.0 //@elements.5/@attributes.0"/>
+ <elements
+ xsi:type="simpleuml:PrimitiveDataType"
+ name="Integer"
+ typeOpposite="//@elements.0/@attributes.2"/>
+ <elements
+ xsi:type="simpleuml:PrimitiveDataType"
+ name="Boolean"
+ typeOpposite="//@elements.1/@attributes.0"/>
+</simpleuml:Package>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainment.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainment.xmi
new file mode 100644
index 000000000..2b83996a5
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainment.xmi
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qVTcDataDependencyGraph="http://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph">
+ <qVTcDataDependencyGraph:ClassNode outgoing="/2 /4 /6" label="Package" model="input">
+ <superTypes>UMLModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ClassNode incoming="/2" label="Association" model="input">
+ <superTypes>PackageElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/1" source="/0" model="input">
+ <referredProperty href="SimpleUML.ecore#//Package/elements"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/4" outgoing="/8" label="Class" model="input">
+ <superTypes>Classifier</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/3" source="/0" model="input">
+ <referredProperty href="SimpleUML.ecore#//Package/elements"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/6" label="PrimitiveDataType" model="input">
+ <superTypes>Classifier</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/5" source="/0" model="input">
+ <referredProperty href="SimpleUML.ecore#//Package/elements"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/8" label="Attribute" model="input">
+ <superTypes>UMLModelElement</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/7" source="/3" model="input">
+ <referredProperty href="SimpleUML.ecore#//Class/attributes"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi
new file mode 100644
index 000000000..a1702cb58
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlEcoreToContainmentTree.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlEcoreToContainmentTree.launch
new file mode 100644
index 000000000..6549d7d86
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlEcoreToContainmentTree.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu May 08 12:54:54 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=mm&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/emf/2002/Ecore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUML.ecore&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:55:12 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=tree&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/SimpleUmlContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/utils/EcoreToContainmentTree.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore
new file mode 100644
index 000000000..45f46969a
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="umltordbms" nsURI="http://www.eclipse.org/qvt/examples/0.1/UMLtoRDBMS"
+ nsPrefix="umltordbms">
+ <eClassifiers xsi:type="ecore:EClass" name="AttributeToColumn" eSuperTypes="#//FromAttribute #//ToColumn">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//PrimitiveToName"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssociationToForeignKey" eSuperTypes="#//ToColumn #//UmlToRdbmsModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="association" eType="ecore:EClass SimpleUML.ecore#//Association">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKey" eType="ecore:EClass SimpleRDBMS.ecore#//ForeignKey">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//ClassToTable"
+ eOpposite="#//ClassToTable/associationsToForeignKeys"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="referenced" eType="#//ClassToTable"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BooleanToBoolean" eSuperTypes="#//PrimitiveToName"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassToTable" eSuperTypes="#//FromAttributeOwner #//ToColumn #//UmlToRdbmsModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="associationsToForeignKeys"
+ upperBound="-1" eType="#//AssociationToForeignKey" containment="true" eOpposite="#//AssociationToForeignKey/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//PackageToSchema"
+ eOpposite="#//PackageToSchema/classesToTables"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKey" eType="ecore:EClass SimpleRDBMS.ecore#//Key">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="table" eType="ecore:EClass SimpleRDBMS.ecore#//Table">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="umlClass" eType="ecore:EClass SimpleUML.ecore#//Class">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FromAttribute" abstract="true" eSuperTypes="#//UmlToRdbmsModelElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass SimpleUML.ecore#//Attribute">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="leafs" ordered="false"
+ upperBound="-1" eType="#//AttributeToColumn"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//FromAttributeOwner"
+ eOpposite="#//FromAttributeOwner/fromAttributes"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FromAttributeOwner" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="fromAttributes" ordered="false"
+ upperBound="-1" eType="#//FromAttribute" containment="true" eOpposite="#//FromAttribute/owner"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="IntegerToNumber" eSuperTypes="#//PrimitiveToName"/>
+ <eClassifiers xsi:type="ecore:EClass" name="NonLeafAttribute" eSuperTypes="#//FromAttributeOwner #//FromAttribute"/>
+ <eClassifiers xsi:type="ecore:EClass" name="PackageToSchema" eSuperTypes="#//UmlToRdbmsModelElement">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classesToTables" ordered="false"
+ lowerBound="1" upperBound="-1" eType="#//ClassToTable" containment="true"
+ eOpposite="#//ClassToTable/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primitivesToNames" ordered="false"
+ upperBound="-1" eType="#//PrimitiveToName" containment="true" eOpposite="#//PrimitiveToName/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1"
+ eType="ecore:EClass SimpleRDBMS.ecore#//Schema">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="umlPackage" lowerBound="1"
+ eType="ecore:EClass SimpleUML.ecore#//Package">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrimitiveToName" abstract="true" eSuperTypes="#//UmlToRdbmsModelElement">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//PackageToSchema"
+ eOpposite="#//PackageToSchema/primitivesToNames"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="primitive" lowerBound="1"
+ eType="ecore:EClass SimpleUML.ecore#//PrimitiveDataType">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringToVarchar" eSuperTypes="#//PrimitiveToName"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ToColumn" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="column" lowerBound="1"
+ eType="ecore:EClass SimpleRDBMS.ecore#//Column">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <details key="body" value="1"/>
+ </eAnnotations>
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="middle"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UmlToRdbmsModelElement" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore.oclas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore.oclas
new file mode 100644
index 000000000..7d86e95b3
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore.oclas
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pivot:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage"
+ name="UMLtoRDBMS.ecore.oclas" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore.oclas">
+ <nestedPackage xmi:id="P.umltordbms" name="umltordbms" nsPrefix="umltordbms" nsURI="http://www.eclipse.org/qvt/examples/0.1/UMLtoRDBMS">
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.AttributeToColumn" name="AttributeToColumn"
+ superClass="#T.umltordbms.FromAttribute #T.umltordbms.ToColumn">
+ <ownedAttribute xmi:id="p.umltordbms.AttributeToColumn.type" name="type" isRequired="false"
+ type="#T.umltordbms.PrimitiveToName" opposite="#p.umltordbms.PrimitiveToName.AttributeToColumn"/>
+ <ownedAttribute xmi:id="p.umltordbms.AttributeToColumn.FromAttribute" name="FromAttribute"
+ type="#//@nestedPackage.1/@ownedType.0" implicit="true" opposite="#p.umltordbms.FromAttribute.leafs"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.AssociationToForeignKey"
+ name="AssociationToForeignKey" superClass="#T.umltordbms.ToColumn #T.umltordbms.UmlToRdbmsModelElement">
+ <ownedAttribute xmi:id="p.umltordbms.AssociationToForeignKey.association" name="association"
+ isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ opposite="SimpleUML.ecore.oclas#p.simpleuml.Association.middle">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.AssociationToForeignKey.foreignKey" name="foreignKey"
+ isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ opposite="SimpleRDBMS.ecore.oclas#//@nestedPackage.0/@ownedType.1/@ownedAttribute.3">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.AssociationToForeignKey.owner" name="owner"
+ type="#T.umltordbms.ClassToTable" opposite="#p.umltordbms.ClassToTable.associationsToForeignKeys"/>
+ <ownedAttribute xmi:id="p.umltordbms.AssociationToForeignKey.referenced" name="referenced"
+ isRequired="false" type="#T.umltordbms.ClassToTable" opposite="#p.umltordbms.ClassToTable.AssociationToForeignKey"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.BooleanToBoolean" name="BooleanToBoolean"
+ superClass="#T.umltordbms.PrimitiveToName"/>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.ClassToTable" name="ClassToTable"
+ superClass="#T.umltordbms.FromAttributeOwner #T.umltordbms.ToColumn #T.umltordbms.UmlToRdbmsModelElement">
+ <ownedAttribute xmi:id="p.umltordbms.ClassToTable.associationsToForeignKeys"
+ name="associationsToForeignKeys" type="#//@nestedPackage.1/@ownedType.1"
+ isComposite="true" opposite="#p.umltordbms.AssociationToForeignKey.owner"/>
+ <ownedAttribute xmi:id="p.umltordbms.ClassToTable.owner" name="owner" type="#T.umltordbms.PackageToSchema"
+ opposite="#p.umltordbms.PackageToSchema.classesToTables"/>
+ <ownedAttribute xmi:id="p.umltordbms.ClassToTable.primaryKey" name="primaryKey"
+ isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key" opposite="SimpleRDBMS.ecore.oclas#//@nestedPackage.0/@ownedType.2/@ownedAttribute.3">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.ClassToTable.table" name="table" isRequired="false"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table" opposite="SimpleRDBMS.ecore.oclas#//@nestedPackage.0/@ownedType.5/@ownedAttribute.4">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.ClassToTable.umlClass" name="umlClass"
+ isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class" opposite="SimpleUML.ecore.oclas#p.simpleuml.Class.middle">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.ClassToTable.AssociationToForeignKey" name="AssociationToForeignKey"
+ type="#//@nestedPackage.1/@ownedType.2" implicit="true" opposite="#p.umltordbms.AssociationToForeignKey.referenced"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.FromAttribute" name="FromAttribute"
+ superClass="#T.umltordbms.UmlToRdbmsModelElement" isAbstract="true">
+ <ownedAttribute xmi:id="p.umltordbms.FromAttribute.kind" name="kind" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ <ownedAttribute xmi:id="p.umltordbms.FromAttribute.attribute" name="attribute"
+ isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute" opposite="SimpleUML.ecore.oclas#p.simpleuml.Attribute.middle">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.FromAttribute.leafs" name="leafs" type="#//@nestedPackage.1/@ownedType.3"
+ opposite="#p.umltordbms.AttributeToColumn.FromAttribute"/>
+ <ownedAttribute xmi:id="p.umltordbms.FromAttribute.owner" name="owner" type="#T.umltordbms.FromAttributeOwner"
+ opposite="#p.umltordbms.FromAttributeOwner.fromAttributes"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.FromAttributeOwner" name="FromAttributeOwner"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement"
+ isAbstract="true">
+ <ownedAttribute xmi:id="p.umltordbms.FromAttributeOwner.fromAttributes" name="fromAttributes"
+ type="#//@nestedPackage.1/@ownedType.4" isComposite="true" opposite="#p.umltordbms.FromAttribute.owner"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.IntegerToNumber" name="IntegerToNumber"
+ superClass="#T.umltordbms.PrimitiveToName"/>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.NonLeafAttribute" name="NonLeafAttribute"
+ superClass="#T.umltordbms.FromAttributeOwner #T.umltordbms.FromAttribute"/>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.PackageToSchema" name="PackageToSchema"
+ superClass="#T.umltordbms.UmlToRdbmsModelElement">
+ <ownedAttribute xmi:id="p.umltordbms.PackageToSchema.classesToTables" name="classesToTables"
+ type="#//@nestedPackage.1/@ownedType.5" isComposite="true" opposite="#p.umltordbms.ClassToTable.owner"/>
+ <ownedAttribute xmi:id="p.umltordbms.PackageToSchema.primitivesToNames" name="primitivesToNames"
+ type="#//@nestedPackage.1/@ownedType.6" isComposite="true" opposite="#p.umltordbms.PrimitiveToName.owner"/>
+ <ownedAttribute xmi:id="p.umltordbms.PackageToSchema.schema" name="schema" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ opposite="SimpleRDBMS.ecore.oclas#//@nestedPackage.0/@ownedType.4/@ownedAttribute.1">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.PackageToSchema.umlPackage" name="umlPackage"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package" opposite="SimpleUML.ecore.oclas#p.simpleuml.Package.middle">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.PrimitiveToName" name="PrimitiveToName"
+ superClass="#T.umltordbms.UmlToRdbmsModelElement" isAbstract="true">
+ <ownedAttribute xmi:id="p.umltordbms.PrimitiveToName.typeName" name="typeName"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ <ownedAttribute xmi:id="p.umltordbms.PrimitiveToName.owner" name="owner" type="#T.umltordbms.PackageToSchema"
+ opposite="#p.umltordbms.PackageToSchema.primitivesToNames"/>
+ <ownedAttribute xmi:id="p.umltordbms.PrimitiveToName.primitive" name="primitive"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType" opposite="SimpleUML.ecore.oclas#p.simpleuml.PrimitiveDataType.middle">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="p.umltordbms.PrimitiveToName.AttributeToColumn" name="AttributeToColumn"
+ type="#//@nestedPackage.1/@ownedType.7" implicit="true" opposite="#p.umltordbms.AttributeToColumn.type"/>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.StringToVarchar" name="StringToVarchar"
+ superClass="#T.umltordbms.PrimitiveToName"/>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.ToColumn" name="ToColumn"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement"
+ isAbstract="true">
+ <ownedAttribute xmi:id="p.umltordbms.ToColumn.column" name="column" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ opposite="SimpleRDBMS.ecore.oclas#//@nestedPackage.0/@ownedType.0/@ownedAttribute.4">
+ <ownedAnnotation xsi:type="pivot:Annotation" name="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeUpper">
+ <ownedDetail name="body">
+ <value>1</value>
+ </ownedDetail>
+ </ownedAnnotation>
+ </ownedAttribute>
+ </ownedType>
+ <ownedType xsi:type="pivot:Class" xmi:id="T.umltordbms.UmlToRdbmsModelElement"
+ name="UmlToRdbmsModelElement" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement"
+ isAbstract="true">
+ <ownedAttribute xmi:id="p.umltordbms.UmlToRdbmsModelElement.name" name="name"
+ isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </ownedType>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.8"
+ elementType="#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="#T.umltordbms.FromAttribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.9 #//@nestedPackage.1/@ownedType.10"
+ elementType="#T.umltordbms.AssociationToForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="#T.umltordbms.AssociationToForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="#T.umltordbms.AssociationToForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="#T.umltordbms.AssociationToForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.12"
+ elementType="#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="#T.umltordbms.AttributeToColumn" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.13"
+ elementType="#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="#T.umltordbms.FromAttribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="#T.umltordbms.ClassToTable" lower="1">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="#T.umltordbms.ClassToTable" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="#T.umltordbms.PrimitiveToName">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="#T.umltordbms.PrimitiveToName" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="#T.umltordbms.AttributeToColumn" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.umltordbms.FromAttribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="#T.umltordbms.AssociationToForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="#T.umltordbms.AssociationToForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="#T.umltordbms.AssociationToForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.umltordbms.AssociationToForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.umltordbms.AssociationToForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.umltordbms.AssociationToForeignKey" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.umltordbms.AttributeToColumn" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.8"
+ elementType="#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.umltordbms.FromAttribute" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="#T.umltordbms.ClassToTable">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.umltordbms.ClassToTable" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="#T.umltordbms.PrimitiveToName">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="#T.umltordbms.PrimitiveToName" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.umltordbms.AttributeToColumn" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.umltordbms.ClassToTable">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.umltordbms.ClassToTable" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="#T.umltordbms.PrimitiveToName">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="#T.umltordbms.PrimitiveToName" formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</pivot:Root>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbms QvtuToQvti.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms QvtuToQvti.launch
index e28e11bda..37c0c50c7 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbms QvtuToQvti.launch
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms QvtuToQvti.launch
@@ -18,16 +18,12 @@
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.build.etl"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
-<mapEntry key="configuration" value="UmlToRdbmsConfig.xmi"/>
<mapEntry key="eclipse.pdebuild.home" value="/C:/Eclipse Kepler QVT/plugins/org.eclipse.pde.build_3.8.100.v20130514-1028/./"/>
<mapEntry key="eclipse.pdebuild.scripts" value="/C:/Eclipse Kepler QVT/plugins/org.eclipse.pde.build_3.8.100.v20130514-1028/scripts/"/>
<mapEntry key="eclipse.pdebuild.templates" value="/C:/Eclipse Kepler QVT/plugins/org.eclipse.pde.build_3.8.100.v20130514-1028/templates/"/>
-<mapEntry key="qvtcas" value="UmlToRdbms.qvtcas"/>
-<mapEntry key="qvtmas" value="UmlToRdbms.qvtm.qvtcas"/>
-<mapEntry key="qvtmpartitionas" value="UmlToRdbmsPartition.qvtm.qvtcas"/>
-<mapEntry key="qvtuas" value="UmlToRdbms.qvtu.qvtcas"/>
+<mapEntry key="name" value="UmlToRdbms"/>
</mapAttribute>
<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QvtuToQvtiMtc.xml}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms}"/>
<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbms.qvtc b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtc
index aaedd95eb..d83f248ec 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbms.qvtc
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtc
@@ -1,393 +1,413 @@
-import SimpleUML: 'SimpleUML.ecore'::simpleuml;
-import SimpleRDBMS: 'SimpleRDBMS.ecore'::simplerdbms;
-import UMLtoRDBMS: 'UMLtoRDBMS.ecore'::umltordbms;
-
-/* Enforce uml to rdbms */
-transformation umlRdbms {
- uml imports SimpleUML;
- rdbms imports SimpleRDBMS;
- imports UMLtoRDBMS;
-}
-
-/* -- Package and Schema mapping
- class PackageToSchema {
- composite classesToTables : Set(ClassToTable) opposites owner;
- composite primitivesToNames : Set(PrimitiveToName) opposites owner;
- name : String;
- -- uml
- umlPackage : Package;
- -- rdbms
- schema : Schema;
- }
-*/
-map packageToSchema in umlRdbms {
- uml () {
- p:Package |
- }
- enforce rdbms () {
- realize s:Schema |
- }
- where () {
- realize p2s:PackageToSchema |
- p2s.umlPackage := p;
- p2s.schema := s;
- }
- map {
- where () {
- p2s.name := p.name;
- p2s.name := s.name;
- p.name := p2s.name;
- s.name := p2s.name;
- }
- }
-}
-
-/* -- Primitive data type marshaling
- class PrimitiveToName {
- owner : PackageToSchema opposites primitivesToNames;
- name : String;
- -- uml
- primitive : PrimitiveDataType;
- -- rdbms
- typeName : String;
- }
-*/
-map primitiveToName in umlRdbms {
- uml (p:Package |) {
- prim:PrimitiveDataType |
- prim.namespace = p;
- }
- check enforce rdbms () {
- sqlType:String |
- }
- where (p2s:PackageToSchema | p2s.umlPackage = p;) {
- realize p2n:PrimitiveToName |
- p2n.owner := p2s;
- p2n.primitive := prim;
- p2n.typeName := sqlType;
- }
- map {
- where () {
- p2n.name := prim.name + '2' + sqlType;
- }
- }
-}
-
-map integerToNumber in umlRdbms refines primitiveToName {
- uml () {
- prim.name = 'Integer';
- }
- check enforce rdbms () {
- sqlType := 'NUMBER';
- }
-}
-
-map booleanToBoolean in umlRdbms refines primitiveToName {
- uml () {
- prim.name = 'Boolean';
- }
- check enforce rdbms () {
- sqlType := 'BOOLEAN';
- }
-}
-
-map stringToVarchar in umlRdbms refines primitiveToName {
- uml () {
- prim.name = 'String';
- }
- check enforce rdbms () {
- sqlType := 'VARCHAR';
- }
-}
-
--- utility functions for flattening
-map flattening in umlRdbms {
-}
-
-query umlRdbms::getAllSupers(cls : SimpleUML::Class) : Set(SimpleUML::Class) {
- cls.general->collect(gen | getAllSupers(gen))->including(cls)->asSet()
-}
-
-query umlRdbms::getAllAttributes(cls : SimpleUML::Class) : Set( SimpleUML::Attribute) {
- getAllSupers(cls)->collect(c | c.attributes)
-}
-
-query umlRdbms::getAllForwards(cls : SimpleUML::Class) : Set( SimpleUML::Association) {
- getAllSupers(cls)->collect(c | true)
-}
-
-/* -- Class and Table mapping
- class ClassToTable extends FromAttributeOwner, ToColumn {
- owner : PackageToSchema opposites classesToTables;
- composite associationToForeignKeys :
- OrderedSet(AssociationToForeignKey) opposites owner;
- name : String;
- -- uml
- umlClass : Class;
- -- rdbms
- table : Table;
- primaryKey : Key;
- }
-*/
-map classToTable in umlRdbms {
- check enforce uml (p:Package |) {
- realize c:Class |
- c.kind := 'persistent';
- c.namespace := p;
- }
- check enforce rdbms (s:Schema |) {
- realize t:Table |
- t.kind <> 'meta';
- default t.kind := 'base';
- t.schema := s;
- }
- where (p2s:PackageToSchema |
- p2s.umlPackage = p; p2s.schema = s;) {
- realize c2t:ClassToTable |
- c2t.owner := p2s;
- c2t.umlClass := c;
- c2t.table := t;
- }
- map {
- where () {
- c2t.name := c.name;
- c2t.name := t.name;
- c.name := c2t.name;
- t.name := c2t.name;
- }
- }
- map {
- check enforce rdbms () {
- realize pk:Key,
- realize pc:Column |
- pk.owner := t;
- pk.kind := 'primary';
- pc.owner := t;
- pc.key->includes(pk);
- default pc.key := Set(Key){pk};
- default pc.type := 'NUMBER';
- }
- where () {
- c2t.primaryKey := pk;
- c2t.column := pc;
- }
- map {
- check enforce rdbms () {
- pc.name := t.name+'_tid';
- pk.name := t.name+'_pk';
- }
- }
- }
-}
-
-/* -- Association and ForeignKey mapping
- class AssociationToForeignKey extends ToColumn {
- referenced : ClassToTable;
- owner : ClassToTable opposites associationToForeignKeys;
- name : String;
- -- uml
- association : Association;
- -- rdbms
- foreignKey : ForeignKey;
- }
-*/
-map associationToForeignKey in umlRdbms refines flattening {
- check enforce uml (p:Package, sc:Class, dc:Class |
- sc.namespace = p;) {
- realize a:Association |
- -- getAllForwards(sc)->includes(a);
- default a.source := sc;
- -- getAllSupers(dc)->includes(a.destination);
- default a.destination := dc;
- default a.namespace := p;
- }
- check enforce rdbms (s:Schema, st:Table, dt:Table, rk:Key |
- st.schema = s;
- rk.owner = dt;
- rk.kind = 'primary';
- ) {
- realize fk:ForeignKey,
- realize fc:Column |
- fk.owner := st;
- fc.owner := st;
- fk.refersTo := rk;
- fc.foreignKeys->includes(fk);
- default fc.foreignKeys := Set(ForeignKey){fk};
- }
- where (p2s:PackageToSchema, sc2t:ClassToTable, dc2t:ClassToTable |
- sc2t.owner = p2s;
- p2s.umlPackage = p;
- p2s.schema = s;
- sc2t.table = st;
- dc2t.table = dt;
- sc2t.umlClass = sc;
- dc2t.umlClass = dc;
- ) {
- realize a2f:AssociationToForeignKey |
- a2f.owner := sc2t;
- a2f.referenced := dc2t;
- a2f.association := a;
- a2f.foreignKey := fk;
- a2f.column := fc;
- }
- map {
- where () {
- a2f.name := if a.destination=dc and a.source=sc
- then a.name
- else if a.destination<>dc and a.source=sc
- then dc.name+'_'+a.name
- else if a.destination=dc and a.source<>sc
- then a.name+'_'+sc.name
- else dc.name+'_'+a.name+'_'+sc.name
- endif endif endif;
- a.name := if a.destination=dc and a.source=sc
- then a2f.name
- else a.name
- endif;
- fk.name := a2f.name;
- a2f.name := fk.name;
- fc.name := a2f.name +'_tid';
- }
- }
- map {
- where () {
- fc.type := rk.column->first().type;
- }
- }
-}
-
-/* -- attribute mapping
- abstract class FromAttributeOwner {
- composite fromAttributes : Set(FromAttribute) opposites owner;
- }
- abstract class FromAttribute {
- name : String;
- kind : String;
- owner : FromAttributeOwner opposites fromAttributes;
- leafs : Set(AttributeToColumn);
- -- uml
- attribute : Attribute;
- }
- abstract class ToColumn {
- -- rdbms
- column : Column;
- }
- class NonLeafAttribute extends FromAttributeOwner, FromAttribute {
- leafs := fromAttributes.leafs;
- }
- class AttributeToColumn extends FromAttribute, ToColumn {
- type : PrimitiveToName;
- }
-*/
-map attributes in umlRdbms refines flattening {
- check enforce uml (c:Class |) {
- realize a:Attribute |
- default a.owner := c;
- -- getAllAttributes(c)->includes(a);
- }
- where (fao:FromAttributeOwner |) {
- realize fa : FromAttribute |
- fa.attribute := a;
- fa.owner := fao;
- }
- map {
- where () {
- fa.kind := a.kind;
- a.kind := fa.kind;
- }
- }
-}
-
-map classAttributes in umlRdbms refines attributes {
- where (fao:ClassToTable | fao.umlClass = c;) {}
- map {
- where () {
- fa.name := a.name;
- a.name := fa.name;
- }
- }
-}
-
-map primitiveAttribute in umlRdbms refines attributes {
- check enforce uml (t:PrimitiveDataType |) {
- a.type := t;
- }
- where (p2n:PrimitiveToName | p2n.primitive = t;) {
- realize fa:AttributeToColumn |
- fa.type := p2n;
- }
- map {
- where () {
- fa.leafs := Set(AttributeToColumn) {fa};
- }
- }
-}
-
-map complexAttributeAttributes in umlRdbms refines attributes {
- check uml (ca:Attribute |
- ca.type = c; ) {}
- where (fao:NonLeafAttribute |
- fao.attribute = ca; ) {}
- map {
- where () {
- fa.name := fao.name + '_' + a.name;
- }
- }
-}
-
-map complexAttribute in umlRdbms refines attributes {
- check uml (t:Class |) {
- a.type = t;
- }
- where () {
- realize fa:NonLeafAttribute |
- }
- map {
- where () {
- fa.leafs := fao.fromAttributes.leafs;
- }
- }
-}
-
-map classPrimitiveAttributes in umlRdbms refines classAttributes, primitiveAttribute {}
-map classComplexAttributes in umlRdbms refines classAttributes, complexAttribute {}
-map complexAttributePrimitiveAttributes in umlRdbms refines complexAttributeAttributes, primitiveAttribute {}
-map complexAttributeComplexAttributes in umlRdbms refines complexAttributeAttributes, complexAttribute {}
-
-/* -- column mapping
-*/
-map attributeColumns in umlRdbms {
- check enforce rdbms (t:Table |) {
- realize c:Column |
- c.owner := t;
- c.key->size()=0;
- c.foreignKeys->size()=0;
- }
- where (c2t:ClassToTable | c2t.table = t;) {
- realize a2c:AttributeToColumn |
- a2c.column := c;
- c2t.fromAttributes.leafs->includes(a2c);
- default a2c.owner := c2t; -- Check, not always a2c are owned by c2t, it maybe a nla!
- }
- map {
- check enforce rdbms (ct:String |) {
- c.type := ct;
- }
- where (p2n:PrimitiveToName |) {
- a2c.type := p2n;
- p2n.typeName := ct;
- }
- }
- map {
- where () {
- c.name := a2c.name;
- a2c.name := c.name;
- }
- }
- map {
- where () {
- c.kind := a2c.kind;
- a2c.kind := c.kind;
- }
- }
-}
+import SimpleUML: 'SimpleUML.ecore'::simpleuml;
+import SimpleRDBMS: 'SimpleRDBMS.ecore'::simplerdbms;
+import UMLtoRDBMS: 'UMLtoRDBMS.ecore'::umltordbms;
+
+transformation umlRdbms {
+ uml imports SimpleUML;
+ rdbms imports SimpleRDBMS;
+ imports UMLtoRDBMS;
+}
+
+/* -- Package and Schema mapping
+ class PackageToSchema {
+ composite classesToTables : Set(ClassToTable) opposites owner;
+ composite primitivesToNames : Set(PrimitiveToName) opposites owner;
+ name : String;
+ -- uml
+ umlPackage : Package;
+ -- rdbms
+ schema : Schema;
+ }
+*/
+map packageToSchema in umlRdbms {
+ uml () {
+ p:Package |
+ }
+ enforce rdbms () {
+ realize s:Schema |
+ }
+ where () {
+ realize p2s:PackageToSchema |
+ p2s.umlPackage := p;
+ p2s.schema := s;
+ }
+ map {
+ where () {
+ p2s.name := p.name;
+ p2s.name := s.name;
+ p.name := p2s.name;
+ s.name := p2s.name;
+ }
+ }
+}
+
+/* -- Primitive data type marshaling
+ class PrimitiveToName {
+ owner : PackageToSchema opposites primitivesToNames;
+ name : String;
+ -- uml
+ primitive : PrimitiveDataType;
+ -- rdbms
+ typeName : String;
+ }
+*/
+map primitiveToName in umlRdbms {
+ uml (p:Package |) {
+ prim:PrimitiveDataType |
+ prim.namespace = p;
+ }
+ check enforce rdbms () {
+ realize sqlType:String |
+ }
+ where (p2s:PackageToSchema | p2s.umlPackage = p;) {
+ realize p2n:PrimitiveToName |
+ p2n.owner := p2s;
+ p2n.primitive := prim;
+ p2n.typeName := sqlType;
+ }
+}
+
+map integerToNumber in umlRdbms refines primitiveToName {
+ uml () {
+ prim.name = 'Integer';
+ }
+ check enforce rdbms () {
+ sqlType := 'NUMBER';
+ }
+ where () {
+ realize p2n:IntegerToNumber |
+ }
+ map {
+ where () {
+ p2n.name := prim.name + '2' + 'NUMBER';
+ }
+ }
+}
+
+map booleanToBoolean in umlRdbms refines primitiveToName {
+ uml () {
+ prim.name = 'Boolean';
+ }
+ check enforce rdbms () {
+ sqlType := 'BOOLEAN';
+ }
+ where () {
+ realize p2n:BooleanToBoolean |
+ }
+ map {
+ where () {
+ p2n.name := prim.name + '2' + 'BOOLEAN';
+ }
+ }
+}
+
+map stringToVarchar in umlRdbms refines primitiveToName {
+ uml () {
+ prim.name = 'String';
+ }
+ check enforce rdbms () {
+ sqlType := 'VARCHAR';
+ }
+ where () {
+ realize p2n:StringToVarchar |
+ }
+ map {
+ where () {
+ p2n.name := prim.name + '2' + 'VARCHAR';
+ }
+ }
+}
+
+-- utility functions for flattening
+map flattening in umlRdbms {
+}
+/*
+query umlRdbms::getAllSupers(cls : SimpleUML::Class) : Set(SimpleUML::Class) {
+ cls.general->collect(gen | getAllSupers(gen))->including(cls)->asSet()
+}
+
+query umlRdbms::getAllAttributes(cls : SimpleUML::Class) : Set( SimpleUML::Attribute) {
+ getAllSupers(cls)->collect(c | c.attributes)
+}
+
+query umlRdbms::getAllForwards(cls : SimpleUML::Class) : Set( SimpleUML::Association) {
+ getAllSupers(cls)->collect(c | true)
+}
+ */
+
+/* -- Class and Table mapping
+ class ClassToTable extends FromAttributeOwner, ToColumn {
+ owner : PackageToSchema opposites classesToTables;
+ composite associationToForeignKeys :
+ OrderedSet(AssociationToForeignKey) opposites owner;
+ name : String;
+ -- uml
+ umlClass : Class;
+ -- rdbms
+ table : Table;
+ primaryKey : Key;
+ }
+*/
+map classToTable in umlRdbms {
+ check enforce uml (p:Package |) {
+ realize c:Class |
+ c.kind := 'persistent';
+ c.namespace := p;
+ }
+ check enforce rdbms (s:Schema |) {
+ realize t:Table |
+ t.kind <> 'meta';
+ default t.kind := 'base';
+ t.schema := s;
+ }
+ where (p2s:PackageToSchema |
+ p2s.umlPackage = p; p2s.schema = s;) {
+ realize c2t:ClassToTable |
+ c2t.owner := p2s;
+ c2t.umlClass := c;
+ c2t.table := t;
+ }
+ map {
+ where () {
+ c2t.name := c.name;
+ c2t.name := t.name;
+ c.name := c2t.name;
+ t.name := c2t.name;
+ }
+ }
+ map {
+ check enforce rdbms () {
+ realize pk:Key,
+ realize pc:Column |
+ pk.owner := t;
+ pk.kind := 'primary';
+ pc.owner := t;
+ pc.keys->includes(pk);
+ default pc.keys := Set(Key){pk};
+ default pc.type := 'NUMBER';
+ }
+ where () {
+ c2t.primaryKey := pk;
+ c2t.column := pc;
+ }
+ map {
+ check enforce rdbms () {
+ pc.name := t.name+'_tid';
+ pk.name := t.name+'_pk';
+ }
+ }
+ }
+}
+
+/* -- Association and ForeignKey mapping
+ class AssociationToForeignKey extends ToColumn {
+ referenced : ClassToTable;
+ owner : ClassToTable opposites associationToForeignKeys;
+ name : String;
+ -- uml
+ association : Association;
+ -- rdbms
+ foreignKey : ForeignKey;
+ }
+*/
+map associationToForeignKey in umlRdbms refines flattening {
+ check enforce uml (p:Package, sc:Class, dc:Class |
+ sc.namespace = p;) {
+ realize a:Association |
+ -- getAllForwards(sc)->includes(a);
+ default a.source := sc;
+ -- getAllSupers(dc)->includes(a.destination);
+ default a.destination := dc;
+ default a.namespace := p;
+ }
+ check enforce rdbms (s:Schema, st:Table, dt:Table, rk:Key |
+ st.schema = s;
+ rk.owner = dt;
+ rk.kind = 'primary';
+ ) {
+ realize fk:ForeignKey,
+ realize fc:Column |
+ fk.owner := st;
+ fc.owner := st;
+ fk.refersTo := rk;
+ fc.foreignKeys->includes(fk);
+ default fc.foreignKeys := Set(ForeignKey){fk};
+ }
+ where (p2s:PackageToSchema, sc2t:ClassToTable, dc2t:ClassToTable |
+ sc2t.owner = p2s;
+ p2s.umlPackage = p;
+ p2s.schema = s;
+ sc2t.table = st;
+ dc2t.table = dt;
+ sc2t.umlClass = sc;
+ dc2t.umlClass = dc;
+ ) {
+ realize a2f:AssociationToForeignKey |
+ a2f.owner := sc2t;
+ a2f.referenced := dc2t;
+ a2f.association := a;
+ a2f.foreignKey := fk;
+ a2f.column := fc;
+ }
+ map {
+ where () {
+ a2f.name := if a.destination=dc and a.source=sc
+ then a.name
+ else if a.destination<>dc and a.source=sc
+ then dc.name+'_'+a.name
+ else if a.destination=dc and a.source<>sc
+ then a.name+'_'+sc.name
+ else dc.name+'_'+a.name+'_'+sc.name
+ endif endif endif;
+ a.name := if a.destination=dc and a.source=sc
+ then a2f.name
+ else a.name
+ endif;
+ fk.name := a2f.name;
+ a2f.name := fk.name;
+ fc.name := a2f.name +'_tid';
+ }
+ }
+ map {
+ where () {
+ fc.type := rk.column->first().type;
+ }
+ }
+}
+
+/* -- attribute mapping
+ abstract class FromAttributeOwner {
+ composite fromAttributes : Set(FromAttribute) opposites owner;
+ }
+ abstract class FromAttribute {
+ name : String;
+ kind : String;
+ owner : FromAttributeOwner opposites fromAttributes;
+ leafs : Set(AttributeToColumn);
+ -- uml
+ attribute : Attribute;
+ }
+ abstract class ToColumn {
+ -- rdbms
+ column : Column;
+ }
+ class NonLeafAttribute extends FromAttributeOwner, FromAttribute {
+ leafs := fromAttributes.leafs;
+ }
+ class AttributeToColumn extends FromAttribute, ToColumn {
+ type : PrimitiveToName;
+ }
+*/
+map attributes in umlRdbms refines flattening {
+ check enforce uml (c:Class |) {
+ realize a:Attribute |
+ default a.owner := c;
+ -- getAllAttributes(c)->includes(a);
+ }
+ where (fao:FromAttributeOwner |) {
+ realize fa : FromAttribute |
+ fa.attribute := a;
+ fa.owner := fao;
+ }
+ map {
+ where () {
+ fa.kind := a.kind;
+ a.kind := fa.kind;
+ }
+ }
+}
+
+map classAttributes in umlRdbms refines attributes {
+ where (fao:ClassToTable | fao.umlClass = c;) {}
+ map {
+ where () {
+ fa.name := a.name;
+ a.name := fa.name;
+ }
+ }
+}
+
+map primitiveAttribute in umlRdbms refines attributes {
+ check enforce uml (t:PrimitiveDataType |) {
+ a.type := t;
+ }
+ where (p2n:PrimitiveToName | p2n.primitive = t;) {
+ realize fa:AttributeToColumn |
+ fa.type := p2n;
+ }
+ map {
+ where () {
+ fa.leafs := Set(AttributeToColumn) {fa};
+ }
+ }
+}
+
+map complexAttributeAttributes in umlRdbms refines attributes {
+ check uml (ca:Attribute |
+ ca.type = c; ) {}
+ where (fao:NonLeafAttribute |
+ fao.attribute = ca; ) {}
+ map {
+ where () {
+ fa.name := fao.name + '_' + a.name;
+ }
+ }
+}
+
+map complexAttribute in umlRdbms refines attributes {
+ check uml (t:Class |) {
+ a.type = t;
+ }
+ where () {
+ realize fa:NonLeafAttribute |
+ }
+ map {
+ where () {
+ fa.leafs := fao.fromAttributes.leafs;
+ }
+ }
+}
+
+map classPrimitiveAttributes in umlRdbms refines classAttributes, primitiveAttribute {}
+map classComplexAttributes in umlRdbms refines classAttributes, complexAttribute {}
+map complexAttributePrimitiveAttributes in umlRdbms refines complexAttributeAttributes, primitiveAttribute {}
+map complexAttributeComplexAttributes in umlRdbms refines complexAttributeAttributes, complexAttribute {}
+
+/* -- column mapping
+*/
+map attributeColumns in umlRdbms {
+ check enforce rdbms (t:Table |) {
+ realize c:Column |
+ c.owner := t;
+ c.keys->size()=0;
+ c.foreignKeys->size()=0;
+ }
+ where (c2t:ClassToTable | c2t.table = t;) {
+ realize a2c:AttributeToColumn |
+ a2c.column := c;
+ c2t.fromAttributes.leafs->includes(a2c);
+ default a2c.owner := c2t; -- Check, not always a2c are owned by c2t, it maybe a nla!
+ }
+ map {
+ check enforce rdbms (ct:String |) {
+ c.type := ct;
+ }
+ where (p2n:PrimitiveToName |
+ p2n.typeName = ct;) {
+ a2c.type := p2n;
+
+ }
+ }
+ map {
+ where () {
+ c.name := a2c.name;
+ a2c.name := c.name;
+ }
+ }
+ map {
+ where () {
+ c.kind := a2c.kind;
+ a2c.kind := c.kind;
+ }
+ }
+}
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtcas
new file mode 100644
index 000000000..a31b5b7b2
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtcas
@@ -0,0 +1,1761 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UmlToRdbms.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <modelParameter xmi:id="qT.umlRdbms.uml" name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter xmi:id="qT.umlRdbms.rdbms" name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvtc:Mapping" name="packageToSchema">
+ <ownedComment body="-- Package and Schema mapping&#xA;class PackageToSchema {&#xA;composite classesToTables : Set(ClassToTable) opposites owner;&#xA;composite primitivesToNames : Set(PrimitiveToName) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlPackage : Package;&#xA;-- rdbms&#xA;schema : Schema;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema.uml.bottom.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.rdbms.bottom.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.bottom.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveToName" specification="#//@nestedPackage.0/@rule.2 #//@nestedPackage.0/@rule.3 #//@nestedPackage.0/@rule.4">
+ <ownedComment body="-- Primitive data type marshaling&#xA;class PrimitiveToName {&#xA;owner : PackageToSchema opposites primitivesToNames;&#xA;name : String;&#xA;-- uml&#xA;primitive : PrimitiveDataType;&#xA;-- rdbms&#xA;typeName : String;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="integerToNumber" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="booleanToBoolean" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="stringToVarchar" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="flattening" specification="#//@nestedPackage.0/@rule.7 #//@nestedPackage.0/@rule.8">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classToTable">
+ <ownedComment body="query umlRdbms::getAllSupers(cls : SimpleUML::Class) : Set(SimpleUML::Class) {&#xA;cls.general->collect(gen | getAllSupers(gen))->including(cls)->asSet()&#xA;}&#xA;&#xA;query umlRdbms::getAllAttributes(cls : SimpleUML::Class) : Set( SimpleUML::Attribute) {&#xA;getAllSupers(cls)->collect(c | c.attributes)&#xA;}&#xA;&#xA;query umlRdbms::getAllForwards(cls : SimpleUML::Class) : Set( SimpleUML::Association) {&#xA;getAllSupers(cls)->collect(c | true)&#xA;}"/>
+ <ownedComment body="-- Class and Table mapping&#xA;class ClassToTable extends FromAttributeOwner, ToColumn {&#xA;owner : PackageToSchema opposites classesToTables;&#xA;composite associationToForeignKeys :&#xA;OrderedSet(AssociationToForeignKey) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlClass : Class;&#xA;-- rdbms&#xA;table : Table;&#xA;primaryKey : Key;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.uml.bottom.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.rdbms.guard.s" name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="meta"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.bottom.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.1"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <realizedVariable name="pk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable name="pc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ </bottomPattern>
+ <local>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern/>
+ </local>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="associationToForeignKey" refinement="#//@nestedPackage.0/@rule.5">
+ <ownedComment body="-- Association and ForeignKey mapping&#xA;class AssociationToForeignKey extends ToColumn {&#xA;referenced : ClassToTable;&#xA;owner : ClassToTable opposites associationToForeignKeys;&#xA;name : String;&#xA;-- uml&#xA;association : Association;&#xA;-- rdbms&#xA;foreignKey : ForeignKey;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.sc" name="sc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.dc" name="dc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.uml.bottom.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.st" name="st"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.dt" name="dt"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.rk" name="rk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.2"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"
+ name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"
+ name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.sc2t" name="sc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.dc2t" name="dc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.bottom.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.4"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributes" refinement="#//@nestedPackage.0/@rule.5"
+ specification="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10 #//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <ownedComment body="-- attribute mapping&#xA;abstract class FromAttributeOwner {&#xA;composite fromAttributes : Set(FromAttribute) opposites owner;&#xA;}&#xA;abstract class FromAttribute {&#xA;name : String;&#xA;kind : String;&#xA;owner : FromAttributeOwner opposites fromAttributes;&#xA;leafs : Set(AttributeToColumn);&#xA;-- uml&#xA;attribute : Attribute;&#xA;}&#xA;abstract class ToColumn {&#xA;-- rdbms&#xA;column : Column;&#xA;}&#xA;class NonLeafAttribute extends FromAttributeOwner, FromAttribute {&#xA;leafs := fromAttributes.leafs;&#xA;}&#xA;class AttributeToColumn extends FromAttribute, ToColumn {&#xA;type : PrimitiveToName;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributes.bottom.fa" name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.14">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classAttributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern/>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.15">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.guard.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.5"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.15 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.guard.ca" name="ca"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.14 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.12/@local.0/@bottomPattern/@assignment.0/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classPrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classComplexAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.12">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributePrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.10">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeComplexAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributeColumns">
+ <ownedComment body="-- column mapping"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.rdbms.guard.t" name="t" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Real.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Integer"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.size">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </source>
+ </source>
+ <argument xsi:type="pivot:UnlimitedNaturalLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#UnlimitedNatural"
+ unlimitedNaturalSymbol="0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Real.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Integer"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.size">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.2"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </source>
+ </source>
+ <argument xsi:type="pivot:UnlimitedNaturalLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#UnlimitedNatural"
+ unlimitedNaturalSymbol="0"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns.rdbms.bottom.c" name="c"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.guard.c2t" name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.17/@bottomPattern/@predicate.0/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns.bottom.a2c" name="a2c"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ <local>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable name="ct" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.8 #//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.10 #//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.12 #//@nestedPackage.1/@ownedType.13"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvti b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvti
new file mode 100644
index 000000000..ed1c82fcd
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvti
@@ -0,0 +1,519 @@
+import Simpleuml: 'http://www.eclipse.org/qvt/examples/0.1/simpleUML';
+import Simplerdbms: 'http://www.eclipse.org/qvt/examples/0.1/SimpleRDBMS';
+import Umltordbms: 'http://www.eclipse.org/qvt/examples/0.1/UMLtoRDBMS';
+
+transformation umlRdbms {
+ uml imports Simpleuml;
+ rdbms imports Simplerdbms;
+ middle imports Umltordbms;
+}
+
+map packageToSchema_LM in umlRdbms {
+ check uml (p:Package ) {
+ }
+ enforce middle ( ) {
+ realize p2s:PackageToSchema }
+ where ( ) {
+
+ p2s.name := p.name;
+ p2s.umlPackage := p; }
+}
+
+map packageToSchema_MR in umlRdbms {
+ enforce rdbms ( ) {
+ realize s:Schema }
+ check middle (p2s:PackageToSchema ) {
+ }
+ where ( ) {
+
+ p2s.schema := s;
+ s.name := p2s.name; }
+}
+
+map integerToNumber_LM in umlRdbms {
+ check uml (p:Package,
+ prim:PrimitiveDataType ) {
+ }
+ enforce middle (p2s:PackageToSchema ) {
+ realize p2n:IntegerToNumber }
+ where (p2s.umlPackage.=(p);
+ prim.namespace.=(p);
+ prim.name.=('Integer');
+ ) {
+
+ p2n.owner := p2s;
+ p2n.name := prim.name.+('2').+('NUMBER');
+ p2n.primitive := prim; }
+}
+
+map integerToNumber_MR in umlRdbms {
+ enforce rdbms ( ) {
+ realize sqlType:String }
+ check middle (p2s:PackageToSchema,
+ p2n:IntegerToNumber ) {
+ }
+ where (p2n.owner.=(p2s);
+ ) {
+
+ p2n.typeName := sqlType;
+ sqlType := 'NUMBER'; }
+}
+
+map booleanToBoolean_LM in umlRdbms {
+ check uml (p:Package,
+ prim:PrimitiveDataType ) {
+ }
+ enforce middle (p2s:PackageToSchema ) {
+ realize p2n:BooleanToBoolean }
+ where (p2s.umlPackage.=(p);
+ prim.namespace.=(p);
+ prim.name.=('Boolean');
+ ) {
+
+ p2n.owner := p2s;
+ p2n.primitive := prim;
+ p2n.name := prim.name.+('2').+('BOOLEAN'); }
+}
+
+map booleanToBoolean_MR in umlRdbms {
+ enforce rdbms ( ) {
+ realize sqlType:String }
+ check middle (p2s:PackageToSchema,
+ p2n:BooleanToBoolean ) {
+ }
+ where (p2n.owner.=(p2s);
+ ) {
+
+ p2n.typeName := sqlType;
+ sqlType := 'BOOLEAN'; }
+}
+
+map stringToVarchar_MR in umlRdbms {
+ enforce rdbms ( ) {
+ realize sqlType:String }
+ check middle (p2s:PackageToSchema,
+ p2n:StringToVarchar ) {
+ }
+ where (p2n.owner.=(p2s);
+ ) {
+
+ p2n.typeName := sqlType;
+ sqlType := 'VARCHAR'; }
+}
+
+map stringToVarchar_LM in umlRdbms {
+ check uml (p:Package,
+ prim:PrimitiveDataType ) {
+ }
+ enforce middle (p2s:PackageToSchema ) {
+ realize p2n:StringToVarchar }
+ where (p2s.umlPackage.=(p);
+ prim.namespace.=(p);
+ prim.name.=('String');
+ ) {
+
+ p2n.primitive := prim;
+ p2n.name := prim.name.+('2').+('VARCHAR');
+ p2n.owner := p2s; }
+}
+
+map classToTable_LM in umlRdbms {
+ check uml (p:Package,
+ c:Class ) {
+ }
+ enforce middle (p2s:PackageToSchema ) {
+ realize c2t:ClassToTable }
+ where (p2s.umlPackage.=(p);
+ c.kind.=('persistent');
+ c.namespace.=(p);
+ ) {
+
+ c2t.umlClass := c;
+ c2t.owner := p2s;
+ c2t.name := c.name; }
+}
+
+map classToTable_MR in umlRdbms {
+ enforce rdbms (s:Schema ) {
+ realize t:Table,
+ realize pk:Key,
+ realize pc:Column }
+ check middle (p2s:PackageToSchema,
+ c2t:ClassToTable ) {
+ }
+ where (p2s.schema.=(s);
+ c2t.owner.=(p2s);
+ ) {
+
+ c2t.column := pc;
+ t.name := c2t.name;
+ c2t.primaryKey := pk;
+ c2t.table := t;
+ t.kind := 'base';
+ t.schema := s;
+ pk.owner := t;
+ pk.kind := 'primary';
+ pc.owner := t;
+ pc.keys := Set{pk};
+ pc.type := 'NUMBER';
+ pc.name := t.name.+('_tid');
+ pk.name := t.name.+('_pk'); }
+}
+
+map associationToForeignKey_LM in umlRdbms {
+ check uml (p:Package,
+ sc:Class,
+ dc:Class,
+ a:Association ) {
+ }
+ enforce middle (p2s:PackageToSchema,
+ sc2t:ClassToTable,
+ dc2t:ClassToTable ) {
+ realize a2f:AssociationToForeignKey }
+ where (sc2t.umlClass.=(sc);
+ dc2t.umlClass.=(dc);
+ sc2t.owner.=(p2s);
+ p2s.umlPackage.=(p);
+ a.namespace.=(p);
+ a.destination.=(dc);
+ a.source.=(sc);
+ sc.namespace.=(p);
+ ) {
+
+ a2f.association := a;
+ a.name := if a.destination.=(dc).and(a.source.=(sc)) then a2f.name else a.name endif;
+ a2f.referenced := dc2t;
+ a2f.owner := sc2t;
+ a2f.name := if a.destination.=(dc).and(a.source.=(sc)) then a.name else if a.destination.<>(dc).and(a.source.=(sc)) then dc.name.+('_').+(a.name) else if a.destination.=(dc).and(a.source.<>(sc)) then a.name.+('_').+(sc.name) else dc.name.+('_').+(a.name).+('_').+(sc.name) endif endif endif; }
+}
+
+map associationToForeignKey_MR in umlRdbms {
+ enforce rdbms (s:Schema,
+ st:Table,
+ dt:Table,
+ rk:Key ) {
+ realize fk:ForeignKey,
+ realize fc:Column }
+ check middle (p2s:PackageToSchema,
+ sc2t:ClassToTable,
+ dc2t:ClassToTable,
+ a2f:AssociationToForeignKey ) {
+ }
+ where (p2s.schema.=(s);
+ sc2t.owner.=(p2s);
+ sc2t.table.=(st);
+ dc2t.table.=(dt);
+ a2f.referenced.=(dc2t);
+ a2f.owner.=(sc2t);
+ rk.kind.=('primary');
+ st.schema.=(s);
+ rk.owner.=(dt);
+ ) {
+
+ fk.name := a2f.name;
+ a2f.column := fc;
+ fc.type := rk.column->first().type;
+ fc.name := a2f.name.+('_tid');
+ a2f.foreignKey := fk;
+ fk.owner := st;
+ fc.owner := st;
+ fk.refersTo := rk;
+ fc.foreignKeys := Set{fk}; }
+}
+
+map classPrimitiveAttributes_LM in umlRdbms {
+ check uml (t:PrimitiveDataType,
+ c:Class,
+ a:Attribute ) {
+ }
+ enforce middle (fao:ClassToTable,
+ p2n:PrimitiveToName ) {
+ realize fa:AttributeToColumn }
+ where (p2n.primitive.=(t);
+ fao.umlClass.=(c);
+ a.owner.=(c);
+ a.type.=(t);
+ ) {
+
+ fa.kind := a.kind;
+ fa.attribute := a;
+ fa.type := p2n;
+ fa.owner := fao;
+ fa.leafs := Set{fa};
+ fa.kind := a.kind;
+ fa.owner := fao;
+ fa.name := a.name;
+ fa.attribute := a; }
+}
+
+map classComplexAttributes_LM in umlRdbms {
+ check uml (t:Class,
+ c:Class,
+ a:Attribute ) {
+ }
+ enforce middle (fao:ClassToTable ) {
+ realize fa:NonLeafAttribute }
+ where (fao.umlClass.=(c);
+ a.type.=(t);
+ a.owner.=(c);
+ ) {
+
+ fa.name := a.name;
+ fa.leafs := fao.fromAttributes->collect(1_ : umltordbms::FromAttribute[?] | 1_.leafs);
+ fa.attribute := a;
+ fa.kind := a.kind;
+ fa.attribute := a;
+ fa.owner := fao;
+ fa.owner := fao;
+ fa.kind := a.kind; }
+}
+
+map complexAttributePrimitiveAttributes_LM in umlRdbms {
+ check uml (ca:Attribute,
+ c:Class,
+ t:PrimitiveDataType,
+ a:Attribute ) {
+ }
+ enforce middle (fao:NonLeafAttribute,
+ p2n:PrimitiveToName ) {
+ realize fa:AttributeToColumn }
+ where (fao.attribute.=(ca);
+ p2n.primitive.=(t);
+ a.owner.=(c);
+ ca.type.=(c);
+ a.owner.=(c);
+ a.type.=(t);
+ ) {
+
+ fa.name := fao.name.+('_').+(a.name);
+ fa.owner := fao;
+ fa.kind := a.kind;
+ fa.attribute := a;
+ fa.attribute := a;
+ fa.leafs := Set{fa};
+ fa.type := p2n;
+ fa.owner := fao;
+ fa.kind := a.kind; }
+}
+
+map complexAttributeComplexAttributes_LM in umlRdbms {
+ check uml (ca:Attribute,
+ c:Class,
+ t:Class,
+ a:Attribute ) {
+ }
+ enforce middle (fao:NonLeafAttribute ) {
+ realize fa:NonLeafAttribute }
+ where (fao.attribute.=(ca);
+ a.owner.=(c);
+ a.type.=(t);
+ a.owner.=(c);
+ ca.type.=(c);
+ ) {
+
+ fa.kind := a.kind;
+ fa.leafs := fao.fromAttributes->collect(1_ : umltordbms::FromAttribute[?] | 1_.leafs);
+ fa.kind := a.kind;
+ fa.name := fao.name.+('_').+(a.name);
+ fa.owner := fao;
+ fa.owner := fao;
+ fa.attribute := a;
+ fa.attribute := a; }
+}
+
+map attributeColumns_MR in umlRdbms {
+ enforce rdbms (t:Table,
+ ct:String ) {
+ realize c:Column }
+ check middle (c2t:ClassToTable,
+ p2n:PrimitiveToName,
+ a2c:AttributeToColumn ) {
+ }
+ where (c2t.table.=(t);
+ p2n.typeName.=(ct);
+ c2t.fromAttributes->collect(1_ : umltordbms::FromAttribute[?] | 1_.leafs)->includes(a2c);
+ a2c.owner.=(c2t);
+ a2c.type.=(p2n);
+ ) {
+
+ c.name := a2c.name;
+ c.kind := a2c.kind;
+ a2c.column := c;
+ c.owner := t;
+ c.type := ct; }
+}
+
+map __root__ in umlRdbms {
+ where ( ) {
+ }
+
+ for p in simpleuml::Package.allInstances() {
+ call packageToSchema_LM {
+ p:= p;
+ }
+
+ }
+
+ for p2s in umltordbms::PackageToSchema.allInstances() {
+ call packageToSchema_MR {
+ p2s:= p2s;
+ }
+
+ }
+
+ for c in simpleuml::Class.allInstances() {
+ call classToTable_LM {
+ c:= c;
+ p:= c.namespace;
+ p2s:= c.namespace.middle;
+ }
+
+ }
+
+ for c2t in umltordbms::ClassToTable.allInstances() {
+ call classToTable_MR {
+ c2t:= c2t;
+ p2s:= c2t.owner;
+ s:= c2t.owner.schema;
+ }
+
+ }
+
+ for a in simpleuml::Association.allInstances() {
+ call associationToForeignKey_LM {
+ a:= a;
+ dc:= a.destination;
+ p:= a.namespace;
+ sc:= a.source;
+ sc2t:= a.source.middle;
+ dc2t:= a.destination.middle;
+ p2s:= a.source.middle.owner;
+ }
+
+ }
+
+ for a2f in umltordbms::AssociationToForeignKey.allInstances() {
+
+ for rk in simplerdbms::Key.allInstances() {
+ call associationToForeignKey_MR {
+ a2f:= a2f;
+ rk:= rk;
+ dc2t:= a2f.referenced;
+ sc2t:= a2f.owner;
+ s:= a2f.owner.table.schema;
+ st:= a2f.owner.table;
+ dt:= a2f.referenced.table;
+ p2s:= a2f.owner.owner;
+ }
+ }
+ }
+
+ for prim in simpleuml::PrimitiveDataType.allInstances() {
+ call integerToNumber_LM {
+ prim:= prim;
+ p:= prim.namespace;
+ p2s:= prim.namespace.middle;
+ }
+
+ }
+
+ for p2n in umltordbms::IntegerToNumber.allInstances() {
+ call integerToNumber_MR {
+ p2n:= p2n;
+ p2s:= p2n.owner;
+ }
+
+ }
+
+ for prim in simpleuml::PrimitiveDataType.allInstances() {
+ call booleanToBoolean_LM {
+ prim:= prim;
+ p:= prim.namespace;
+ p2s:= prim.namespace.middle;
+ }
+
+ }
+
+ for prim in simpleuml::PrimitiveDataType.allInstances() {
+ call stringToVarchar_LM {
+ prim:= prim;
+ p:= prim.namespace;
+ p2s:= prim.namespace.middle;
+ }
+
+ }
+
+ for a in simpleuml::Attribute.allInstances() {
+ call classPrimitiveAttributes_LM {
+ a:= a;
+ t:= a.type;
+ c:= a.owner;
+ fao:= a.owner.middle;
+ p2n:= a.type.middle;
+ }
+
+ }
+
+ for a in simpleuml::Attribute.allInstances() {
+ call classComplexAttributes_LM {
+ a:= a;
+ c:= a.owner;
+ t:= a.type;
+ fao:= a.owner.middle;
+ }
+
+ }
+
+ for a in simpleuml::Attribute.allInstances() {
+ for fao in umltordbms::NonLeafAttribute.allInstances() {
+ call complexAttributeComplexAttributes_LM {
+ fao:= fao;
+ a:= a;
+ ca:= fao.attribute;
+ c:= a.owner;
+ t:= a.type;
+ }
+ }
+ }
+
+ for a in simpleuml::Attribute.allInstances() {
+ for ca in simpleuml::Attribute.allInstances() {
+ call complexAttributePrimitiveAttributes_LM {
+ a:= a;
+ ca:= ca;
+ t:= a.type;
+ c:= a.owner;
+ p2n:= a.type.middle;
+ fao:= "<null>"."<null>";
+ }
+ }
+ }
+
+ for p2n in umltordbms::BooleanToBoolean.allInstances() {
+ call booleanToBoolean_MR {
+ p2n:= p2n;
+ p2s:= p2n.owner;
+ }
+
+ }
+
+ for p2n in umltordbms::StringToVarchar.allInstances() {
+ call stringToVarchar_MR {
+ p2n:= p2n;
+ p2s:= p2n.owner;
+ }
+
+ }
+
+ for a2c in umltordbms::AttributeToColumn.allInstances() {
+ call attributeColumns_MR {
+ a2c:= a2c;
+ c2t:= a2c.owner;
+ p2n:= a2c.type;
+ ct:= a2c.type.typeName;
+ t:= a2c.owner.table;
+ }
+
+ }
+
+} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias
new file mode 100644
index 000000000..4c99f713b
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtias
@@ -0,0 +1,2956 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage"
+ name="UmlToRdbms.qvti" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvti">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms">
+ <modelParameter xmi:id="qT.umlRdbms.uml" name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter xmi:id="qT.umlRdbms.rdbms" name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter xmi:id="qT.umlRdbms.middle" name="middle" usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.packageToSchema_LM" name="packageToSchema_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema_LM.middle.bottom.p2s"
+ name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.uml.guard.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.middle.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.uml.guard.p"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.middle.bottom.p2s"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.packageToSchema_MR" name="packageToSchema_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema_MR.rdbms.bottom.s"
+ name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.rdbms.bottom.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.middle.guard.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.middle.guard.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.rdbms.bottom.s"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.integerToNumber_LM" name="integerToNumber_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_LM.uml.guard.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.integerToNumber_MR" name="integerToNumber_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber_MR.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.integerToNumber_MR.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.booleanToBoolean_MR" name="booleanToBoolean_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean_MR.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.booleanToBoolean_MR.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.booleanToBoolean_LM" name="booleanToBoolean_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_LM.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.stringToVarchar_MR" name="stringToVarchar_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar_MR.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.stringToVarchar_MR.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.stringToVarchar_LM" name="stringToVarchar_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_LM.uml.guard.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classToTable_MR" name="classToTable_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.guard.s" name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.bottom.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.bottom.pk" name="pk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.bottom.pc" name="pc"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.classToTable_MR.middle.guard.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.guard.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.0"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classToTable_LM" name="classToTable_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.classToTable_LM.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_LM.middle.bottom.c2t"
+ name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.bottom.c2t"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.associationToForeignKey_LM" name="associationToForeignKey_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc" name="sc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc" name="dc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"
+ name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"
+ name="sc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"
+ name="dc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.associationToForeignKey_MR" name="associationToForeignKey_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"
+ name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"
+ name="st" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"
+ name="dt" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"
+ name="rk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"
+ name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"
+ name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"
+ name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"
+ name="sc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"
+ name="dc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.2"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classPrimitiveAttributes_LM"
+ name="classPrimitiveAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classComplexAttributes_LM" name="classComplexAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.uml.guard.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.13/@bottomPattern/@assignment.0/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.complexAttributePrimitiveAttributes_LM"
+ name="complexAttributePrimitiveAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.complexAttributeComplexAttributes_LM"
+ name="complexAttributeComplexAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.15/@bottomPattern/@assignment.3/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.attributeColumns_MR" name="attributeColumns_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.rdbms.guard.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct" name="ct"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"
+ name="c" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.middle.guard.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.middle.guard.a2c" name="a2c"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.p2n"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.8"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.16/@guardPattern/@predicate.4/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.__root__" name="__root__">
+ <guardPattern/>
+ <bottomPattern/>
+ <mappingStatement xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.packageToSchema_LM">
+ <binding boundVariable="#qV.umlRdbms.packageToSchema_LM.uml.guard.p">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#i.umlRdbms.__root__.0.0.p"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.0.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.packageToSchema_MR">
+ <binding boundVariable="#qV.umlRdbms.packageToSchema_MR.middle.guard.p2s">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#i.umlRdbms.__root__.0.1.p2s"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.1.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.classToTable_LM">
+ <binding boundVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#i.umlRdbms.__root__.0.2.c"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classToTable_LM.uml.guard.p">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classToTable_LM.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Package.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.2.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.classToTable_MR">
+ <binding boundVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#i.umlRdbms.__root__.0.3.c2t"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classToTable_MR.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classToTable_MR.rdbms.guard.s">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.3.c2t" name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.associationToForeignKey_LM">
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#i.umlRdbms.__root__.0.4.a"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Class.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Class.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Class.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.4.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.associationToForeignKey_MR">
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#i.umlRdbms.__root__.0.5.0.0.rk"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#i.umlRdbms.__root__.0.5.a2f"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.5.0.0.rk" name="rk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.5.a2f" name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.booleanToBoolean_LM">
+ <binding boundVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#i.umlRdbms.__root__.0.6.prim"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.p">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Package.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.6.prim" name="prim" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.integerToNumber_LM">
+ <binding boundVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#i.umlRdbms.__root__.0.7.prim"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.p">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.integerToNumber_LM.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Package.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.7.prim" name="prim" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.stringToVarchar_LM">
+ <binding boundVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#i.umlRdbms.__root__.0.8.prim"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.p">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Package.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.8.prim" name="prim" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.classPrimitiveAttributes_LM">
+ <binding boundVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#i.umlRdbms.__root__.0.9.a"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Class.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PrimitiveDataType.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.9.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.booleanToBoolean_MR">
+ <binding boundVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#i.umlRdbms.__root__.0.10.p2n"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n"/>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.10.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.stringToVarchar_MR">
+ <binding boundVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#i.umlRdbms.__root__.0.11.p2n"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n"/>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.11.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.classComplexAttributes_LM">
+ <binding boundVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#i.umlRdbms.__root__.0.12.a"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.c">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.t">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Class.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.12.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.complexAttributeComplexAttributes_LM">
+ <binding boundVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#i.umlRdbms.__root__.0.13.0.0.a"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#i.umlRdbms.__root__.0.13.ca"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.t">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao">
+ <value xsi:type="pivot:PropertyCallExp"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.13.0.0.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.13.ca" name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredType="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.complexAttributePrimitiveAttributes_LM">
+ <binding boundVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#i.umlRdbms.__root__.0.14.0.0.ca"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#i.umlRdbms.__root__.0.14.a"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PrimitiveDataType.middle">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao">
+ <value xsi:type="pivot:PropertyCallExp"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.14.0.0.ca" name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.14.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.integerToNumber_MR">
+ <binding boundVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#i.umlRdbms.__root__.0.15.p2n"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2s">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n"/>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.15.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.9"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.umlRdbms.attributeColumns_MR">
+ <binding boundVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#i.umlRdbms.__root__.0.16.a2c"/>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.p2n">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t">
+ <value xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.t">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct">
+ <value xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.umlRdbms.__root__.0.16.a2c" name="a2c" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </mappingStatements>
+ </mappingStatement>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.10"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.11 #//@nestedPackage.1/@ownedType.12"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.13"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.21"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.22"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.22"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.23"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.24"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.25"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.26"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas
new file mode 100644
index 000000000..692e61cf6
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas
@@ -0,0 +1,2569 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UmlToRdbms.qvtm.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce uml to rdbms */"/>
+ <modelParameter xmi:id="qT.umlRdbms.uml" name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter xmi:id="qT.umlRdbms.rdbms" name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvtc:Mapping" name="packageToSchema">
+ <ownedComment body="-- Package and Schema mapping&#xA;class PackageToSchema {&#xA;composite classesToTables : Set(ClassToTable) opposites owner;&#xA;composite primitivesToNames : Set(PrimitiveToName) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlPackage : Package;&#xA;-- rdbms&#xA;schema : Schema;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema.uml.bottom.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.rdbms.bottom.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.bottom.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveToName" specification="#//@nestedPackage.0/@rule.2 #//@nestedPackage.0/@rule.3 #//@nestedPackage.0/@rule.4">
+ <ownedComment body="-- Primitive data type marshaling&#xA;class PrimitiveToName {&#xA;owner : PackageToSchema opposites primitivesToNames;&#xA;name : String;&#xA;-- uml&#xA;primitive : PrimitiveDataType;&#xA;-- rdbms&#xA;typeName : String;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="integerToNumber" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.integerToNumber.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.integerToNumber.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="booleanToBoolean" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="stringToVarchar" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="flattening" specification="#//@nestedPackage.0/@rule.7 #//@nestedPackage.0/@rule.8">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classToTable">
+ <ownedComment body="query umlRdbms::getAllSupers(cls : SimpleUML::Class) : Set(SimpleUML::Class) {&#xA;cls.general->collect(gen | getAllSupers(gen))->including(cls)->asSet()&#xA;}&#xA;&#xA;query umlRdbms::getAllAttributes(cls : SimpleUML::Class) : Set( SimpleUML::Attribute) {&#xA;getAllSupers(cls)->collect(c | c.attributes)&#xA;}&#xA;&#xA;query umlRdbms::getAllForwards(cls : SimpleUML::Class) : Set( SimpleUML::Association) {&#xA;getAllSupers(cls)->collect(c | true)&#xA;}"/>
+ <ownedComment body="-- Class and Table mapping&#xA;class ClassToTable extends FromAttributeOwner, ToColumn {&#xA;owner : PackageToSchema opposites classesToTables;&#xA;composite associationToForeignKeys :&#xA;OrderedSet(AssociationToForeignKey) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlClass : Class;&#xA;-- rdbms&#xA;table : Table;&#xA;primaryKey : Key;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.bottom.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.rdbms.guard.s" name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.21"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.pk" name="pk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.pc" name="pc"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.bottom.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="associationToForeignKey" refinement="#//@nestedPackage.0/@rule.5">
+ <ownedComment body="-- Association and ForeignKey mapping&#xA;class AssociationToForeignKey extends ToColumn {&#xA;referenced : ClassToTable;&#xA;owner : ClassToTable opposites associationToForeignKeys;&#xA;name : String;&#xA;-- uml&#xA;association : Association;&#xA;-- rdbms&#xA;foreignKey : ForeignKey;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.sc" name="sc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.dc" name="dc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.st" name="st"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.dt" name="dt"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.rk" name="rk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"
+ name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"
+ name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.sc2t" name="sc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.dc2t" name="dc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.22"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.bottom.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributes" refinement="#//@nestedPackage.0/@rule.5"
+ specification="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10 #//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <ownedComment body="-- attribute mapping&#xA;abstract class FromAttributeOwner {&#xA;composite fromAttributes : Set(FromAttribute) opposites owner;&#xA;}&#xA;abstract class FromAttribute {&#xA;name : String;&#xA;kind : String;&#xA;owner : FromAttributeOwner opposites fromAttributes;&#xA;leafs : Set(AttributeToColumn);&#xA;-- uml&#xA;attribute : Attribute;&#xA;}&#xA;abstract class ToColumn {&#xA;-- rdbms&#xA;column : Column;&#xA;}&#xA;class NonLeafAttribute extends FromAttributeOwner, FromAttribute {&#xA;leafs := fromAttributes.leafs;&#xA;}&#xA;class AttributeToColumn extends FromAttribute, ToColumn {&#xA;type : PrimitiveToName;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributes.bottom.fa" name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.14">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classAttributes.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classAttributes.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classAttributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classAttributes.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.15">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.guard.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.23"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.15 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.guard.ca" name="ca"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributeAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.14 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.24"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.25"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttribute.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.23"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.12/@bottomPattern/@assignment.0/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classPrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.23"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classPrimitiveAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classComplexAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.12">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.24"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.25"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttribute.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.23"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.14/@bottomPattern/@assignment.4/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classComplexAttributes.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributePrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.10">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.bottom.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.guard.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.23"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeComplexAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.bottom.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.24"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.25"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttribute.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.23"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.16/@bottomPattern/@assignment.4/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributeColumns">
+ <ownedComment body="-- column mapping"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.rdbms.guard.t" name="t" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.rdbms.guard.ct" name="ct"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.ct"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns.rdbms.bottom.c" name="c"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.ct"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.guard.c2t" name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.guard.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.17/@bottomPattern/@predicate.0/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.p2n"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.bottom.a2c" name="a2c" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.8 #//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.10 #//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.12 #//@nestedPackage.1/@ownedType.13"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.26"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.27 #//@nestedPackage.1/@ownedType.28"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.29"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.30"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.31"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.32"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.33"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.33"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.30"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.34"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas.rc b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas.rc
new file mode 100644
index 000000000..692e61cf6
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtcas.rc
@@ -0,0 +1,2569 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UmlToRdbms.qvtm.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtm.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce uml to rdbms */"/>
+ <modelParameter xmi:id="qT.umlRdbms.uml" name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter xmi:id="qT.umlRdbms.rdbms" name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvtc:Mapping" name="packageToSchema">
+ <ownedComment body="-- Package and Schema mapping&#xA;class PackageToSchema {&#xA;composite classesToTables : Set(ClassToTable) opposites owner;&#xA;composite primitivesToNames : Set(PrimitiveToName) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlPackage : Package;&#xA;-- rdbms&#xA;schema : Schema;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema.uml.bottom.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.rdbms.bottom.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.bottom.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveToName" specification="#//@nestedPackage.0/@rule.2 #//@nestedPackage.0/@rule.3 #//@nestedPackage.0/@rule.4">
+ <ownedComment body="-- Primitive data type marshaling&#xA;class PrimitiveToName {&#xA;owner : PackageToSchema opposites primitivesToNames;&#xA;name : String;&#xA;-- uml&#xA;primitive : PrimitiveDataType;&#xA;-- rdbms&#xA;typeName : String;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="integerToNumber" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.integerToNumber.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.integerToNumber.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="booleanToBoolean" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="stringToVarchar" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="flattening" specification="#//@nestedPackage.0/@rule.7 #//@nestedPackage.0/@rule.8">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classToTable">
+ <ownedComment body="query umlRdbms::getAllSupers(cls : SimpleUML::Class) : Set(SimpleUML::Class) {&#xA;cls.general->collect(gen | getAllSupers(gen))->including(cls)->asSet()&#xA;}&#xA;&#xA;query umlRdbms::getAllAttributes(cls : SimpleUML::Class) : Set( SimpleUML::Attribute) {&#xA;getAllSupers(cls)->collect(c | c.attributes)&#xA;}&#xA;&#xA;query umlRdbms::getAllForwards(cls : SimpleUML::Class) : Set( SimpleUML::Association) {&#xA;getAllSupers(cls)->collect(c | true)&#xA;}"/>
+ <ownedComment body="-- Class and Table mapping&#xA;class ClassToTable extends FromAttributeOwner, ToColumn {&#xA;owner : PackageToSchema opposites classesToTables;&#xA;composite associationToForeignKeys :&#xA;OrderedSet(AssociationToForeignKey) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlClass : Class;&#xA;-- rdbms&#xA;table : Table;&#xA;primaryKey : Key;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.bottom.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.rdbms.guard.s" name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.21"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.pk" name="pk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.pc" name="pc"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.pc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.bottom.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="associationToForeignKey" refinement="#//@nestedPackage.0/@rule.5">
+ <ownedComment body="-- Association and ForeignKey mapping&#xA;class AssociationToForeignKey extends ToColumn {&#xA;referenced : ClassToTable;&#xA;owner : ClassToTable opposites associationToForeignKeys;&#xA;name : String;&#xA;-- uml&#xA;association : Association;&#xA;-- rdbms&#xA;foreignKey : ForeignKey;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.sc" name="sc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.dc" name="dc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.st" name="st"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.dt" name="dt"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.rk" name="rk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"
+ name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"
+ name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.sc2t" name="sc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.dc2t" name="dc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.22"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.bottom.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributes" refinement="#//@nestedPackage.0/@rule.5"
+ specification="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10 #//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <ownedComment body="-- attribute mapping&#xA;abstract class FromAttributeOwner {&#xA;composite fromAttributes : Set(FromAttribute) opposites owner;&#xA;}&#xA;abstract class FromAttribute {&#xA;name : String;&#xA;kind : String;&#xA;owner : FromAttributeOwner opposites fromAttributes;&#xA;leafs : Set(AttributeToColumn);&#xA;-- uml&#xA;attribute : Attribute;&#xA;}&#xA;abstract class ToColumn {&#xA;-- rdbms&#xA;column : Column;&#xA;}&#xA;class NonLeafAttribute extends FromAttributeOwner, FromAttribute {&#xA;leafs := fromAttributes.leafs;&#xA;}&#xA;class AttributeToColumn extends FromAttribute, ToColumn {&#xA;type : PrimitiveToName;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributes.bottom.fa" name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.14">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classAttributes.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classAttributes.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classAttributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classAttributes.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.15">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.guard.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.23"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.15 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.guard.ca" name="ca"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributeAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.14 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.24"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.25"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttribute.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.23"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.12/@bottomPattern/@assignment.0/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classPrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.23"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classPrimitiveAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classComplexAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.12">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classAttributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.24"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.25"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttribute.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.23"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.14/@bottomPattern/@assignment.4/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classComplexAttributes.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributePrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.10">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.uml.bottom.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.guard.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.23"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeComplexAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.uml.bottom.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.24"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.25"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttribute.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.23"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.16/@bottomPattern/@assignment.4/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributeColumns">
+ <ownedComment body="-- column mapping"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.rdbms.guard.t" name="t" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.rdbms.guard.ct" name="ct"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.ct"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns.rdbms.bottom.c" name="c"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.ct"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.guard.c2t" name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.guard.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.17/@bottomPattern/@predicate.0/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.p2n"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.bottom.a2c" name="a2c" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.8 #//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.10 #//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.12 #//@nestedPackage.1/@ownedType.13"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.26"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.27 #//@nestedPackage.1/@ownedType.28"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.29"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.30"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.31"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.32"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.33"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.33"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.30"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.34"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias
new file mode 100644
index 000000000..730751962
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvtias
@@ -0,0 +1,2266 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage"
+ name="UmlToRdbms.qvtp.qvti" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtp.qvti">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms">
+ <modelParameter xmi:id="qT.umlRdbms.uml" name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter xmi:id="qT.umlRdbms.rdbms" name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter xmi:id="qT.umlRdbms.middle" name="middle" usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.packageToSchema_LM" name="packageToSchema_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema_LM.middle.bottom.p2s"
+ name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.uml.guard.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.middle.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.uml.guard.p"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_LM.middle.bottom.p2s"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.packageToSchema_MR" name="packageToSchema_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema_MR.rdbms.bottom.s"
+ name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.rdbms.bottom.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.middle.guard.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.middle.guard.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema_MR.rdbms.bottom.s"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.integerToNumber_LM" name="integerToNumber_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_LM.uml.guard.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_LM.middle.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.integerToNumber_MR" name="integerToNumber_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber_MR.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.integerToNumber_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.integerToNumber_MR.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.booleanToBoolean_MR" name="booleanToBoolean_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean_MR.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.booleanToBoolean_MR.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.booleanToBoolean_LM" name="booleanToBoolean_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_LM.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean_LM.middle.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.stringToVarchar_MR" name="stringToVarchar_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar_MR.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.stringToVarchar_MR.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.stringToVarchar_LM" name="stringToVarchar_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_LM.uml.guard.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.stringToVarchar_LM.middle.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classToTable_MR" name="classToTable_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.guard.s" name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.bottom.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.bottom.pk" name="pk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_MR.rdbms.bottom.pc" name="pc"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_MR.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.classToTable_MR.middle.guard.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.guard.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.0"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.classToTable_MR.rdbms.bottom.pk"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classToTable_LM" name="classToTable_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_LM.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.classToTable_LM.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable_LM.middle.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable_LM.middle.bottom.c2t"
+ name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable_LM.middle.bottom.c2t"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.associationToForeignKey_LM" name="associationToForeignKey_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc" name="sc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc" name="dc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.uml.guard.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"
+ name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"
+ name="sc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"
+ name="dc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_LM.middle.bottom.a2f"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.associationToForeignKey_MR" name="associationToForeignKey_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"
+ name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"
+ name="st" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"
+ name="dt" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"
+ name="rk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"
+ name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"
+ name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"
+ name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"
+ name="sc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"
+ name="dc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.2"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey_MR.rdbms.bottom.fc"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classPrimitiveAttributes_LM"
+ name="classPrimitiveAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classPrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classComplexAttributes_LM" name="classComplexAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.uml.guard.t" name="t"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.uml.guard.c" name="c"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.uml.guard.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.13/@bottomPattern/@assignment.0/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.classComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.complexAttributePrimitiveAttributes_LM"
+ name="complexAttributePrimitiveAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"
+ name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.complexAttributeComplexAttributes_LM"
+ name="complexAttributeComplexAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"
+ name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"
+ name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.t"
+ name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"
+ name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"
+ name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"
+ name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.15/@bottomPattern/@assignment.3/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.attributeColumns_MR" name="attributeColumns_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.rdbms.guard.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct" name="ct"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"
+ name="c" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.middle">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.middle.guard.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.middle.guard.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ <variable xmi:id="qV.umlRdbms.attributeColumns_MR.middle.guard.a2c" name="a2c"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.p2n"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.8"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.16/@guardPattern/@predicate.4/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns_MR.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.__root__" name="__root__">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.10 #//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.12"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.13"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.21"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.22"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.23"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas
new file mode 100644
index 000000000..bd8be0fca
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtcas
@@ -0,0 +1,1665 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UmlToRdbms.qvtu.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbms.qvtu.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce uml to rdbms */"/>
+ <modelParameter xmi:id="qT.umlRdbms.uml" name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter xmi:id="qT.umlRdbms.rdbms" name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvtc:Mapping" name="packageToSchema">
+ <ownedComment body="-- Package and Schema mapping&#xA;class PackageToSchema {&#xA;composite classesToTables : Set(ClassToTable) opposites owner;&#xA;composite primitivesToNames : Set(PrimitiveToName) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlPackage : Package;&#xA;-- rdbms&#xA;schema : Schema;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <variable xmi:id="qV.umlRdbms.packageToSchema.uml.bottom.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.rdbms.bottom.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.packageToSchema.bottom.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.packageToSchema.uml.bottom.p"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.packageToSchema.bottom.p2s"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.packageToSchema.rdbms.bottom.s"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveToName" specification="#//@nestedPackage.0/@rule.2 #//@nestedPackage.0/@rule.3 #//@nestedPackage.0/@rule.4">
+ <ownedComment body="-- Primitive data type marshaling&#xA;class PrimitiveToName {&#xA;owner : PackageToSchema opposites primitivesToNames;&#xA;name : String;&#xA;-- uml&#xA;primitive : PrimitiveDataType;&#xA;-- rdbms&#xA;typeName : String;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.uml.bottom.prim" name="prim"
+ type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"
+ name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveToName.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.primitiveToName.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveToName.bottom.p2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveToName.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="integerToNumber" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.integerToNumber.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#qV.umlRdbms.integerToNumber.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="booleanToBoolean" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.booleanToBoolean.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#qV.umlRdbms.booleanToBoolean.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="stringToVarchar" refinement="#//@nestedPackage.0/@rule.1">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#qV.umlRdbms.primitiveToName.rdbms.bottom.sqlType">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.stringToVarchar.bottom.p2n" name="p2n"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveToName.uml.bottom.prim"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#qV.umlRdbms.stringToVarchar.bottom.p2n"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="flattening" specification="#//@nestedPackage.0/@rule.7 #//@nestedPackage.0/@rule.8">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classToTable">
+ <ownedComment body="query umlRdbms::getAllSupers(cls : SimpleUML::Class) : Set(SimpleUML::Class) {&#xA;cls.general->collect(gen | getAllSupers(gen))->including(cls)->asSet()&#xA;}&#xA;&#xA;query umlRdbms::getAllAttributes(cls : SimpleUML::Class) : Set( SimpleUML::Attribute) {&#xA;getAllSupers(cls)->collect(c | c.attributes)&#xA;}&#xA;&#xA;query umlRdbms::getAllForwards(cls : SimpleUML::Class) : Set( SimpleUML::Association) {&#xA;getAllSupers(cls)->collect(c | true)&#xA;}"/>
+ <ownedComment body="-- Class and Table mapping&#xA;class ClassToTable extends FromAttributeOwner, ToColumn {&#xA;owner : PackageToSchema opposites classesToTables;&#xA;composite associationToForeignKeys :&#xA;OrderedSet(AssociationToForeignKey) opposites owner;&#xA;name : String;&#xA;-- uml&#xA;umlClass : Class;&#xA;-- rdbms&#xA;table : Table;&#xA;primaryKey : Key;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.guard.p" name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.uml.bottom.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.classToTable.rdbms.guard.s" name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.rdbms.bottom.t" name="t"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.classToTable.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classToTable.guard.p2s" name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.classToTable.guard.p2s"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.classToTable.bottom.c2t" name="c2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.classToTable.uml.bottom.c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.1"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.classToTable.rdbms.bottom.t"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="pk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable name="pc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.6/@local.1/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classToTable.bottom.c2t"/>
+ </assignment>
+ </bottomPattern>
+ <local>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern/>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern/>
+ </local>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="associationToForeignKey" refinement="#//@nestedPackage.0/@rule.5">
+ <ownedComment body="-- Association and ForeignKey mapping&#xA;class AssociationToForeignKey extends ToColumn {&#xA;referenced : ClassToTable;&#xA;owner : ClassToTable opposites associationToForeignKeys;&#xA;name : String;&#xA;-- uml&#xA;association : Association;&#xA;-- rdbms&#xA;foreignKey : ForeignKey;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.p" name="p"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.sc" name="sc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.guard.dc" name="dc"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.uml.bottom.a" name="a"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.s" name="s"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.st" name="st"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.dt" name="dt"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.guard.rk" name="rk"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"
+ name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"
+ name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.p"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.p2s"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.s"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.st"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.dt"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.p2s" name="p2s"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.sc2t" name="sc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable xmi:id="qV.umlRdbms.associationToForeignKey.guard.dc2t" name="dc2t"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.sc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.guard.dc2t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.associationToForeignKey.bottom.a2f"
+ name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.dc"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.guard.sc"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.uml.bottom.a"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fk"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.bottom.a2f"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.4"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.guard.rk"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.associationToForeignKey.rdbms.bottom.fc"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributes" refinement="#//@nestedPackage.0/@rule.5"
+ specification="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10 #//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <ownedComment body="-- attribute mapping&#xA;abstract class FromAttributeOwner {&#xA;composite fromAttributes : Set(FromAttribute) opposites owner;&#xA;}&#xA;abstract class FromAttribute {&#xA;name : String;&#xA;kind : String;&#xA;owner : FromAttributeOwner opposites fromAttributes;&#xA;leafs : Set(AttributeToColumn);&#xA;-- uml&#xA;attribute : Attribute;&#xA;}&#xA;abstract class ToColumn {&#xA;-- rdbms&#xA;column : Column;&#xA;}&#xA;class NonLeafAttribute extends FromAttributeOwner, FromAttribute {&#xA;leafs := fromAttributes.leafs;&#xA;}&#xA;class AttributeToColumn extends FromAttribute, ToColumn {&#xA;type : PrimitiveToName;&#xA;}"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.guard.c" name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributes.uml.bottom.a" name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributes.bottom.fa" name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.14">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.classAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.classAttributes.guard.fao" name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern/>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="primitiveAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.13 #//@nestedPackage.0/@rule.15">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.primitiveAttribute.guard.p2n" name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.guard.p2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.primitiveAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.5"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.primitiveAttribute.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeAttributes" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.15 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.attributes.uml.guard.c"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.uml.guard.ca" name="ca"
+ type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.uml.guard.ca"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.complexAttributeAttributes.guard.fao" name="fao"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttributeAttributes.guard.fao"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#qV.umlRdbms.attributes.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttribute" refinement="#//@nestedPackage.0/@rule.8"
+ specification="#//@nestedPackage.0/@rule.14 #//@nestedPackage.0/@rule.16">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.umlRdbms.uml">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.complexAttribute.uml.guard.t" name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#qV.umlRdbms.attributes.uml.bottom.a"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#qV.umlRdbms.complexAttribute.uml.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.umlRdbms.complexAttribute.bottom.fa" name="fa"
+ type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#qV.umlRdbms.attributes.guard.fao"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.12/@local.0/@bottomPattern/@assignment.0/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#qV.umlRdbms.complexAttribute.bottom.fa"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classPrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.10">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="classComplexAttributes" refinement="#//@nestedPackage.0/@rule.9 #//@nestedPackage.0/@rule.12">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributePrimitiveAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.10">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="complexAttributeComplexAttributes" refinement="#//@nestedPackage.0/@rule.11 #//@nestedPackage.0/@rule.12">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="attributeColumns">
+ <ownedComment body="-- column mapping"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.rdbms.guard.t" name="t" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.umlRdbms.attributeColumns.rdbms.bottom.c" name="c"
+ type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.guard.t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.guard.c2t" name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.6"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.7"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.17/@bottomPattern/@predicate.0/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#qV.umlRdbms.attributeColumns.guard.c2t"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.umlRdbms.attributeColumns.bottom.a2c" name="a2c" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </assignment>
+ </bottomPattern>
+ <local>
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.umlRdbms.rdbms">
+ <guardPattern>
+ <variable name="ct" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.17/@local.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </bottomPattern>
+ </local>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.UmlToRdbmsModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#qV.umlRdbms.attributeColumns.bottom.a2c"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#qV.umlRdbms.attributeColumns.rdbms.bottom.c"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.8 #//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.10 #//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.12 #//@nestedPackage.1/@ownedType.13"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.17"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.18"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.19"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.20"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi
index 6c5369b2d..fc38886ef 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsConfig.xmi
@@ -5,29 +5,29 @@
xmlns:qvtcconfig="http://www.eclipse.org/qvt/examples/0.1/QVTcConfig"
inputDirection="//@transformation/@direction.0"
outputDirection="//@transformation/@direction.1"
- mode="enforcement"
+ mode="enforce"
middle="//@transformation/@direction.2">
<transformation
name="umlRdbms">
- <direction
- name="uml"
- imports="//@transformation/@import.0"/>
- <direction
- name="rdbms"
- imports="//@transformation/@import.1"/>
- <direction
- imports="//@transformation/@import.2"/>
<import
name="SimpleUML"
- metamodel="SimpleUML.ecore"
+ metamodelFile="UmlToRdbms/SimpleUML.ecore"
package="simpleuml"/>
<import
name="SimpleRDBMS"
- metamodel="SimpleRDBMS.ecore"
+ metamodelFile="UmlToRdbms/SimpleRDBMS.ecore"
package="simplerdbms"/>
<import
name="UMLtoRDBMS"
- metamodel="UMLtoRDBMS.ecore"
+ metamodelFile="UmlToRdbms/UMLtoRDBMS.ecore"
package="umltordbms"/>
+ <direction
+ name="uml"
+ imports="//@transformation/@import.0"/>
+ <direction
+ name="rdbms"
+ imports="//@transformation/@import.1"/>
+ <direction
+ imports="//@transformation/@import.2"/>
</transformation>
</qvtcconfig:Configuration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainment.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainment.xmi
new file mode 100644
index 000000000..86c12da5f
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainment.xmi
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qVTcDataDependencyGraph="http://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph">
+ <qVTcDataDependencyGraph:ClassNode outgoing="/2 /4 /6 /8" label="PackageToSchema" model="input"/>
+ <qVTcDataDependencyGraph:ClassNode incoming="/2" outgoing="/10 /12 /14" label="ClassToTable" model="input">
+ <superTypes>FromAttributeOwner</superTypes>
+ <superTypes>ToColumn</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/1" source="/0" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//PackageToSchema/classesToTables"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/4" label="BooleanToBoolean" model="input">
+ <superTypes>PrimitiveToName</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/3" source="/0" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//PackageToSchema/primitivesToNames"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/6" label="IntegerToNumber" model="input">
+ <superTypes>PrimitiveToName</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/5" source="/0" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//PackageToSchema/primitivesToNames"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/8" label="StringToVarchar" model="input">
+ <superTypes>PrimitiveToName</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/7" source="/0" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//PackageToSchema/primitivesToNames"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/10" label="AssociationToForeignKey" model="input">
+ <superTypes>ToColumn</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/9" source="/1" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//ClassToTable/associationsToForeignKeys"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/12 /15" label="AttributeToColumn" model="input">
+ <superTypes>FromAttribute</superTypes>
+ <superTypes>ToColumn</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/11" source="/1" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//FromAttributeOwner/fromAttributes"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ClassNode incoming="/14" outgoing="/15" label="NonLeafAttribute" model="input">
+ <superTypes>FromAttributeOwner</superTypes>
+ <superTypes>FromAttribute</superTypes>
+ </qVTcDataDependencyGraph:ClassNode>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/13" source="/1" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//FromAttributeOwner/fromAttributes"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+ <qVTcDataDependencyGraph:ContainmentEdge target="/11" source="/13" model="input">
+ <referredProperty href="UMLtoRDBMS.ecore#//FromAttributeOwner/fromAttributes"/>
+ </qVTcDataDependencyGraph:ContainmentEdge>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi
new file mode 100644
index 000000000..a1702cb58
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi
new file mode 100644
index 000000000..8cb3993bd
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsEcoreToContainmentTree.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsEcoreToContainmentTree.launch
new file mode 100644
index 000000000..c787a9666
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsEcoreToContainmentTree.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu May 08 12:55:43 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=mm&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/emf/2002/Ecore&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:55:52 BST 2014&#13;&#10;isMetamodelFileBased=true&#13;&#10;name=tree&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=false&#13;&#10;fileBasedMetamodelUri=platform\:/resource/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;metamodelUri=&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsContainmentTree.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=/org.eclipse.qvtd.build.etl/model/ECoreContainmentTree.ecore&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/utils/EcoreToContainmentTree.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi
new file mode 100644
index 000000000..9ed50de16
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qVTcDataDependencyGraph="http://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph">
+ <qVTcDataDependencyGraph:Graph name="InterMapping">
+ <elements xsi:type="qVTcDataDependencyGraph:MappingNode" label="packageToSchema_LM">
+ <qvtAstNode href="UmlToRdbms.qvtias#m.umlRdbms.packageToSchema_LM"/>
+ </elements>
+ </qVTcDataDependencyGraph:Graph>
+ <qVTcDataDependencyGraph:DependencyEdge/>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi
new file mode 100644
index 000000000..8cb3993bd
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi
new file mode 100644
index 000000000..8cb3993bd
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi
new file mode 100644
index 000000000..a9487d8f0
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSchedule.xmi
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtschedule:Schedule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qvtschedule="http://www.eclipse.org/qvt/0.1/QVTschedule/">
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.0" dataParameter="//@actions.1/@distinctArguments.0/@primaryArguments.0 //@actions.2/@distinctArguments.0/@secondaryArguments.0 //@actions.3/@distinctArguments.0/@secondaryArguments.0 //@actions.4/@distinctArguments.0/@secondaryArguments.0 //@actions.5/@distinctArguments.0/@secondaryArguments.1 //@actions.6/@distinctArguments.0/@secondaryArguments.0 //@actions.7/@distinctArguments.0/@secondaryArguments.1 //@actions.8/@distinctArguments.0/@secondaryArguments.0 //@actions.9/@distinctArguments.0/@secondaryArguments.0 //@actions.10/@distinctArguments.0/@secondaryArguments.5 //@actions.11/@distinctArguments.1/@secondaryArguments.1">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.0/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.0/@distinctArguments.0/@primaryArguments.0 //@actions.2/@distinctArguments.0/@secondaryArguments.1 //@actions.5/@distinctArguments.0/@secondaryArguments.0 //@actions.7/@distinctArguments.0/@secondaryArguments.0 //@actions.9/@distinctArguments.0/@secondaryArguments.1 //@actions.10/@distinctArguments.0/@secondaryArguments.0">
+ <type href="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.0/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.1" dataParameter="//@actions.8/@distinctArguments.0/@secondaryArguments.1 //@actions.11/@distinctArguments.1/@secondaryArguments.2">
+ <type href="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.1/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.12/@distinctArguments.0/@secondaryArguments.3 //@actions.14/@distinctArguments.1/@secondaryArguments.0 //@actions.16/@distinctArguments.0/@secondaryArguments.1">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.2/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" super="//@datums.3" sources="//@actions.2" dataParameter="//@actions.3/@distinctArguments.0/@primaryArguments.0">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.2/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.2/@distinctArguments.0/@primaryArguments.0 //@actions.5/@distinctArguments.0/@primaryArguments.0 //@actions.7/@distinctArguments.0/@primaryArguments.0 //@actions.12/@distinctArguments.0/@secondaryArguments.2 //@actions.14/@distinctArguments.1/@secondaryArguments.2">
+ <type href="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.2/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.3 //@actions.4 //@actions.6" dataParameter="//@actions.16/@distinctArguments.0/@secondaryArguments.2">
+ <type href="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.3/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" super="//@datums.3" sources="//@actions.5" dataParameter="//@actions.4/@distinctArguments.0/@primaryArguments.0">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.4/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" super="//@datums.3" sources="//@actions.7" dataParameter="//@actions.6/@distinctArguments.0/@primaryArguments.0">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.6/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.8" dataParameter="//@actions.11/@distinctArguments.0/@primaryArguments.0">
+ <type href="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.8/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.8" dataParameter="//@actions.11/@distinctArguments.1/@secondaryArguments.3 //@actions.11/@distinctArguments.1/@secondaryArguments.4 //@actions.16/@distinctArguments.0/@secondaryArguments.0">
+ <type href="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.8/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.8 //@actions.11 //@actions.16">
+ <type href="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.8/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.9" dataParameter="//@actions.8/@distinctArguments.0/@primaryArguments.0 //@actions.10/@distinctArguments.0/@secondaryArguments.2 //@actions.10/@distinctArguments.0/@secondaryArguments.3 //@actions.11/@distinctArguments.1/@secondaryArguments.0 //@actions.11/@distinctArguments.1/@secondaryArguments.5 //@actions.12/@distinctArguments.0/@secondaryArguments.0 //@actions.13/@distinctArguments.0/@secondaryArguments.2 //@actions.16/@distinctArguments.0/@secondaryArguments.3">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.8/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.9/@distinctArguments.0/@primaryArguments.0 //@actions.10/@distinctArguments.0/@secondaryArguments.1 //@actions.10/@distinctArguments.0/@secondaryArguments.4 //@actions.12/@distinctArguments.0/@secondaryArguments.1 //@actions.13/@distinctArguments.0/@secondaryArguments.0 //@actions.13/@distinctArguments.0/@secondaryArguments.1 //@actions.14/@distinctArguments.1/@secondaryArguments.1 //@actions.15/@distinctArguments.0/@secondaryArguments.0 //@actions.15/@distinctArguments.1/@secondaryArguments.0">
+ <type href="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.9/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.10" dataParameter="//@actions.11/@distinctArguments.1/@primaryArguments.0">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.10/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.10/@distinctArguments.0/@primaryArguments.0">
+ <type href="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.10/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.11">
+ <type href="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.11/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.12/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" super="//@datums.17" sources="//@actions.12 //@actions.14" dataParameter="//@actions.16/@distinctArguments.0/@primaryArguments.0">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.12/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" dataParameter="//@actions.12/@distinctArguments.0/@primaryArguments.0 //@actions.13/@distinctArguments.0/@primaryArguments.0 //@actions.14/@distinctArguments.0/@primaryArguments.0 //@actions.14/@distinctArguments.1/@primaryArguments.0 //@actions.15/@distinctArguments.0/@primaryArguments.0 //@actions.15/@distinctArguments.1/@primaryArguments.0">
+ <type href="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.12/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" super="//@datums.17" sources="//@actions.13 //@actions.15" dataParameter="//@actions.14/@distinctArguments.0/@secondaryArguments.0 //@actions.15/@distinctArguments.1/@secondaryArguments.1">
+ <type href="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ <domain href="UmlToRdbms.qvtp.qvtias#//@nestedPackage.0/@rule.13/@domain.1"/>
+ </datums>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.0" order="1" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.1">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.packageToSchema_LM.uml.guard.p"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.packageToSchema_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.2" order="2" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.packageToSchema_MR.middle.guard.p2s"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.packageToSchema_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.4" order="8" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.5">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.integerToNumber_LM.uml.guard.prim"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.integerToNumber_LM.middle.guard.p2s"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.integerToNumber_LM.uml.guard.p"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.integerToNumber_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.6" order="16" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.4">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.integerToNumber_MR.middle.guard.p2n"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.integerToNumber_MR.middle.guard.p2s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.integerToNumber_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.6" order="11" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.7">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2n"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.booleanToBoolean_MR.middle.guard.p2s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.booleanToBoolean_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.7" order="7" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.5">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.booleanToBoolean_LM.uml.guard.prim"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.booleanToBoolean_LM.uml.guard.p"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.booleanToBoolean_LM.middle.guard.p2s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.booleanToBoolean_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.6" order="12" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.8">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2n"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.stringToVarchar_MR.middle.guard.p2s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.stringToVarchar_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.8" order="9" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.5">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.stringToVarchar_LM.uml.guard.prim"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.stringToVarchar_LM.uml.guard.p"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.stringToVarchar_LM.middle.guard.p2s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.stringToVarchar_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.9 //@datums.10 //@datums.11" order="4" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classToTable_MR.middle.guard.c2t"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classToTable_MR.middle.guard.p2s"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.2">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classToTable_MR.rdbms.guard.s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.classToTable_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.12" order="3" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classToTable_LM.uml.guard.c"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classToTable_LM.middle.guard.p2s"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classToTable_LM.uml.guard.p"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.classToTable_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.14" order="5" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.15">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.uml.guard.a"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.uml.guard.p"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.uml.guard.sc"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.middle.guard.dc2t"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.middle.guard.sc2t"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.uml.guard.dc"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_LM.middle.guard.p2s"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.associationToForeignKey_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.11 //@datums.16" order="6" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.9">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.rk"/>
+ </primaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.14">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.middle.guard.a2f"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.middle.guard.dc2t"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.middle.guard.p2s"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.2">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.s"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.10">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.st"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.10">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.rdbms.guard.dt"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.associationToForeignKey_MR.middle.guard.sc2t"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.associationToForeignKey_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.18" order="10" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.19">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.a"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.fao"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.c"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.5">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classPrimitiveAttributes_LM.uml.guard.t"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classPrimitiveAttributes_LM.middle.guard.p2n"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.classPrimitiveAttributes_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.20" order="13" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.19">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classComplexAttributes_LM.uml.guard.a"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classComplexAttributes_LM.uml.guard.c"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classComplexAttributes_LM.uml.guard.t"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.classComplexAttributes_LM.middle.guard.fao"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.classComplexAttributes_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.18" order="15" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.19">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.ca"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.20">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.fao"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.19">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.a"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.middle.guard.p2n"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.c"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.5">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributePrimitiveAttributes_LM.uml.guard.t"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.complexAttributePrimitiveAttributes_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.20" order="14" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.19">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.a"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.t"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.19">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.ca"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.13">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributeComplexAttributes_LM.uml.guard.c"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.20">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.complexAttributeComplexAttributes_LM.middle.guard.fao"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.complexAttributeComplexAttributes_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.11" order="17" parent="//@actions.17">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.18">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.attributeColumns_MR.middle.guard.a2c"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.10">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.attributeColumns_MR.rdbms.guard.t"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.attributeColumns_MR.middle.guard.p2n"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.6">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.attributeColumns_MR.rdbms.guard.ct"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.12">
+ <variable href="UmlToRdbms.qvtp.qvtias#qV.umlRdbms.attributeColumns_MR.middle.guard.c2t"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.attributeColumns_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" children="//@actions.0 //@actions.1 //@actions.9 //@actions.8 //@actions.10 //@actions.11 //@actions.5 //@actions.2 //@actions.7 //@actions.12 //@actions.4 //@actions.6 //@actions.13 //@actions.15 //@actions.14 //@actions.3 //@actions.16">
+ <mapping href="UmlToRdbms.qvtp.qvtias#m.umlRdbms.__root__"/>
+ </actions>
+</qvtschedule:Schedule>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSimple.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSimple.qvtias
new file mode 100644
index 000000000..d58c40649
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsSimple.qvtias
@@ -0,0 +1,2137 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.umlRdbms" name="umlRdbms">
+ <modelParameter name="uml" usedPackage="SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter name="rdbms" usedPackage="SimpleRDBMS.ecore.oclas#P.simplerdbms"/>
+ <modelParameter name="middle" usedPackage="UMLtoRDBMS.ecore.oclas#P.umltordbms"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.packageToSchema_MR" name="packageToSchema_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@guardPattern/@variable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@guardPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.packageToSchema_LM" name="packageToSchema_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.0/@guardPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.integerToNumber_MR" name="integerToNumber_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#//@nestedPackage.0/@rule.2/@domain.0/@bottomPattern/@realizedVariable.0">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.integerToNumber_LM" name="integerToNumber_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable name="prim" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Integer"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.IntegerToNumber"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.booleanToBoolean_LM" name="booleanToBoolean_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable name="prim" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="Boolean"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.booleanToBoolean_MR" name="booleanToBoolean_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.BooleanToBoolean"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#//@nestedPackage.0/@rule.5/@domain.0/@bottomPattern/@realizedVariable.0">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="BOOLEAN"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.stringToVarchar_MR" name="stringToVarchar_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="sqlType" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.6/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.6/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.6/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.6/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:VariableAssignment" isDefault="false" targetVariable="#//@nestedPackage.0/@rule.6/@domain.0/@bottomPattern/@realizedVariable.0">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.stringToVarchar_LM" name="stringToVarchar_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable name="prim" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="String"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="VARCHAR"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.StringToVarchar"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.7/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classToTable_MR" name="classToTable_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="t" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <realizedVariable name="pk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ <realizedVariable name="pc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.1"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.primaryKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="base"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.keys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.0"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="NUMBER"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_pk"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.8/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classToTable_LM" name="classToTable_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="persistent"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.0/@guardPattern/@variable.1"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.9/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.associationToForeignKey_MR" name="associationToForeignKey_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="s" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"/>
+ <variable name="st" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable name="dt" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable name="rk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="fk" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"/>
+ <realizedVariable name="fc" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable name="sc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable name="dc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.schema">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Table.schema">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Schema"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="primary"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <source xsi:type="pivot:OperationCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OrderedCollection.first">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Key.column">
+ <source xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.3"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_tid"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.3"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.foreignKey">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.1/@guardPattern/@variable.3"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.ForeignKey.refersTo">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@guardPattern/@variable.3"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="true" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.foreignKeys">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.2"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <item xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.10/@domain.0/@bottomPattern/@realizedVariable.1"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.associationToForeignKey_LM" name="associationToForeignKey_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="p" type="SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ <variable name="sc" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="dc" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Association"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="p2s" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"/>
+ <variable name="sc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable name="dc2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="a2f" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PackageToSchema.umlPackage">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PackageToSchema"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.association">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.name">
+ <value xsi:type="pivot:IfExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:IfExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String">
+ <condition xsi:type="pivot:OperationCallExp" name="and" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <source xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.destination">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:OperationCallExp" name="&lt;>" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Association.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </argument>
+ </condition>
+ <elseExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false"
+ type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </argument>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </argument>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.1"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </argument>
+ </thenExpression>
+ </elseExpression>
+ <thenExpression xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Association"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.0/@guardPattern/@variable.3"/>
+ </thenExpression>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.referenced">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AssociationToForeignKey.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AssociationToForeignKey"
+ referredVariable="#//@nestedPackage.0/@rule.11/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classPrimitiveAttributes_LM"
+ name="classPrimitiveAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.0/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.12/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.classComplexAttributes_LM" name="classComplexAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.umlClass">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.13/@bottomPattern/@assignment.4/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.0/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.13/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.complexAttributePrimitiveAttributes_LM"
+ name="complexAttributePrimitiveAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="t" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"/>
+ <variable name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.primitive">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.PrimitiveDataType"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.0/@guardPattern/@variable.3"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:CollectionLiteralExp" type="#//@nestedPackage.1/@ownedType.3"
+ kind="Set">
+ <part xsi:type="pivot:CollectionItem" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <item xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </part>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.14/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.complexAttributeComplexAttributes_LM"
+ name="complexAttributeComplexAttributes_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="uml" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="ca" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ <variable name="c" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="t" type="SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <variable name="a" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="fao" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="fa" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.attribute">
+ <value xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <value xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.15/@bottomPattern/@assignment.3/@value/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:OperationCallExp" name="+" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%43%..ocl.String">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.NonLeafAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:StringLiteralExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ stringSymbol="_"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.0/@guardPattern/@variable.3"/>
+ </argument>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <value xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ referredVariable="#//@nestedPackage.0/@rule.15/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.attributeColumns_MR" name="attributeColumns_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="rdbms" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="t" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"/>
+ <variable name="ct" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="c" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="c2t" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"/>
+ <variable name="p2n" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"/>
+ <variable name="a2c" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ClassToTable.table">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.PrimitiveToName.typeName">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttributeOwner"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.owner">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.4"
+ implicit="true" referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.Set.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.5"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttributeOwner.fromAttributes">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.ClassToTable"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <body xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.leafs">
+ <source xsi:type="pivot:VariableExp" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" referredVariable="#//@nestedPackage.0/@rule.16/@guardPattern/@predicate.3/@conditionExpression/@source/@iterator.0"/>
+ </body>
+ <iterator name="1_" isRequired="false" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ implicit="true" representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.Set.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.AttributeToColumn.type">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.2"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.PrimitiveToName"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.name">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.ToColumn.column">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.RModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="UMLtoRDBMS.ecore.oclas#p.umltordbms.FromAttribute.kind">
+ <source xsi:type="pivot:VariableExp" type="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.1/@guardPattern/@variable.2"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Table"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleRDBMS.ecore.oclas#p.simplerdbms.Column.type">
+ <value xsi:type="pivot:VariableExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ referredVariable="#//@nestedPackage.0/@rule.16/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.umlRdbms.__base__" name="__base__">
+ <mappingCall referredMapping="#m.umlRdbms.packageToSchema_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.packageToSchema_MR"/>
+ <mappingCall referredMapping="#m.umlRdbms.classToTable_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.classToTable_MR"/>
+ <mappingCall referredMapping="#m.umlRdbms.associationToForeignKey_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.associationToForeignKey_MR"/>
+ <mappingCall referredMapping="#m.umlRdbms.classPrimitiveAttributes_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.classComplexAttributes_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.complexAttributeComplexAttributes_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.complexAttributePrimitiveAttributes_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.integerToNumber_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.integerToNumber_MR"/>
+ <mappingCall referredMapping="#m.umlRdbms.booleanToBoolean_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.booleanToBoolean_MR"/>
+ <mappingCall referredMapping="#m.umlRdbms.stringToVarchar_LM"/>
+ <mappingCall referredMapping="#m.umlRdbms.stringToVarchar_MR"/>
+ <mappingCall referredMapping="#m.umlRdbms.attributeColumns_MR"/>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.6"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.7 #//@nestedPackage.1/@ownedType.8"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.9"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.10"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.12"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.13"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.14"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.15"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.11"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.AttributeToColumn"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.16"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Key">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Key"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.Column">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.Column"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleRDBMS.ecore.oclas#T.simplerdbms.ForeignKey"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class UMLtoRDBMS.ecore.oclas#T.umltordbms.FromAttribute"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/VerySimpleUML.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/VerySimpleUML.ecore
new file mode 100644
index 000000000..d7409ea7a
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/VerySimpleUML.ecore
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simpleuml" nsURI="http://www.eclipse.org/qvt/examples/0.1/simpleUML"
+ nsPrefix="simpleuml">
+ <eClassifiers xsi:type="ecore:EClass" name="Package">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="names" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/Graph2Graph.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/Graph2Graph.xmi
new file mode 100644
index 000000000..6d499ded7
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/Graph2Graph.xmi
@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simplegraph2graph="http://http://www.eclipse.org/qvt/examples/0.1/SimpleGraph2Graph" xsi:schemaLocation="http://http://www.eclipse.org/qvt/examples/0.1/SimpleGraph2Graph SimpleGraph2Graph.ecore">
+ <simplegraph2graph:Graph2Graph name="graphone">
+ <graph1 href="SimpleGraph.xmi#/"/>
+ <graph2 href="SimpleGraphLower.xmi#/"/>
+ <element2Element xsi:type="simplegraph2graph:Node2Node" label="stansted">
+ <node1 href="SimpleGraph.xmi#//@element.2"/>
+ <node2 href="SimpleGraphLower.xmi#//@element.1"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Node2Node" label="munich">
+ <node1 href="SimpleGraph.xmi#//@element.5"/>
+ <node2 href="SimpleGraphLower.xmi#//@element.0"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Node2Node" label="stuttgart">
+ <node1 href="SimpleGraph.xmi#//@element.9"/>
+ <node2 href="SimpleGraphLower.xmi#//@element.2"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Node2Node" label="innsbruck">
+ <node1 href="SimpleGraph.xmi#//@element.7"/>
+ <node2 href="SimpleGraphLower.xmi#//@element.3"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Node2Node" label="york">
+ <node1 href="SimpleGraph.xmi#//@element.0"/>
+ <node2 href="SimpleGraphLower.xmi#//@element.4"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Edge2Edge" target="/0/@element2Element.0" source="/0/@element2Element.4">
+ <edge1 href="SimpleGraph.xmi#//@element.1"/>
+ <edge2 href="SimpleGraphLower.xmi#//@element.5"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Edge2Edge" target="/0/@element2Element.4" source="/0/@element2Element.0">
+ <edge1 href="SimpleGraph.xmi#//@element.3"/>
+ <edge2 href="SimpleGraphLower.xmi#//@element.6"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Edge2Edge" target="/0/@element2Element.0" source="/0/@element2Element.2">
+ <edge1 href="SimpleGraph.xmi#//@element.10"/>
+ <edge2 href="SimpleGraphLower.xmi#//@element.8"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Edge2Edge" target="/0/@element2Element.3" source="/0/@element2Element.1">
+ <edge1 href="SimpleGraph.xmi#//@element.6"/>
+ <edge2 href="SimpleGraphLower.xmi#//@element.10"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Edge2Edge" target="/0/@element2Element.1" source="/0/@element2Element.0">
+ <edge1 href="SimpleGraph.xmi#//@element.4"/>
+ <edge2 href="SimpleGraphLower.xmi#//@element.9"/>
+ </element2Element>
+ <element2Element xsi:type="simplegraph2graph:Edge2Edge" target="/0/@element2Element.2" source="/0/@element2Element.3">
+ <edge1 href="SimpleGraph.xmi#//@element.8"/>
+ <edge2 href="SimpleGraphLower.xmi#//@element.7"/>
+ </element2Element>
+ </simplegraph2graph:Graph2Graph>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+ <simplegraph2graph:Edge2Edge/>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.ecore
new file mode 100644
index 000000000..2b0e535f9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.ecore
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simplegraph" nsURI="http://www.eclipse.org/qvt/examples/0.1/SimpleGraph"
+ nsPrefix="simplegraph">
+ <eClassifiers xsi:type="ecore:EClass" name="Node" eSuperTypes="#//Element">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="incoming" upperBound="-1"
+ eType="#//Edge" eOpposite="#//Edge/target"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="outgoing" upperBound="-1"
+ eType="#//Edge" eOpposite="#//Edge/source"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Edge" eSuperTypes="#//Element">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Node"
+ eOpposite="#//Node/incoming"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Node"
+ eOpposite="#//Node/outgoing"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="graph" lowerBound="1" eType="#//Graph"
+ eOpposite="#//Graph/element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Graph">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" upperBound="-1"
+ eType="#//Element" containment="true" eOpposite="#//Element/graph"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.xmi
new file mode 100644
index 000000000..4526836b5
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph.xmi
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ASCII"?>
+<simplegraph:Graph xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simplegraph="http://www.eclipse.org/qvt/examples/0.1/SimpleGraph" xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/SimpleGraph SimpleGraph.ecore" name="GraphOne">
+ <element xsi:type="simplegraph:Node" incoming="//@element.3" outgoing="//@element.1" label="York"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.2" source="//@element.0"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.1 //@element.10" outgoing="//@element.4 //@element.3" label="Stansted"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.0" source="//@element.2"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.5" source="//@element.2"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.4" outgoing="//@element.6" label="Munich"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.7" source="//@element.5"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.6" outgoing="//@element.8" label="Innsbruck"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.9" source="//@element.7"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.8" outgoing="//@element.10" label="Stuttgart"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.2" source="//@element.9"/>
+</simplegraph:Graph>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2Graph.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2Graph.ecore
new file mode 100644
index 000000000..28f081cc6
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2Graph.ecore
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simplegraph2graph" nsURI="http://http://www.eclipse.org/qvt/examples/0.1/SimpleGraph2Graph"
+ nsPrefix="simplegraph2graph">
+ <eClassifiers xsi:type="ecore:EClass" name="Graph2Graph">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="graph1" eType="ecore:EClass SimpleGraph.ecore#//Graph"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="graph2" eType="ecore:EClass SimpleGraph.ecore#//Graph"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element2Element" upperBound="-1"
+ eType="#//Element2Element" containment="true" eOpposite="#//Element2Element/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Element2Element" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//Graph2Graph"
+ eOpposite="#//Graph2Graph/element2Element"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Edge2Edge" eSuperTypes="#//Element2Element">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="edge1" eType="ecore:EClass SimpleGraph.ecore#//Edge"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="edge2" eType="ecore:EClass SimpleGraph.ecore#//Edge"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="#//Node2Node"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" eType="#//Node2Node"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Node2Node" eSuperTypes="#//Element2Element">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="node1" eType="ecore:EClass SimpleGraph.ecore#//Node"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="node2" eType="ecore:EClass SimpleGraph.ecore#//Node"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="label" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2GraphContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2GraphContainmentTree.xmi
new file mode 100644
index 000000000..a1702cb58
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraph2GraphContainmentTree.xmi
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphContainmentTree.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphContainmentTree.xmi
new file mode 100644
index 000000000..93d2f641e
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphContainmentTree.xmi
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:eCoreContainemntTree="http://www.eclipse.org/qvt/examples/0.1/ECoreContainemntTree">
+ <eCoreContainemntTree:Node EClassName="simplegraph" children="/1"/>
+ <eCoreContainemntTree:Node EClassName="Graph" parent="/0" children="/2 /3"/>
+ <eCoreContainemntTree:Node EClassName="Node" parent="/1">
+ <superTypes>Element</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Edge" parent="/1">
+ <superTypes>Element</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="simplegraph" children="/5"/>
+ <eCoreContainemntTree:Node EClassName="Graph" parent="/4" children="/6 /7"/>
+ <eCoreContainemntTree:Node EClassName="Node" parent="/5">
+ <superTypes>Element</superTypes>
+ </eCoreContainemntTree:Node>
+ <eCoreContainemntTree:Node EClassName="Edge" parent="/5">
+ <superTypes>Element</superTypes>
+ </eCoreContainemntTree:Node>
+</xmi:XMI>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLower.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLower.xmi
new file mode 100644
index 000000000..0c623e86c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLower.xmi
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ASCII"?>
+<simplegraph:Graph xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simplegraph="http://www.eclipse.org/qvt/examples/0.1/SimpleGraph" xsi:schemaLocation="http://www.eclipse.org/qvt/examples/0.1/SimpleGraph SimpleGraph.ecore" name="graphone">
+ <element xsi:type="simplegraph:Node" incoming="//@element.9" outgoing="//@element.10" label="munich"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.5 //@element.8" outgoing="//@element.6 //@element.9" label="stansted"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.7" outgoing="//@element.8" label="stuttgart"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.10" outgoing="//@element.7" label="innsbruck"/>
+ <element xsi:type="simplegraph:Node" incoming="//@element.6" outgoing="//@element.5" label="york"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.1" source="//@element.4"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.4" source="//@element.1"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.2" source="//@element.3"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.1" source="//@element.2"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.0" source="//@element.1"/>
+ <element xsi:type="simplegraph:Edge" target="//@element.3" source="//@element.0"/>
+</simplegraph:Graph>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLowerValidate.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLowerValidate.xmi
new file mode 100644
index 000000000..a9437a2ca
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/SimpleGraphLowerValidate.xmi
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="ASCII"?>
+<simplegraph:Graph
+ xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:simplegraph="http://http://www.eclipse.org/qvt/examples/0.1/SimpleGraph"
+ xsi:schemaLocation="http://http://www.eclipse.org/qvt/examples/0.1/SimpleGraph SimpleGraph.ecore"
+ name="graphone">
+ <element xsi:type="simplegraph:Node"
+ incoming="//@element.3"
+ outgoing="//@element.1"
+ label="york"/>
+ <element xsi:type="simplegraph:Edge"
+ target="//@element.2"
+ source="//@element.0"/>
+ <element xsi:type="simplegraph:Node"
+ incoming="//@element.1 //@element.10"
+ outgoing="//@element.4 //@element.3"
+ label="stansted"/>
+ <element xsi:type="simplegraph:Edge"
+ target="//@element.0"
+ source="//@element.2"/>
+ <element xsi:type="simplegraph:Edge"
+ target="//@element.5"
+ source="//@element.2"/>
+ <element xsi:type="simplegraph:Node"
+ incoming="//@element.4"
+ outgoing="//@element.6"
+ label="munich"/>
+ <element xsi:type="simplegraph:Edge"
+ target="//@element.7"
+ source="//@element.5"/>
+ <element xsi:type="simplegraph:Node"
+ incoming="//@element.6"
+ outgoing="//@element.8"
+ label="innsbruck"/>
+ <element xsi:type="simplegraph:Edge"
+ target="//@element.9"
+ source="//@element.7"/>
+ <element xsi:type="simplegraph:Node"
+ incoming="//@element.8"
+ outgoing="//@element.10"
+ label="stuttgart"/>
+ <element xsi:type="simplegraph:Edge"
+ target="//@element.2"
+ source="//@element.9"/>
+</simplegraph:Graph>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower QvtuToQvti.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower QvtuToQvti.launch
new file mode 100644
index 000000000..39f994a5a
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower QvtuToQvti.launch
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
+<booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.qvtd.build.etl"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.ant.ui.classpathentry.antHome&quot;&gt;&#13;&#10;&lt;memento default=&quot;true&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/org.eclipse.qvtd.build.etl/org.eclipse.qvtd.build.ant.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
+<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.ant.ui.classpathentry.extraClasspathEntries&quot;&gt;&#13;&#10;&lt;memento/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.qvtd.build.etl"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<mapAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_PROPERTIES">
+<mapEntry key="configuration" value="UpperToLowerConfig.xmi"/>
+<mapEntry key="eclipse.pdebuild.home" value="/C:/Eclipse Kepler QVT/plugins/org.eclipse.pde.build_3.8.100.v20130514-1028/./"/>
+<mapEntry key="eclipse.pdebuild.scripts" value="/C:/Eclipse Kepler QVT/plugins/org.eclipse.pde.build_3.8.100.v20130514-1028/scripts/"/>
+<mapEntry key="eclipse.pdebuild.templates" value="/C:/Eclipse Kepler QVT/plugins/org.eclipse.pde.build_3.8.100.v20130514-1028/templates/"/>
+<mapEntry key="name" value="UpperToLower"/>
+</mapAttribute>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${workspace_loc:/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/mtc/QvtuToQvtiMtc.xml}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UpperToLower}"/>
+<stringAttribute key="process_factory_id" value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtc b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtc
new file mode 100644
index 000000000..55a7aa7b4
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtc
@@ -0,0 +1,95 @@
+import SimpleGraph : 'SimpleGraph.ecore'::simplegraph;
+import SimpleGraph2Graph : 'SimpleGraph2Graph.ecore'::simplegraph2graph;
+
+transformation UpperToLower {
+ upperGraph imports SimpleGraph;
+ lowerGraph imports SimpleGraph;
+ imports SimpleGraph2Graph;
+}
+
+/*
+ * Don't use realize keywords on the two initial domains indicates that both models must exist and at least have the root node defined?
+ */
+map graph2graph in UpperToLower {
+ check enforce upperGraph() {
+ realize g1:Graph |
+ }
+ enforce lowerGraph() {
+ /* Enforced domains should at least have one realized variable?*/
+ realize g2:Graph |
+ }
+ where () {
+ /* Although in the example is not realized, all middle model variables should be realized
+ * or does the middle model is also expected to have at least the initial element? */
+ realize g2g:Graph2Graph |
+ g2g.graph1 := g1;
+ g2g.graph2 := g2;
+ }
+ map {
+ where () {
+ g2g.name := g1.name.toLowerCase();
+ g2g.name := g2.name.toUpperCase();
+ g1.name := g2g.name;
+ g2.name := g2g.name;
+ }
+ }
+}
+
+map node2node in UpperToLower {
+ check enforce upperGraph(g1:Graph |) {
+ realize n1:Node |
+ n1.graph := g1;
+ }
+ enforce lowerGraph(g2:Graph |) {
+ realize n2:Node |
+ n2.graph := g2;
+ }
+ where (g2g:Graph2Graph |
+ g2g.graph1 = g1;
+ g2g.graph2 = g2;) {
+ realize n2n:Node2Node |
+ n2n.owner := g2g;
+ n2n.node1 := n1;
+ n2n.node2 := n2;
+ }
+ map {
+ where () {
+ n2n.label := n1.label.toLowerCase();
+ n2n.label := n2.label.toUpperCase();
+ n1.label := n2n.label;
+ n2.label := n2n.label;
+ }
+ }
+}
+
+map edge2edge in UpperToLower {
+ enforce upperGraph(g1:Graph, sn1:Node, tn1:Node |) {
+ realize e1:Edge |
+ e1.graph := g1;
+ e1.source := sn1;
+ e1.target := tn1;
+ }
+ enforce lowerGraph(g2:Graph, sn2:Node, tn2:Node |) {
+ realize e2:Edge |
+ e2.graph := g2;
+ e2.source := sn2;
+ e2.target := tn2;
+ }
+ where (g2g:Graph2Graph, sn2n:Node2Node, tn2n:Node2Node |
+ g2g.graph1 = g1;
+ g2g.graph2 = g2;
+ sn2n.owner = g2g;
+ sn2n.node1 = sn1;
+ sn2n.node2 = sn2;
+ tn2n.node1 = tn1;
+ tn2n.node2 = tn2;
+ ) {
+ realize e2e:Edge2Edge |
+ e2e.owner := g2g;
+ e2e.edge1 := e1;
+ e2e.edge2 := e2;
+ e2e.source := sn2n;
+ e2e.target := tn2n;
+
+ }
+} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtcas
new file mode 100644
index 000000000..0cd7dbe4d
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtcas
@@ -0,0 +1,423 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UpperToLower.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.UpperToLower" name="UpperToLower"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <modelParameter xmi:id="qT.UpperToLower.upperGraph" name="upperGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.lowerGraph" name="lowerGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter usedPackage="SimpleGraph2Graph.ecore.oclas#P.simplegraph2graph"/>
+ <rule xsi:type="qvtc:Mapping" name="graph2graph">
+ <ownedComment body="Don't use realize keywords on the two initial domains indicates that both models must exist and at least have the root node defined?"/>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.upperGraph.bottom.g1"
+ name="g1" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"
+ name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph">
+ <ownedComment body="Enforced domains should at least have one realized variable?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.bottom.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </realizedVariable>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toUpperCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="node2node">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="true" isEnforceable="true"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.guard.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.upperGraph.bottom.n1"
+ name="n1" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.lowerGraph.bottom.n2"
+ name="n2" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.node2node.guard.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.bottom.n2n" name="n2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toUpperCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="edge2edge">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.sn1" name="sn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.tn1" name="tn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.sn1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.tn1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.upperGraph.bottom.e1"
+ name="e1" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.sn2" name="sn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.tn2" name="tn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.sn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.tn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"
+ name="e2" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.sn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.tn2"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.sn2n" name="sn2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.tn2n" name="tn2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.bottom.e2e" name="e2e"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtias
new file mode 100644
index 000000000..9d2509bef
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtias
@@ -0,0 +1,792 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage"
+ name="UpperToLower.qvti" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvti">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.UpperToLower" name="UpperToLower">
+ <modelParameter xmi:id="qT.UpperToLower.upperGraph" name="upperGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.lowerGraph" name="lowerGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.middle" name="middle" usedPackage="SimpleGraph2Graph.ecore.oclas#P.simplegraph2graph"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.graph2graph_MR" name="graph2graph_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph_MR.lowerGraph.bottom.g2"
+ name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.graph2graph_MR.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.middle.guard.g2g"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.lowerGraph.bottom.g2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.lowerGraph.bottom.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.middle.guard.g2g"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.graph2graph_LM" name="graph2graph_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph_LM.middle.bottom.g2g"
+ name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.middle.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.middle.bottom.g2g"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.node2node_LM" name="node2node_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_LM.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.node2node_LM.upperGraph.guard.n1" name="n1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_LM.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node_LM.middle.bottom.n2n"
+ name="n2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.bottom.n2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.node2node_MR" name="node2node_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_MR.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"
+ name="n2" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_MR.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.node2node_MR.middle.guard.n2n" name="n2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.edge2edge_LM" name="edge2edge_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1" name="sn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1" name="tn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1" name="e1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.middle.guard.sn2n" name="sn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.middle.guard.tn2n" name="tn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"
+ name="e2e" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.tn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.edge2edge_MR" name="edge2edge_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2" name="sn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2" name="tn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"
+ name="e2" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.sn2n" name="sn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.tn2n" name="tn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.e2e" name="e2e"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.tn2n"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.__root__" name="__root__">
+ <guardPattern/>
+ <bottomPattern/>
+ <mappingStatement xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredType="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.UpperToLower.graph2graph_LM">
+ <binding boundVariable="#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#i.UpperToLower.__root__.0.0.g1"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.0.g1" name="g1" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredType="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.UpperToLower.graph2graph_MR">
+ <binding boundVariable="#qV.UpperToLower.graph2graph_MR.middle.guard.g2g">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#i.UpperToLower.__root__.0.1.g2g"/>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.1.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredType="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredType="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.UpperToLower.node2node_LM">
+ <binding boundVariable="#qV.UpperToLower.node2node_LM.middle.guard.g2g">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#i.UpperToLower.__root__.0.2.0.0.g2g"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#i.UpperToLower.__root__.0.2.n1"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.g1">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.2.0.0.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.2.n1" name="n1" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredType="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.UpperToLower.node2node_MR">
+ <binding boundVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#i.UpperToLower.__root__.0.3.n2n"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.node2node_MR.middle.guard.g2g">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.3.n2n" name="n2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredType="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredType="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredType="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.UpperToLower.edge2edge_LM">
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.tn2n">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#i.UpperToLower.__root__.0.4.0.0.0.0.tn2n"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#i.UpperToLower.__root__.0.4.0.0.sn2n"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#i.UpperToLower.__root__.0.4.e1"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.4.0.0.0.0.tn2n" name="tn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.4.0.0.sn2n" name="sn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.4.e1" name="e1" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </mappingStatements>
+ <mappingStatements xsi:type="qvti:MappingLoop">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclElement.allInstances">
+ <source xsi:type="pivot:TypeExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredType="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </source>
+ <body xsi:type="qvti:MappingSequence">
+ <mappingStatements xsi:type="qvti:MappingCall" referredMapping="#m.UpperToLower.edge2edge_MR">
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#i.UpperToLower.__root__.0.5.e2e"/>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.tn2n">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ </value>
+ </binding>
+ <binding boundVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ </value>
+ </binding>
+ </mappingStatements>
+ </body>
+ <iterator xmi:id="i.UpperToLower.__root__.0.5.e2e" name="e2e" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </mappingStatements>
+ </mappingStatement>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.1"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.2"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:SelfType http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#OclSelf"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtm.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtm.qvtcas
new file mode 100644
index 000000000..f264fb5ef
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtm.qvtcas
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UpperToLower.qvtm.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtm.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.UpperToLower" name="UpperToLower"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce upperGraph to lowerGraph */"/>
+ <modelParameter xmi:id="qT.UpperToLower.upperGraph" name="upperGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.lowerGraph" name="lowerGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter usedPackage="SimpleGraph2Graph.ecore.oclas#P.simplegraph2graph"/>
+ <rule xsi:type="qvtc:Mapping" name="graph2graph">
+ <ownedComment body="Don't use realize keywords on the two initial domains indicates that both models must exist and at least have the root node defined?"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <variable xmi:id="qV.UpperToLower.graph2graph.upperGraph.bottom.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"
+ name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph">
+ <ownedComment body="Enforced domains should at least have one realized variable?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.bottom.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="node2node">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.node2node.upperGraph.bottom.n1" name="n1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.lowerGraph.bottom.n2"
+ name="n2" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.node2node.guard.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.bottom.n2n" name="n2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="edge2edge">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.sn1" name="sn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.tn1" name="tn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.bottom.e1" name="e1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.sn2" name="sn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.tn2" name="tn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.sn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.tn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"
+ name="e2" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.sn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.tn2"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.sn2n" name="sn2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.tn2n" name="tn2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.bottom.e2e" name="e2e"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtp.qvtias b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtp.qvtias
new file mode 100644
index 000000000..cefc37eb4
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtp.qvtias
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvti:ImperativeModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase" xmlns:qvti="http://www.eclipse.org/qvt/0.9/QVTimperative"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage http://www.eclipse.org/qvt/0.9/QVTimperative java://org.eclipse.qvtd.pivot.qvtimperative.QVTimperativePackage"
+ name="UpperToLower.qvtp.qvti" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtp.qvti">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.UpperToLower" name="UpperToLower">
+ <modelParameter xmi:id="qT.UpperToLower.upperGraph" name="upperGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.lowerGraph" name="lowerGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.middle" name="middle" usedPackage="SimpleGraph2Graph.ecore.oclas#P.simplegraph2graph"/>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.graph2graph_MR" name="graph2graph_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph_MR.lowerGraph.bottom.g2"
+ name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph">
+ <ownedComment body="Enforced domains should at least have one realized variable?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.graph2graph_MR.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </variable>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.middle.guard.g2g"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.lowerGraph.bottom.g2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.lowerGraph.bottom.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_MR.middle.guard.g2g"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.graph2graph_LM" name="graph2graph_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph_LM.middle.bottom.g2g"
+ name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.middle.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph_LM.middle.bottom.g2g"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.node2node_LM" name="node2node_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_LM.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.node2node_LM.upperGraph.guard.n1" name="n1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_LM.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node_LM.middle.bottom.n2n"
+ name="n2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_LM.middle.bottom.n2n"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.node2node_MR" name="node2node_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_MR.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"
+ name="n2" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node_MR.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.node2node_MR.middle.guard.n2n" name="n2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node_MR.lowerGraph.bottom.n2"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.edge2edge_LM" name="edge2edge_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1" name="sn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1" name="tn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1" name="e1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.middle.guard.sn2n" name="sn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_LM.middle.guard.tn2n" name="tn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"
+ name="e2e" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.guard.tn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_LM.middle.bottom.e2e"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.edge2edge_MR" name="edge2edge_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2" name="sn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2" name="tn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"
+ name="e2" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.middle">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.sn2n" name="sn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.tn2n" name="tn2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge_MR.middle.guard.e2e" name="e2e"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.tn2n"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge_MR.lowerGraph.bottom.e2"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvti:Mapping" xmi:id="m.UpperToLower.__root__" name="__root__">
+ <guardPattern/>
+ <bottomPattern/>
+ </rule>
+ </nestedPackage>
+</qvti:ImperativeModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtu.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtu.qvtcas
new file mode 100644
index 000000000..f0a1e8c53
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtu.qvtcas
@@ -0,0 +1,406 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="UpperToLower.qvtu.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtu.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.UpperToLower" name="UpperToLower"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce upperGraph to lowerGraph */"/>
+ <modelParameter xmi:id="qT.UpperToLower.upperGraph" name="upperGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter xmi:id="qT.UpperToLower.lowerGraph" name="lowerGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter usedPackage="SimpleGraph2Graph.ecore.oclas#P.simplegraph2graph"/>
+ <rule xsi:type="qvtc:Mapping" name="graph2graph">
+ <ownedComment body="Don't use realize keywords on the two initial domains indicates that both models must exist and at least have the root node defined?"/>
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <variable xmi:id="qV.UpperToLower.graph2graph.upperGraph.bottom.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"
+ name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph">
+ <ownedComment body="Enforced domains should at least have one realized variable?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.graph2graph.bottom.g2g" name="g2g"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </realizedVariable>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.upperGraph.bottom.g1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.bottom.g2g"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.graph2graph.lowerGraph.bottom.g2"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="node2node">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.node2node.upperGraph.bottom.n1" name="n1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.node2node.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.lowerGraph.bottom.n2"
+ name="n2" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.node2node.guard.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.node2node.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.node2node.bottom.n2n" name="n2n"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.upperGraph.bottom.n1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.node2node.bottom.n2n"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.node2node.lowerGraph.bottom.n2"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="edge2edge">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="true" isEnforceable="false"
+ typedModel="#qT.UpperToLower.upperGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.g1" name="g1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.sn1" name="sn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.guard.tn1" name="tn1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.edge2edge.upperGraph.bottom.e1" name="e1"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#qT.UpperToLower.lowerGraph">
+ <guardPattern>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.g2" name="g2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.sn2" name="sn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.guard.tn2" name="tn2"
+ type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.g2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.sn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.tn2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"
+ name="e2" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.g1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.g2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.sn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.sn2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.guard.tn1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.guard.tn2"/>
+ </conditionExpression>
+ </predicate>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.g2g" name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.sn2n" name="sn2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <variable xmi:id="qV.UpperToLower.edge2edge.guard.tn2n" name="tn2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.g2g"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.upperGraph.bottom.e1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.edge2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.lowerGraph.bottom.e2"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.source">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.sn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Edge2Edge.target">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#qV.UpperToLower.edge2edge.guard.tn2n"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"
+ referredVariable="#qV.UpperToLower.edge2edge.bottom.e2e"/>
+ </assignment>
+ <realizedVariable xmi:id="qV.UpperToLower.edge2edge.bottom.e2e" name="e2e"
+ type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/GraphToGraphMinimal/UpperToLowerConfig.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerConfig.xmi
index 66eea1031..556bee2b7 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/GraphToGraphMinimal/UpperToLowerConfig.xmi
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerConfig.xmi
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="ASCII"?>
-<qvtcconfig:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qvtcconfig="http://www.eclipse.org/qvt/examples/0.1/QVTcConfig" inputDirection="//@transformation/@direction.0" outputDirection="//@transformation/@direction.1" mode="enforcement" middle="//@transformation/@direction.2">
+<qvtcconfig:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qvtcconfig="http://www.eclipse.org/qvt/examples/0.1/QVTcConfig" inputDirection="//@transformation/@direction.0" outputDirection="//@transformation/@direction.1" mode="enforce" middle="//@transformation/@direction.2">
<transformation name="copyGraph">
<direction name="upperGraph" imports="//@transformation/@import.0"/>
<direction name="lowerGraph" imports="//@transformation/@import.0"/>
<direction imports="//@transformation/@import.1"/>
- <import name="SimpleGraph" metamodel="SimpleGraph.ecore" package="simplegraph"/>
- <import name="SimpleGraph2Graph" metamodel="SimpleGraph2Graph.ecore" package="simplegraph2graph"/>
+ <import name="SimpleGraph" metamodelFile="UpperToLower/SimpleGraph.ecore" package="simplegraph"/>
+ <import name="SimpleGraph2Graph" metamodelFile="UpperToLower/SimpleGraph2Graph.ecore" package="simplegraph2graph"/>
</transformation>
</qvtcconfig:Configuration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerPartition.qvtm.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerPartition.qvtm.qvtcas
new file mode 100644
index 000000000..6e349b4e9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerPartition.qvtm.qvtcas
@@ -0,0 +1,223 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.UpperToLower" name="UpperToLower">
+ <modelParameter name="upperGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter name="lowerGraph" usedPackage="SimpleGraph.ecore.oclas#P.simplegraph"/>
+ <modelParameter name="middle" usedPackage="SimpleGraph2Graph.ecore.oclas#P.simplegraph2graph"/>
+ <rule xsi:type="qvtc:Mapping" name="graph2graph_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph">
+ <ownedComment body="Enforced domains should at least have one realized variable?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </variable>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@guardPattern/@variable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@guardPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="graph2graph_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="g1" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph">
+ <ownedComment body="Although in the example is not realized, all middle model variables should be realized&#xA;or does the middle model is also expected to have at least the initial element?"/>
+ </realizedVariable>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.name">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Graph.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.0/@guardPattern/@variable.0"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.1/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="node2node_LM">
+ <domain xsi:type="qvtcb:CoreDomain" name="upperGraph" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="g1" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <variable name="n1" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="true" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="n2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph1">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <value xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.String.toLowerCase">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.1"/>
+ </source>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node1">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.1"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="node2node_MR">
+ <domain xsi:type="qvtcb:CoreDomain" name="lowerGraph" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="g2" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Element.graph">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="n2" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="middle" isEnforceable="false" typedModel="#//@nestedPackage.0/@modelParameter.2">
+ <guardPattern>
+ <variable name="g2g" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <variable name="n2n" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ </guardPattern>
+ <bottomPattern/>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Graph2Graph.graph2">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Graph"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Element2Element.owner">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.node2">
+ <value xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.1"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleGraph.ecore.oclas#p.simplegraph.Node.label">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleGraph2Graph.ecore.oclas#p.simplegraph2graph.Node2Node.label">
+ <source xsi:type="pivot:VariableExp" type="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.1"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleGraph.ecore.oclas#T.simplegraph.Node"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </rule>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchdule.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchdule.xmi
new file mode 100644
index 000000000..643393f7c
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchdule.xmi
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtschedule:Schedule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qvtschedule="http://www.eclipse.org/qvt/0.1/QVTschedule/">
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.graph2graph_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.graph2graph_MR.middle.guard.g2g"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.graph2graph_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </primaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_LM.middle.guard.g2g"/>
+ </primaryArguments>
+ <secondaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_LM.upperGraph.guard.g1"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.node2node_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" parent="//@actions.4">
+ <distinctArguments>
+ <primaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </primaryArguments>
+ <secondaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_MR.middle.guard.g2g"/>
+ </secondaryArguments>
+ <secondaryArguments>
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.node2node_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" children="//@actions.0 //@actions.1 //@actions.2 //@actions.3">
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.__root__"/>
+ </actions>
+</qvtschedule:Schedule>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchedule.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchedule.xmi
new file mode 100644
index 000000000..5f4081d50
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLowerSchedule.xmi
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtschedule:Schedule xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:qvtschedule="http://www.eclipse.org/qvt/0.1/QVTschedule/">
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.0" dataParameter="//@actions.1/@distinctArguments.0/@primaryArguments.0 //@actions.2/@distinctArguments.1/@secondaryArguments.0 //@actions.3/@distinctArguments.0/@secondaryArguments.0 //@actions.4/@distinctArguments.2/@secondaryArguments.2 //@actions.5/@distinctArguments.0/@secondaryArguments.0">
+ <type href="SimpleGraph.ecore.oclas#T.simplegraph.Graph"/>
+ <domain href="UpperToLower.qvtp.qvtias#//@nestedPackage.0/@rule.0/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.1" dataParameter="//@actions.0/@distinctArguments.0/@primaryArguments.0 //@actions.2/@distinctArguments.0/@primaryArguments.0 //@actions.3/@distinctArguments.0/@secondaryArguments.1 //@actions.4/@distinctArguments.1/@secondaryArguments.0 //@actions.5/@distinctArguments.0/@secondaryArguments.2">
+ <type href="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Graph2Graph"/>
+ <domain href="UpperToLower.qvtp.qvtias#//@nestedPackage.0/@rule.0/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.2" dataParameter="//@actions.3/@distinctArguments.0/@primaryArguments.0 //@actions.4/@distinctArguments.0/@primaryArguments.0 //@actions.4/@distinctArguments.1/@primaryArguments.0 //@actions.5/@distinctArguments.0/@secondaryArguments.1 //@actions.5/@distinctArguments.0/@secondaryArguments.3">
+ <type href="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Node2Node"/>
+ <domain href="UpperToLower.qvtp.qvtias#//@nestedPackage.0/@rule.2/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.3" dataParameter="//@actions.2/@distinctArguments.1/@primaryArguments.0 //@actions.4/@distinctArguments.2/@secondaryArguments.0 //@actions.4/@distinctArguments.2/@secondaryArguments.1 //@actions.5/@distinctArguments.0/@secondaryArguments.4 //@actions.5/@distinctArguments.0/@secondaryArguments.5">
+ <type href="SimpleGraph.ecore.oclas#T.simplegraph.Node"/>
+ <domain href="UpperToLower.qvtp.qvtias#//@nestedPackage.0/@rule.2/@domain.0"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.4" dataParameter="//@actions.5/@distinctArguments.0/@primaryArguments.0">
+ <type href="SimpleGraph2Graph.ecore.oclas#T.simplegraph2graph.Edge2Edge"/>
+ <domain href="UpperToLower.qvtp.qvtias#//@nestedPackage.0/@rule.4/@domain.1"/>
+ </datums>
+ <datums xsi:type="qvtschedule:ClassDatum" sources="//@actions.5" dataParameter="//@actions.4/@distinctArguments.2/@primaryArguments.0">
+ <type href="SimpleGraph.ecore.oclas#T.simplegraph.Edge"/>
+ <domain href="UpperToLower.qvtp.qvtias#//@nestedPackage.0/@rule.4/@domain.0"/>
+ </datums>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.0" order="2" parent="//@actions.6">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.1">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.graph2graph_MR.middle.guard.g2g"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.graph2graph_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.1" order="1" parent="//@actions.6">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.0">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.graph2graph_LM.upperGraph.guard.g1"/>
+ </primaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.graph2graph_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.2" order="3" parent="//@actions.6">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.1">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_LM.middle.guard.g2g"/>
+ </primaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.3">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_LM.upperGraph.guard.n1"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_LM.upperGraph.guard.g1"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.node2node_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.3" order="4" parent="//@actions.6">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.2">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_MR.middle.guard.n2n"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_MR.lowerGraph.guard.g2"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.node2node_MR.middle.guard.g2g"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.node2node_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.4" order="5" parent="//@actions.6">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.2">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.middle.guard.tn2n"/>
+ </primaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.2">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.middle.guard.sn2n"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.middle.guard.g2g"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <distinctArguments>
+ <primaryArguments datum="//@datums.5">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.upperGraph.guard.e1"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.upperGraph.guard.sn1"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.upperGraph.guard.tn1"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_LM.upperGraph.guard.g1"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.edge2edge_LM"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" results="//@datums.5" order="6" parent="//@actions.6">
+ <distinctArguments>
+ <primaryArguments datum="//@datums.4">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.middle.guard.e2e"/>
+ </primaryArguments>
+ <secondaryArguments datum="//@datums.0">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.g2"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.2">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.middle.guard.tn2n"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.1">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.middle.guard.g2g"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.2">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.middle.guard.sn2n"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.sn2"/>
+ </secondaryArguments>
+ <secondaryArguments datum="//@datums.3">
+ <variable href="UpperToLower.qvtp.qvtias#qV.UpperToLower.edge2edge_MR.lowerGraph.guard.tn2"/>
+ </secondaryArguments>
+ </distinctArguments>
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.edge2edge_MR"/>
+ </actions>
+ <actions xsi:type="qvtschedule:MappingAction" children="//@actions.1 //@actions.0 //@actions.2 //@actions.3 //@actions.4 //@actions.5">
+ <mapping href="UpperToLower.qvtp.qvtias#m.UpperToLower.__root__"/>
+ </actions>
+</qvtschedule:Schedule>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UtoLGraphQVTiToText.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UtoLGraphQVTiToText.launch
new file mode 100644
index 000000000..1c03a59bc
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UtoLGraphQVTiToText.launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.egl.eclipse.dt.launching.EglLaunchConfigurationDelegate">
+<booleanAttribute key="appendToFile" value="false"/>
+<listAttribute key="defaultFormatters"/>
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<intAttribute key="generateTo" value="1"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed Sep 24 10:25:17 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=QVTi&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=QVT&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/0.9/QVTimperative,http\://www.eclipse.org/ocl/3.1.0/Pivot,http\://www.eclipse.org/qvt/0.9/QVTbase,http\://www.eclipse.org/qvt/0.9/QVTcoreBase&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtias&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/UpperToLower.qvtias&#13;&#10;expand=false&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<stringAttribute key="outputFilePath" value="/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UpperToLower/UpperToLowerPartition.qvtm.qvtc"/>
+<booleanAttribute key="produceTrace" value="false"/>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/QVTiToText.egl"/>
+<stringAttribute key="templateFactoryType" value="org.eclipse.epsilon.egl.EglFileGeneratingTemplateFactory"/>
+<stringAttribute key="traceDestination" value=""/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/GraphToGraphMinimal/build.properties b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/build.properties
index 828428016..828428016 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/GraphToGraphMinimal/build.properties
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UpperToLower/build.properties
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/SimpleOCL/SimpleOCLMergeDataDep.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/SimpleOCL/SimpleOCLMergeDataDep.graphml
new file mode 100644
index 000000000..d75570f45
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/SimpleOCL/SimpleOCLMergeDataDep.graphml
@@ -0,0 +1,636 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+ <!--Created by yEd 3.12-->
+ <key for="graphml" id="d0" yfiles.type="resources"/>
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
+ <key attr.name="url" attr.type="string" for="edge" id="d7"/>
+ <key attr.name="description" attr.type="string" for="edge" id="d8"/>
+ <key for="edge" id="d9" yfiles.type="edgegraphics"/>
+ <graph edgedefault="directed" id="G">
+ <node id="n0">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="573.4238095238095" y="210.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="106.064453125" x="-38.0322265625" y="5.6494140625">Z_to_D_1_creation</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n1">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="452.359126984127" y="210.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="106.064453125" x="-38.0322265625" y="5.6494140625">Z_to_D_2_creation</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n2">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="394.3265873015873" y="365.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="54.033203125" x="-12.0166015625" y="5.6494140625">Y1_To_B</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n3">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="254.59285714285716" y="490.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="54.033203125" x="-12.0166015625" y="5.6494140625">X_To_A2</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n4">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="324.96230158730157" y="365.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="54.6953125" x="-12.34765625" y="5.6494140625">Y2_To_C</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n5">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="406.8265873015873" y="75.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="54.033203125" x="-12.0166015625" y="5.6494140625">X_To_A1</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n6">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="232.57619047619048" y="365.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="100.076171875" x="-35.0380859375" y="5.6494140625">Z_to_D_1_update</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n7">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="162.53809523809522" y="490.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="100.076171875" x="-35.0380859375" y="5.6494140625">Z_to_D_2_update</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8" yfiles.foldertype="group">
+ <data key="d4"/>
+ <data key="d5"/>
+ <data key="d6">
+ <y:ProxyAutoBoundsNode>
+ <y:Realizers active="0">
+ <y:GroupNode>
+ <y:Geometry height="627.37646484375" width="142.5" x="-15.0" y="-37.37646484375"/>
+ <y:Fill color="#F5F5F5" transparent="false"/>
+ <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="142.5" x="0.0" y="0.0">Group 1</y:NodeLabel>
+ <y:Shape type="roundrectangle"/>
+ <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
+ <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
+ <y:BorderInsets bottom="410" bottomF="410.0" left="15" leftF="15.0" right="15" rightF="15.0" top="0" topF="0.0"/>
+ </y:GroupNode>
+ <y:GroupNode>
+ <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
+ <y:Fill color="#F5F5F5" transparent="false"/>
+ <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 1</y:NodeLabel>
+ <y:Shape type="roundrectangle"/>
+ <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
+ <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
+ <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
+ </y:GroupNode>
+ </y:Realizers>
+ </y:ProxyAutoBoundsNode>
+ </data>
+ <graph edgedefault="directed" id="n8:">
+ <node id="n8::n0">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="33.75" y="0.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="12.00390625" x="8.998046875" y="5.6494140625">X</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8::n1">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="67.5" y="75.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="18.677734375" x="5.6611328125" y="5.6494140625">Y1</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8::n2">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="22.5" y="75.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="18.677734375" x="5.6611328125" y="5.6494140625">Y2</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8::n3">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="15.0" y="135.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="11.330078125" x="9.3349609375" y="5.6494140625">Z</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ </graph>
+ </node>
+ <node id="n9" yfiles.foldertype="group">
+ <data key="d4"/>
+ <data key="d5"/>
+ <data key="d6">
+ <y:ProxyAutoBoundsNode>
+ <y:Realizers active="0">
+ <y:GroupNode>
+ <y:Geometry height="627.37646484375" width="117.5" x="641.4563492063492" y="-37.37646484375"/>
+ <y:Fill color="#F5F5F5" transparent="false"/>
+ <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="117.5" x="0.0" y="0.0">Group 2</y:NodeLabel>
+ <y:Shape type="roundrectangle"/>
+ <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
+ <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
+ <y:BorderInsets bottom="0" bottomF="0.0" left="15" leftF="15.0" right="15" rightF="15.0" top="135" topF="135.0"/>
+ </y:GroupNode>
+ <y:GroupNode>
+ <y:Geometry height="50.0" width="50.0" x="0.0" y="60.0"/>
+ <y:Fill color="#F5F5F5" transparent="false"/>
+ <y:BorderStyle color="#000000" type="dashed" width="1.0"/>
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#EBEBEB" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="22.37646484375" modelName="internal" modelPosition="t" textColor="#000000" visible="true" width="59.02685546875" x="-4.513427734375" y="0.0">Folder 2</y:NodeLabel>
+ <y:Shape type="roundrectangle"/>
+ <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
+ <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
+ <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
+ </y:GroupNode>
+ </y:Realizers>
+ </y:ProxyAutoBoundsNode>
+ </data>
+ <graph edgedefault="directed" id="n9:">
+ <node id="n9::n0">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="698.9563492063492" y="135.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="18.677734375" x="5.6611328125" y="5.6494140625">A1</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9::n1">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="691.4563492063492" y="210.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="12.00390625" x="8.998046875" y="5.6494140625">B</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9::n2">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="678.4563492063492" y="545.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="18.677734375" x="5.6611328125" y="5.6494140625">A2</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9::n3">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="675.9563492063492" y="420.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="12.666015625" x="8.6669921875" y="5.6494140625">C</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9::n4">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="671.4563492063492" y="285.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="12.666015625" x="8.6669921875" y="5.6494140625">D</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ </graph>
+ </node>
+ <edge id="n8::e0" source="n8::n0" target="n8::n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="45.0" y="60.0"/>
+ <y:Point x="82.5" y="60.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="n8::e1" source="n8::n0" target="n8::n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="n8::e2" source="n8::n2" target="n8::n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="n9::e0" source="n9::n0" target="n9::n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0"/>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="n9::e1" source="n9::n2" target="n9::n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="-15.0" tx="10.0" ty="15.0"/>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="n9::e2" source="n9::n3" target="n9::n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="-15.0" tx="12.0" ty="15.0"/>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e0" source="n8::n3" target="n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="41.25" y="185.0"/>
+ <y:Point x="588.4238095238095" y="185.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e1" source="n0" target="n9::n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="588.4238095238095" y="260.0"/>
+ <y:Point x="686.4563492063492" y="260.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e2" source="n8::n3" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="33.75" y="195.0"/>
+ <y:Point x="467.359126984127" y="195.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e3" source="n1" target="n9::n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-10.0" ty="-15.0">
+ <y:Point x="467.359126984127" y="270.0"/>
+ <y:Point x="676.4563492063492" y="270.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e4" source="n8::n1" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="82.5" y="115.0"/>
+ <y:Point x="399.3265873015873" y="115.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e5" source="n9::n4" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="686.4563492063492" y="345.0"/>
+ <y:Point x="409.3265873015873" y="345.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e6" source="n2" target="n9::n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="-11.15625" tx="10.0" ty="15.0">
+ <y:Point x="419.3265873015873" y="355.0"/>
+ <y:Point x="716.4563492063492" y="355.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e7" source="n9::n3" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="690.9563492063492" y="475.0"/>
+ <y:Point x="277.09285714285716" y="475.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e8" source="n8::n0" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="52.5" y="50.0"/>
+ <y:Point x="182.53809523809522" y="50.0"/>
+ <y:Point x="182.53809523809522" y="445.0"/>
+ <y:Point x="262.09285714285716" y="445.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e9" source="n3" target="n9::n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="269.59285714285716" y="530.0"/>
+ <y:Point x="685.9563492063492" y="530.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e10" source="n9::n4" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.0" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="680.4563492063492" y="335.0"/>
+ <y:Point x="347.46230158730157" y="335.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e11" source="n8::n2" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="45.0" y="125.0"/>
+ <y:Point x="332.46230158730157" y="125.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e12" source="n4" target="n9::n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="339.96230158730157" y="405.0"/>
+ <y:Point x="683.4563492063492" y="405.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e13" source="n8::n0" target="n5">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="60.0" y="40.0"/>
+ <y:Point x="421.8265873015873" y="40.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e14" source="n9::n1" target="n5">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="-15.0" tx="-7.5" ty="12.96875">
+ <y:Point x="698.9563492063492" y="175.0"/>
+ <y:Point x="414.3265873015873" y="175.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e15" source="n5" target="n9::n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="0.0" ty="-15.0">
+ <y:Point x="429.3265873015873" y="115.0"/>
+ <y:Point x="713.9563492063492" y="115.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e16" source="n9::n4" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.0" sy="15.0" tx="10.000000000000028" ty="-11.15625">
+ <y:Point x="674.4563492063492" y="325.0"/>
+ <y:Point x="257.5761904761905" y="325.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e17" source="n8::n3" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="26.25" y="205.0"/>
+ <y:Point x="237.57619047619048" y="205.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e18" source="n9::n1" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="696.4563492063492" y="250.0"/>
+ <y:Point x="247.57619047619048" y="250.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e19" source="n9::n3" target="n7">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="680.9563492063492" y="465.0"/>
+ <y:Point x="187.53809523809522" y="465.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e20" source="n8::n3" target="n7">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="18.75" y="215.0"/>
+ <y:Point x="167.53809523809522" y="215.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e21" source="n9::n4" target="n7">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="692.4563492063492" y="365.0"/>
+ <y:Point x="451.343253968254" y="365.0"/>
+ <y:Point x="451.343253968254" y="455.0"/>
+ <y:Point x="177.53809523809522" y="455.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="n9::e3" source="n9::n1" target="n9::n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="10.0" ty="-15.0">
+ <y:Point x="706.4563492063492" y="260.0"/>
+ <y:Point x="696.4563492063492" y="260.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ </graph>
+ <data key="d0">
+ <y:Resources/>
+ </data>
+</graphml>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/DataDepToGraphML.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/DataDepToGraphML.launch
new file mode 100644
index 000000000..19399776e
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/DataDepToGraphML.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed May 07 12:17:10 BST 2014&#13;&#10;name=gml&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;xsdFile=/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsDataDep.graphml&#13;&#10;type=XML&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsDataDep.graphml&#13;&#10;xsdUri=platform\:/resource/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:37:39 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=graph&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/GraphToGraphML.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/InterDepToGraphML.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/InterDepToGraphML.launch
new file mode 100644
index 000000000..1b1935ab0
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/InterDepToGraphML.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed May 07 14:19:45 BST 2014&#13;&#10;name=gml&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;xsdFile=/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsInterDep.graphml&#13;&#10;type=XML&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsInterDep.graphml&#13;&#10;xsdUri=platform\:/resource/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:37:57 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=graph&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsInterMap.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/GraphToGraphML.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/MergeDataDepToGraphML.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/MergeDataDepToGraphML.launch
new file mode 100644
index 000000000..5999d064d
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/MergeDataDepToGraphML.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Wed May 07 12:17:45 BST 2014&#13;&#10;name=gml&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;xsdFile=/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsMergeDataDep.graphml&#13;&#10;type=XML&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsMergeDataDep.graphml&#13;&#10;xsdUri=platform\:/resource/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:38:22 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=graph&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsMergeDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/GraphToGraphML.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/ReducedDataDepToGraphML.launch b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/ReducedDataDepToGraphML.launch
new file mode 100644
index 000000000..5b955f812
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/ReducedDataDepToGraphML.launch
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.epsilon.eol.eclipse.dt.launching.EolLaunchConfigurationDelegate">
+<booleanAttribute key="fine_grained_profiling" value="false"/>
+<listAttribute key="models">
+<listEntry value="#&#13;&#10;#Thu Jun 05 19:00:25 BST 2014&#13;&#10;name=gml&#13;&#10;readOnLoad=false&#13;&#10;storeOnDisposal=true&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;xsdFile=/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsReducedDataDep.graphml&#13;&#10;type=XML&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsReducedDataDep.graphml&#13;&#10;xsdUri=platform\:/resource/org.eclipse.qvtd.build.etl/schema/ygraphml.xsd&#13;&#10;"/>
+<listEntry value="#&#13;&#10;#Thu May 08 12:38:41 BST 2014&#13;&#10;isMetamodelFileBased=false&#13;&#10;name=graph&#13;&#10;readOnLoad=true&#13;&#10;storeOnDisposal=false&#13;&#10;aliases=&#13;&#10;cached=true&#13;&#10;fileBasedMetamodelUri=&#13;&#10;metamodelUri=http\://www.eclipse.org/qvt/examples/0.2/QVTcDataDependencyGraph&#13;&#10;modelUri=platform\:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi&#13;&#10;type=EMF&#13;&#10;modelFile=/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/UmlToRdbms/UmlToRdbmsReducedDataDep.xmi&#13;&#10;expand=true&#13;&#10;metamodelFile=&#13;&#10;"/>
+</listAttribute>
+<booleanAttribute key="profile_model_loading" value="false"/>
+<booleanAttribute key="profiling_enabled" value="false"/>
+<booleanAttribute key="reset_profiler" value="false"/>
+<stringAttribute key="source" value="/org.eclipse.qvtd.build.etl/src/org/eclipse/qvtd/build/etl/extras/GraphToGraphML.eol"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/SimpleUmlContainmentTree.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/SimpleUmlContainmentTree.graphml
new file mode 100644
index 000000000..fa882bed6
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/SimpleUmlContainmentTree.graphml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<graphml:graphml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://graphml.graphdrawing.org/xmlns"
+ xmlns:graphml="http://graphml.graphdrawing.org/xmlns/graphml" xmlns:y="http://www.yworks.com/xml/graphml"
+ xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd">
+ <graphml:graph edgedefault="directed" id="G"/>
+</graphml:graphml> \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsContainmentTree.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsContainmentTree.graphml
new file mode 100644
index 000000000..fa882bed6
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsContainmentTree.graphml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<graphml:graphml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://graphml.graphdrawing.org/xmlns"
+ xmlns:graphml="http://graphml.graphdrawing.org/xmlns/graphml" xmlns:y="http://www.yworks.com/xml/graphml"
+ xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd">
+ <graphml:graph edgedefault="directed" id="G"/>
+</graphml:graphml> \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsDataDep.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsDataDep.graphml
new file mode 100644
index 000000000..b1c9cea6f
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsDataDep.graphml
@@ -0,0 +1,1085 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<graphml:graphml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://graphml.graphdrawing.org/xmlns"
+ xmlns:graphml="http://graphml.graphdrawing.org/xmlns/graphml" xmlns:y="http://www.yworks.com/xml/graphml"
+ xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.1/graphml.xsd">
+ <graphml:key attr.name="description" attr.type="string" for="node" id="d5"/>
+ <graphml:key for="node" id="d6" yfiles.type="nodegraphics"/>
+ <graphml:key attr.name="description" attr.type="string" for="edge" id="d8"/>
+ <graphml:key for="edge" id="d9" yfiles.type="edgegraphics"/>
+ <graphml:graph edgedefault="directed" id="G">
+ <graphml:node id="n0">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>attributeColumns_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n1">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#99ccff" transparent="false"/>
+ <y:NodeLabel>Table</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n2">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>ClassToTable</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n3">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>AttributeToColumn</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n4">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>StringToVarchar</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n5">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>BooleanToBoolean</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n6">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>IntegerToNumber</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n7">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#99ccff" transparent="false"/>
+ <y:NodeLabel>Column</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n8">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill transparent="false"/>
+ <y:NodeLabel>Column.type</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n9">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill transparent="false"/>
+ <y:NodeLabel>BooleanToBoolean.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n10">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill transparent="false"/>
+ <y:NodeLabel>IntegerToNumber.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n11">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill transparent="false"/>
+ <y:NodeLabel>StringToVarchar.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n12">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>classComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n13">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff00ff" transparent="false"/>
+ <y:NodeLabel>Class</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n14">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff00ff" transparent="false"/>
+ <y:NodeLabel>Attribute</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n15">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>NonLeafAttribute</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n16">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>classToTable_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n17">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>PackageToSchema</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n18">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#99ccff" transparent="false"/>
+ <y:NodeLabel>Schema</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n19">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#99ccff" transparent="false"/>
+ <y:NodeLabel>Key</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n20">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>packageToSchema_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n21">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff00ff" transparent="false"/>
+ <y:NodeLabel>Package</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n22">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>associationToForeignKey_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n23">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ffcc00" transparent="false"/>
+ <y:NodeLabel>AssociationToForeignKey</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n24">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#99ccff" transparent="false"/>
+ <y:NodeLabel>ForeignKey</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n25">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>packageToSchema_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n26">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>classToTable_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n27">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>booleanToBoolean_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n28">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff00ff" transparent="false"/>
+ <y:NodeLabel>PrimitiveDataType</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n29">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>stringToVarchar_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n30">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>booleanToBoolean_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n31">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>complexAttributePrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n32">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>integerToNumber_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n33">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>integerToNumber_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n34">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>classPrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n35">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>complexAttributeComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n36">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>associationToForeignKey_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n37">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff00ff" transparent="false"/>
+ <y:NodeLabel>Association</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:node id="n38">
+ <graphml:data key="d5"/>
+ <graphml:data key="d6"><y:ShapeNode>
+ <y:Fill color="#ff6600" transparent="false"/>
+ <y:NodeLabel>stringToVarchar_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode></graphml:data>
+ </graphml:node>
+ <graphml:edge id="e0" source="n1" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e1" source="n2" target="n1">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e2" source="n3" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e3" source="n2" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e4" source="n3" target="n2">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e5" source="n4" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e6" source="n5" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e7" source="n6" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e8" source="n0" target="n7">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e9" source="n0" target="n8">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e10" source="n9" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e11" source="n10" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e12" source="n11" target="n0">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e13" source="n2" target="n12">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e14" source="n13" target="n12">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e15" source="n14" target="n12">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e16" source="n13" target="n12">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e17" source="n2" target="n13">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e18" source="n14" target="n13">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff00ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e19" source="n12" target="n15">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e20" source="n15" target="n2">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e21" source="n2" target="n16">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e22" source="n17" target="n16">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e23" source="n18" target="n16">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e24" source="n16" target="n1">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e25" source="n19" target="n1">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#0000ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e26" source="n16" target="n19">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e27" source="n16" target="n7">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e28" source="n21" target="n20">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e29" source="n20" target="n17">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e30" source="n1" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e31" source="n23" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e32" source="n19" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e33" source="n18" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e34" source="n1" target="n18">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#0000ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e35" source="n17" target="n18">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e36" source="n17" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e37" source="n2" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e38" source="n23" target="n2">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e39" source="n2" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e40" source="n1" target="n22">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e41" source="n22" target="n24">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e42" source="n22" target="n7">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e43" source="n24" target="n1">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#0000ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e44" source="n7" target="n1">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#0000ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e45" source="n24" target="n19">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e46" source="n17" target="n25">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e47" source="n25" target="n18">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e48" source="n13" target="n26">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e49" source="n21" target="n26">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e50" source="n17" target="n26">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e51" source="n26" target="n2">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e52" source="n28" target="n27">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e53" source="n17" target="n27">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e54" source="n21" target="n27">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e55" source="n28" target="n21">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff00ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e56" source="n27" target="n5">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e57" source="n5" target="n17">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e58" source="n28" target="n29">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e59" source="n17" target="n29">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e60" source="n21" target="n29">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e61" source="n29" target="n4">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e62" source="n4" target="n17">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e63" source="n17" target="n30">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e64" source="n5" target="n30">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e65" source="n30" target="n9">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e66" source="n14" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e67" source="n13" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e68" source="n4" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e69" source="n5" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e70" source="n6" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e71" source="n15" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e72" source="n28" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e73" source="n14" target="n28">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e74" source="n14" target="n31">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e75" source="n31" target="n3">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e76" source="n3" target="n5">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e77" source="n3" target="n15">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e78" source="n17" target="n32">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e79" source="n28" target="n32">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e80" source="n21" target="n32">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e81" source="n17" target="n21">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e82" source="n32" target="n6">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e83" source="n6" target="n17">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e84" source="n6" target="n28">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e85" source="n17" target="n33">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e86" source="n6" target="n33">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e87" source="n33" target="n10">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e88" source="n14" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e89" source="n28" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e90" source="n4" target="n28">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e91" source="n5" target="n28">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e92" source="n4" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e93" source="n6" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e94" source="n5" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e95" source="n13" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e96" source="n2" target="n34">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e97" source="n34" target="n3">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e98" source="n3" target="n14">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e99" source="n3" target="n4">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e100" source="n3" target="n6">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e101" source="n14" target="n35">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e102" source="n14" target="n35">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e103" source="n15" target="n35">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e104" source="n13" target="n35">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e105" source="n13" target="n35">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e106" source="n14" target="n13">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e107" source="n35" target="n15">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e108" source="n15" target="n14">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e109" source="n15" target="n15">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e110" source="n37" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e111" source="n13" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e112" source="n2" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff0000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e113" source="n21" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e114" source="n37" target="n21">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff00ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e115" source="n13" target="n21">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ff00ff" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e116" source="n17" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e117" source="n2" target="n17">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#ffcc00" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e118" source="n13" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e119" source="n37" target="n13">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e120" source="n2" target="n36">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e121" source="n36" target="n23">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e122" source="n23" target="n37">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e123" source="n23" target="n2">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#993366" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e124" source="n17" target="n38">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="dotted"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e125" source="n4" target="n38">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#008000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ <graphml:edge id="e126" source="n38" target="n11">
+ <graphml:data key="d9"><y:PolyLineEdge>
+ <y:LineStyle color="#000000" type="line"/>
+ <y:Arrows source="none" target="standard"/>
+ </y:PolyLineEdge></graphml:data>
+ </graphml:edge>
+ </graphml:graph>
+</graphml:graphml> \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsInterDep.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsInterDep.graphml
new file mode 100644
index 000000000..168e281f8
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsInterDep.graphml
@@ -0,0 +1,1076 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+ <!--Created by yEd 3.12-->
+ <key for="graphml" id="d0" yfiles.type="resources"/>
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
+ <key attr.name="url" attr.type="string" for="edge" id="d7"/>
+ <key attr.name="description" attr.type="string" for="edge" id="d8"/>
+ <key for="edge" id="d9" yfiles.type="edgegraphics"/>
+ <graph edgedefault="directed" id="G">
+ <node id="n0">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="764.7402684771826" y="0.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="148.73828125" x="-59.369140625" y="5.6494140625">(1) packageToSchema_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n1">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1126.398204985119" y="401.8528137423857"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="150.73046875" x="-60.365234375" y="5.6494140625">(2) packageToSchema_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n2">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="286.4906653025794" y="401.8528137423857"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.71875" x="-45.359375" y="5.6494140625">integerToNumber_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n3">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="191.05693514384922" y="667.2467530627064"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="140.7109375" x="-55.35546875" y="5.6494140625">(9) integerToNumber_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n4">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="685.6922526041667" y="401.8528137423857"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="146.095703125" x="-58.0478515625" y="5.6494140625">(8) booleanToBoolean_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n5">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="757.2402684771826" y="667.2467530627064"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="130.087890625" x="-50.0439453125" y="5.6494140625">booleanToBoolean_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n6">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="42.3505859375" y="667.2467530627064"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="114.701171875" x="-42.3505859375" y="5.6494140625">stringToVarchar_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n7">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="154.77677641369047" y="401.8528137423857"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="130.708984375" x="-50.3544921875" y="5.6494140625">(7) stringToVarchar_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="842.9093160962301" y="148.2842712474619"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="116.705078125" x="-43.3525390625" y="5.6494140625">(3) classToTable_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1048.782728794643" y="667.2467530627064"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="118.697265625" x="-44.3486328125" y="5.6494140625">(4) classToTable_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n10">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1045.782728794643" y="1009.8152955576302"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="182.740234375" x="-76.3701171875" y="5.6494140625">(6) associationToForeignKey_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n11">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="941.1585224454365" y="266.5685424949237"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="180.748046875" x="-75.3740234375" y="5.6494140625">(5) associationToForeignKey_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n12">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="555.4918557787698" y="861.5310243101683"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.044921875" x="-45.0224609375" y="5.6494140625">attributeColumns_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n13">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="358.1001891121032" y="667.2467530627064"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="151.375" x="-60.6875" y="5.6494140625">classPrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n14">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="499.266458953373" y="266.5685424949237"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="152.72265625" x="-61.361328125" y="5.6494140625">classComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n15">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="555.4918557787698" y="667.2467530627064"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="213.408203125" x="-91.7041015625" y="5.6494140625">complexAttributePrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n16">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="499.266458953373" y="401.8528137423857"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="214.755859375" x="-92.3779296875" y="5.6494140625">complexAttributeComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n17">
+ <data key="d5"/>
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1103.898204985119" y="266.5685424949237"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="29.341796875" x="0.3291015625" y="5.6494140625">Start<y:LabelModel>
+ <y:SmartNodeLabelModel distance="4.0"/>
+ </y:LabelModel>
+ <y:ModelParameter>
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+ </y:ModelParameter>
+ </y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n18">
+ <data key="d5"/>
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="555.4918557787698" y="1117.0995668050919"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="custom" textColor="#000000" visible="true" width="25.3515625" x="2.32421875" y="5.6494140625">End<y:LabelModel>
+ <y:SmartNodeLabelModel distance="4.0"/>
+ </y:LabelModel>
+ <y:ModelParameter>
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
+ </y:ModelParameter>
+ </y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <edge id="e0" source="n0" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.909090909090878" sy="10.28125" tx="7.5" ty="-12.96875">
+ <y:Point x="790.6493593862734" y="57.27272727272725"/>
+ <y:Point x="807.5187677372771" y="74.14213562373095"/>
+ <y:Point x="1134.7560693613882" y="74.14213562373095"/>
+ <y:Point x="1148.898204985119" y="88.28427124746179"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e1" source="n0" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-5.454545454545496" sy="13.96875" tx="0.0" ty="-15.0">
+ <y:Point x="774.2857230226371" y="81.81818181818198"/>
+ <y:Point x="751.9617692170881" y="104.14213562373095"/>
+ <y:Point x="315.6328009263103" y="104.14213562373095"/>
+ <y:Point x="301.4906653025794" y="118.2842712474619"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e2" source="n0" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.909090909090878" sy="10.28125" tx="-7.5" ty="-12.96875">
+ <y:Point x="768.8311775680917" y="57.27272727272725"/>
+ <y:Point x="751.961769217088" y="74.14213562373095"/>
+ <y:Point x="112.56415013265952" y="74.14213562373095"/>
+ <y:Point x="98.42201450892857" y="88.2842712474619"/>
+ <y:Point x="98.42201450892857" y="549.8203461915135"/>
+ <y:Point x="112.56415013265952" y="563.9624818152445"/>
+ <y:Point x="183.55693514384922" y="563.9624818152445"/>
+ <y:Point x="198.55693514384922" y="578.9624818152445"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e3" source="n2" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="9.90625" tx="7.5" ty="-12.96875">
+ <y:Point x="290.2406653025794" y="446.8528137423857"/>
+ <y:Point x="274.91249069940477" y="462.1809883455603"/>
+ <y:Point x="274.91249069940477" y="520.6782105677826"/>
+ <y:Point x="260.7703550756738" y="534.8203461915135"/>
+ <y:Point x="227.69907076758017" y="534.8203461915135"/>
+ <y:Point x="213.55693514384922" y="548.9624818152445"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e4" source="n0" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.727272727272748" sy="14.71875" tx="0.0" ty="-15.0">
+ <y:Point x="777.0129957499098" y="94.09090909090924"/>
+ <y:Point x="751.9617692170881" y="119.14213562373095"/>
+ <y:Point x="714.8343882278976" y="119.14213562373095"/>
+ <y:Point x="700.6922526041667" y="133.2842712474619"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e5" source="n4" target="n5">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="9.90625" tx="-7.5" ty="-12.96875">
+ <y:Point x="711.9422526041667" y="446.8528137423857"/>
+ <y:Point x="726.0843882278976" y="460.99494936611666"/>
+ <y:Point x="750.5981328534516" y="460.99494936611666"/>
+ <y:Point x="764.7402684771826" y="475.1370849898476"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e6" source="n0" target="n5">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-12.96875"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e7" source="n0" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.636363636363626" sy="6.21875" tx="-7.5" ty="-12.96875">
+ <y:Point x="766.1039048408189" y="45.0"/>
+ <y:Point x="751.961769217088" y="59.14213562373095"/>
+ <y:Point x="63.99272156123095" y="59.14213562373095"/>
+ <y:Point x="49.8505859375" y="73.2842712474619"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e8" source="n7" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="9.90625" tx="7.5" ty="-12.96875">
+ <y:Point x="158.52677641369047" y="446.8528137423857"/>
+ <y:Point x="122.20137958829365" y="483.17821056778257"/>
+ <y:Point x="122.20137958829365" y="520.6782105677826"/>
+ <y:Point x="108.0592439645627" y="534.8203461915135"/>
+ <y:Point x="78.99272156123095" y="534.8203461915135"/>
+ <y:Point x="64.8505859375" y="548.9624818152445"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e9" source="n0" target="n7">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-8.18181818181813" sy="12.59375" tx="0.0" ty="-15.0">
+ <y:Point x="771.5584502953644" y="69.54545454545462"/>
+ <y:Point x="751.9617692170881" y="89.14213562373095"/>
+ <y:Point x="183.91891203742142" y="89.14213562373095"/>
+ <y:Point x="169.77677641369047" y="103.2842712474619"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e10" source="n8" target="n9">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.125" sy="7.28125" tx="-11.25" ty="-9.90625">
+ <y:Point x="871.0343160962301" y="193.2842712474619"/>
+ <y:Point x="885.176451719961" y="207.42640687119285"/>
+ <y:Point x="1038.390593170912" y="207.42640687119285"/>
+ <y:Point x="1052.532728794643" y="221.5685424949237"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e11" source="n1" target="n9">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="11.25" ty="-9.90625">
+ <y:Point x="1141.398204985119" y="446.8528137423857"/>
+ <y:Point x="1136.398204985119" y="451.8528137423857"/>
+ <y:Point x="1136.398204985119" y="520.6782105677827"/>
+ <y:Point x="1105.2560693613882" y="551.8203461915135"/>
+ <y:Point x="1089.174864418374" y="551.8203461915135"/>
+ <y:Point x="1075.032728794643" y="565.9624818152446"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e12" source="n0" target="n9">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="8.18181818181813" sy="12.59375" tx="-3.75" ty="-14.53125">
+ <y:Point x="787.9220866590007" y="69.5454545454545"/>
+ <y:Point x="807.5187677372771" y="89.14213562373095"/>
+ <y:Point x="1045.8905931709119" y="89.14213562373095"/>
+ <y:Point x="1060.032728794643" y="103.28427124746202"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e13" source="n0" target="n8">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.727272727272748" sy="14.71875" tx="0.0" ty="-15.0">
+ <y:Point x="782.4675412044553" y="94.09090909090912"/>
+ <y:Point x="807.5187677372771" y="119.14213562373095"/>
+ <y:Point x="843.7671804724991" y="119.14213562373095"/>
+ <y:Point x="857.9093160962301" y="133.2842712474619"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e14" source="n8" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="1.875" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="859.7843160962301" y="921.5310243101683"/>
+ <y:Point x="888.926451719961" y="950.6731599338992"/>
+ <y:Point x="1039.1405931709119" y="950.6731599338992"/>
+ <y:Point x="1053.282728794643" y="964.8152955576303"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e15" source="n0" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.636363636363626" sy="6.21875" tx="13.5" ty="-6.53125">
+ <y:Point x="793.3766321135462" y="45.0"/>
+ <y:Point x="807.5187677372771" y="59.14213562373095"/>
+ <y:Point x="1208.6215455518645" y="59.14213562373095"/>
+ <y:Point x="1222.7636811755954" y="73.28427124746179"/>
+ <y:Point x="1222.7636811755954" y="921.5310243101684"/>
+ <y:Point x="1193.6215455518645" y="950.6731599338992"/>
+ <y:Point x="1088.424864418374" y="950.6731599338992"/>
+ <y:Point x="1074.282728794643" y="964.8152955576303"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e16" source="n11" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-4.5" ty="-14.28125">
+ <y:Point x="956.1585224454365" y="921.5310243101683"/>
+ <y:Point x="970.3006580691674" y="935.6731599338992"/>
+ <y:Point x="1042.140593170912" y="935.6731599338992"/>
+ <y:Point x="1056.282728794643" y="949.8152955576301"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e17" source="n9" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.5" sy="14.78125" tx="1.5" ty="-15.0">
+ <y:Point x="1066.282728794643" y="724.2467530627064"/>
+ <y:Point x="1064.282728794643" y="726.2467530627064"/>
+ <y:Point x="1064.282728794643" y="921.5310243101683"/>
+ <y:Point x="1062.282728794643" y="923.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e18" source="n1" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="11.15625" tx="10.5" ty="-10.71875">
+ <y:Point x="1151.398204985119" y="921.5310243101684"/>
+ <y:Point x="1137.2560693613882" y="935.6731599338992"/>
+ <y:Point x="1087.1405931709119" y="935.6731599338992"/>
+ <y:Point x="1071.282728794643" y="951.5310243101682"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e19" source="n8" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-1.875" sy="15.0" tx="-10.5" ty="-10.71875">
+ <y:Point x="856.0343160962301" y="932.7810243101683"/>
+ <y:Point x="888.926451719961" y="965.6731599338992"/>
+ <y:Point x="1036.1405931709119" y="965.6731599338992"/>
+ <y:Point x="1050.282728794643" y="979.8152955576303"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e20" source="n9" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.5" sy="8.28125" tx="7.5" ty="-12.96875">
+ <y:Point x="1076.282728794643" y="712.2467530627064"/>
+ <y:Point x="1078.282728794643" y="714.2467530627064"/>
+ <y:Point x="1078.282728794643" y="929.5310243101683"/>
+ <y:Point x="1068.282728794643" y="939.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e21" source="n9" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.5" sy="14.78125" tx="-1.5" ty="-15.0">
+ <y:Point x="1061.282728794643" y="712.2467530627064"/>
+ <y:Point x="1059.282728794643" y="714.2467530627064"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e22" source="n12" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="-13.5" ty="-6.53125">
+ <y:Point x="577.9918557787698" y="921.5310243101683"/>
+ <y:Point x="637.1339914025008" y="980.6731599338992"/>
+ <y:Point x="1033.1405931709119" y="980.6731599338992"/>
+ <y:Point x="1047.282728794643" y="994.8152955576303"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e23" source="n0" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="5.454545454545496" sy="13.96875" tx="10.0" ty="-11.15625">
+ <y:Point x="785.194813931728" y="81.81818181818187"/>
+ <y:Point x="807.5187677372771" y="104.14213562373095"/>
+ <y:Point x="952.0163868217055" y="104.14213562373095"/>
+ <y:Point x="966.1585224454365" y="118.2842712474619"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e24" source="n8" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="5.625" sy="13.90625" tx="-10.0" ty="-11.15625">
+ <y:Point x="863.5343160962301" y="215.7842712474619"/>
+ <y:Point x="885.176451719961" y="237.42640687119285"/>
+ <y:Point x="932.0163868217055" y="237.42640687119285"/>
+ <y:Point x="946.1585224454365" y="251.5685424949238"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e25" source="n8" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="9.375" sy="11.71875" tx="0.0" ty="-15.0">
+ <y:Point x="867.2843160962301" y="204.5342712474619"/>
+ <y:Point x="885.176451719961" y="222.42640687119285"/>
+ <y:Point x="942.0163868217055" y="222.42640687119285"/>
+ <y:Point x="956.1585224454365" y="236.5685424949238"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e26" source="n8" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.125" sy="7.28125" tx="3.75" ty="-14.53125">
+ <y:Point x="844.7843160962301" y="193.2842712474619"/>
+ <y:Point x="830.6421804724991" y="207.42640687119285"/>
+ <y:Point x="390.99232473583413" y="207.42640687119285"/>
+ <y:Point x="376.8501891121032" y="221.5685424949238"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e27" source="n2" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="14.53125" tx="-3.75" ty="-14.53125">
+ <y:Point x="305.2406653025794" y="543.9950936294516"/>
+ <y:Point x="369.3501891121032" y="608.1046174389754"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e28" source="n4" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="9.90625" tx="11.25" ty="-9.90625">
+ <y:Point x="689.4422526041667" y="446.8528137423857"/>
+ <y:Point x="677.1962208581349" y="459.0988454884175"/>
+ <y:Point x="677.1962208581349" y="520.6782105677826"/>
+ <y:Point x="603.911949610673" y="593.9624818152445"/>
+ <y:Point x="398.49232473583413" y="593.9624818152445"/>
+ <y:Point x="384.3501891121032" y="608.1046174389754"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e29" source="n7" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="14.53125" tx="-11.25" ty="-9.90625">
+ <y:Point x="173.52677641369047" y="538.9323230850857"/>
+ <y:Point x="272.69907076758017" y="638.1046174389754"/>
+ <y:Point x="347.70805348837223" y="638.1046174389754"/>
+ <y:Point x="361.8501891121032" y="652.2467530627064"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e30" source="n8" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-9.375" sy="11.71875" tx="0.0" ty="-15.0">
+ <y:Point x="848.5343160962301" y="204.5342712474619"/>
+ <y:Point x="830.6421804724991" y="222.42640687119285"/>
+ <y:Point x="528.4085945771039" y="222.42640687119285"/>
+ <y:Point x="514.266458953373" y="236.5685424949238"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e31" source="n2" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="9.90625" tx="-6.0" ty="-13.71875">
+ <y:Point x="312.7406653025794" y="520.6782105677826"/>
+ <y:Point x="356.8828009263103" y="564.8203461915135"/>
+ <y:Point x="550.3497201550389" y="564.8203461915135"/>
+ <y:Point x="564.4918557787698" y="578.9624818152445"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e32" source="n4" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="14.53125" tx="12.0" ty="-8.96875">
+ <y:Point x="696.9422526041667" y="454.3528137423857"/>
+ <y:Point x="684.6962208581349" y="466.5988454884175"/>
+ <y:Point x="684.6962208581349" y="528.1782105677826"/>
+ <y:Point x="582.4918557787698" y="630.3825756471476"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e33" source="n7" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="9.90625" tx="-12.0" ty="-8.96875">
+ <y:Point x="181.02677641369047" y="531.4323230850857"/>
+ <y:Point x="272.69907076758017" y="623.1046174389754"/>
+ <y:Point x="544.3497201550389" y="623.1046174389754"/>
+ <y:Point x="558.4918557787698" y="637.2467530627064"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e34" source="n14" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="0.0" ty="-15.0">
+ <y:Point x="506.766458953373" y="311.5685424949237"/>
+ <y:Point x="492.62432332964204" y="325.71067811865464"/>
+ <y:Point x="406.0304199739293" y="325.71067811865464"/>
+ <y:Point x="391.8882843501984" y="339.8528137423856"/>
+ <y:Point x="391.8882843501984" y="520.6782105677826"/>
+ <y:Point x="421.0304199739293" y="549.8203461915135"/>
+ <y:Point x="556.3497201550389" y="549.8203461915135"/>
+ <y:Point x="570.4918557787698" y="563.9624818152445"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e35" source="n16" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="6.0" ty="-13.71875">
+ <y:Point x="514.266458953373" y="520.6782105677826"/>
+ <y:Point x="528.4085945771039" y="534.8203461915135"/>
+ <y:Point x="562.3497201550389" y="534.8203461915135"/>
+ <y:Point x="576.4918557787698" y="548.9624818152445"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e36" source="n14" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="7.5" ty="-12.96875"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e37" source="n16" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-15.0" sy="0.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="472.62432332964204" y="416.8528137423857"/>
+ <y:Point x="458.4821877059111" y="402.71067811865476"/>
+ <y:Point x="458.4821877059111" y="382.71067811865476"/>
+ <y:Point x="472.62432332964204" y="368.5685424949238"/>
+ <y:Point x="492.62432332964204" y="368.5685424949238"/>
+ <y:Point x="506.766458953373" y="382.71067811865476"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e38" source="n2" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="14.53125" tx="-5.454545454545496" ty="-13.96875">
+ <y:Point x="297.7406653025794" y="454.3528137423857"/>
+ <y:Point x="282.41249069940477" y="469.6809883455603"/>
+ <y:Point x="282.41249069940477" y="758.2467530627064"/>
+ <y:Point x="311.5546263231357" y="787.3888886864373"/>
+ <y:Point x="544.0769928823116" y="787.3888886864373"/>
+ <y:Point x="565.0373103242243" y="808.34920612835"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e39" source="n4" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="14.53125" tx="2.727272727272748" ty="-14.71875">
+ <y:Point x="704.4422526041667" y="461.8528137423857"/>
+ <y:Point x="692.1962208581349" y="474.0988454884175"/>
+ <y:Point x="692.1962208581349" y="758.2467530627064"/>
+ <y:Point x="678.0540852344039" y="772.3888886864373"/>
+ <y:Point x="587.3612641297735" y="772.3888886864373"/>
+ <y:Point x="573.2191285060426" y="786.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e40" source="n7" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="14.53125" tx="-10.909090909090878" ty="-10.28125">
+ <y:Point x="166.02677641369047" y="454.3528137423857"/>
+ <y:Point x="129.70137958829366" y="490.67821056778257"/>
+ <y:Point x="129.70137958829366" y="758.2467530627064"/>
+ <y:Point x="188.8435152120246" y="817.3888886864373"/>
+ <y:Point x="544.0769928823116" y="817.3888886864373"/>
+ <y:Point x="559.582764869679" y="832.8946606738047"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e41" source="n8" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-5.625" sy="13.90625" tx="8.18181818181813" ty="-12.59375">
+ <y:Point x="852.2843160962301" y="758.2467530627064"/>
+ <y:Point x="808.1421804724991" y="802.3888886864373"/>
+ <y:Point x="592.8158095843189" y="802.3888886864373"/>
+ <y:Point x="578.673673960588" y="816.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e42" source="n9" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="13.636363636363626" ty="-6.21875">
+ <y:Point x="1056.282728794643" y="712.2467530627064"/>
+ <y:Point x="1054.282728794643" y="714.2467530627064"/>
+ <y:Point x="1054.282728794643" y="768.2467530627064"/>
+ <y:Point x="990.1405931709119" y="832.3888886864373"/>
+ <y:Point x="598.2703550388644" y="832.3888886864373"/>
+ <y:Point x="584.1282194151335" y="846.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e43" source="n13" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-2.727272727272748" ty="-14.71875">
+ <y:Point x="373.1001891121032" y="758.2467530627064"/>
+ <y:Point x="387.24232473583413" y="772.3888886864373"/>
+ <y:Point x="544.0769928823116" y="772.3888886864373"/>
+ <y:Point x="567.7645830514971" y="796.0764788556228"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e44" source="n15" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e45" source="n3" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-8.18181818181813" ty="-12.59375">
+ <y:Point x="206.05693514384922" y="758.2467530627064"/>
+ <y:Point x="250.19907076758017" y="802.3888886864373"/>
+ <y:Point x="544.0769928823116" y="802.3888886864373"/>
+ <y:Point x="562.3100375969517" y="820.6219334010774"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e46" source="n6" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-13.636363636363626" ty="-6.21875">
+ <y:Point x="57.3505859375" y="758.2467530627064"/>
+ <y:Point x="131.49272156123095" y="832.3888886864373"/>
+ <y:Point x="542.7133565186753" y="832.3888886864373"/>
+ <y:Point x="556.8554921424062" y="846.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e47" source="n5" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="5.454545454545496" ty="-13.96875">
+ <y:Point x="772.2402684771826" y="758.2467530627064"/>
+ <y:Point x="743.0981328534516" y="787.3888886864373"/>
+ <y:Point x="590.0885368570463" y="787.3888886864373"/>
+ <y:Point x="575.9464012333153" y="801.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e48" source="n17" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="1118.898204985119" y="371.8528137423856"/>
+ <y:Point x="1133.898204985119" y="386.8528137423856"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="dashed" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-1.9999883742559632" y="56.28427126191684">
+ <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+ </y:EdgeLabel>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e49" source="n1" target="n9">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="11.15625" tx="3.75" ty="-14.53125">
+ <y:Point x="1131.398204985119" y="446.8528137423857"/>
+ <y:Point x="1119.398204985119" y="458.8528137423857"/>
+ <y:Point x="1119.398204985119" y="522.6782105677827"/>
+ <y:Point x="1105.2560693613882" y="536.8203461915135"/>
+ <y:Point x="1081.6748644183738" y="536.8203461915135"/>
+ <y:Point x="1067.532728794643" y="550.9624818152444"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="dashed" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-13.999988374255963" y="71.7885926478607">
+ <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+ </y:EdgeLabel>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e50" source="n9" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="4.5" ty="-14.28125">
+ <y:Point x="1071.282728794643" y="921.5310243101683"/>
+ <y:Point x="1065.282728794643" y="927.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="dashed" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-1.999986049107065" y="177.25667128282453">
+ <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+ </y:EdgeLabel>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e51" source="n9" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.5" sy="8.28125" tx="10.909090909090878" ty="-10.28125">
+ <y:Point x="1051.282728794643" y="712.2467530627064"/>
+ <y:Point x="1047.282728794643" y="716.2467530627064"/>
+ <y:Point x="1047.282728794643" y="760.2467530627064"/>
+ <y:Point x="990.1405931709119" y="817.3888886864373"/>
+ <y:Point x="595.5430823115917" y="817.3888886864373"/>
+ <y:Point x="581.4009466878607" y="831.5310243101683"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="dashed" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-5.999986049107065" y="43.957568492393875">
+ <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+ </y:EdgeLabel>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e52" source="n12" target="n18">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="-7.5" ty="-12.96875"/>
+ <y:LineStyle color="#000000" type="dashed" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-2.000026545448918" y="131.25621352638018">
+ <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+ </y:EdgeLabel>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e53" source="n10" target="n18">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="1060.782728794643" y="1073.8152955576302"/>
+ <y:Point x="1046.640593170912" y="1087.957431181361"/>
+ <y:Point x="592.1339914025008" y="1087.957431181361"/>
+ <y:Point x="577.9918557787698" y="1102.0995668050919"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="dashed" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" modelName="free" modelPosition="anywhere" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" visible="true" width="4.0" x="-1.999986049107065" y="14.99998794044268">
+ <y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/>
+ </y:EdgeLabel>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ </graph>
+ <data key="d0">
+ <y:Resources/>
+ </data>
+</graphml>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsMergeDataDep.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsMergeDataDep.graphml
new file mode 100644
index 000000000..88e00d353
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsMergeDataDep.graphml
@@ -0,0 +1,1895 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+ <!--Created by yEd 3.12-->
+ <key for="graphml" id="d0" yfiles.type="resources"/>
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
+ <key attr.name="url" attr.type="string" for="edge" id="d7"/>
+ <key attr.name="description" attr.type="string" for="edge" id="d8"/>
+ <key for="edge" id="d9" yfiles.type="edgegraphics"/>
+ <graph edgedefault="directed" id="G">
+ <node id="n0">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="195.3345238095238" y="985.0"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="45.349609375" x="-7.6748046875" y="5.6494140625">Column</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n1">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="124.39722222222221" y="930.0"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="65.365234375" x="-17.6826171875" y="5.6494140625">ForeignKey</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n2">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="130.46428571428572" y="750.0"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="24.677734375" x="2.6611328125" y="5.6494140625">Key</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n3">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="51.36547619047619" y="400.0"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="48.021484375" x="-9.0107421875" y="5.6494140625">Schema</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n4">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="94.21428571428571" y="650.0"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="34.017578125" x="-2.0087890625" y="5.6494140625">Table</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n5">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1148.5130952380953" y="400.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="48.689453125" x="-9.3447265625" y="5.6494140625">Attribute</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n6">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="415.0809523809524" y="85.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="65.365234375" x="-17.6826171875" y="5.6494140625">Association</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n7">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1147.0130952380953" y="140.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="34.005859375" x="-2.0029296875" y="5.6494140625">Class</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="937.4492063492063" y="140.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="102.02734375" x="-36.013671875" y="5.6494140625">PrimitiveDataType</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="660.9996031746032" y="0.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="50.69921875" x="-10.349609375" y="5.6494140625">Package</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n10">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="969.3388888888888" y="850.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="104.04296875" x="-37.021484375" y="5.6494140625">AttributeToColumn</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n11">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="270.9373015873016" y="650.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="140.734375" x="-55.3671875" y="5.6494140625">AssociationToForeignKey</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n12">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="874.4079365079365" y="400.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="106.08203125" x="-38.041015625" y="5.6494140625">BooleanToBoolean</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n13">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="360.26626984126983" y="400.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="78.02734375" x="-24.013671875" y="5.6494140625">ClassToTable</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n14">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1179.9476190476191" y="650.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="94.05859375" x="-32.029296875" y="5.6494140625">NonLeafAttribute</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n15">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1000.3087301587302" y="400.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="98.04296875" x="-34.021484375" y="5.6494140625">IntegerToNumber</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n16">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="525.4599206349206" y="140.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="108.724609375" x="-39.3623046875" y="5.6494140625">PackageToSchema</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n17">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="534.9599206349206" y="400.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="91.369140625" x="-30.6845703125" y="5.6494140625">StringToVarchar</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n18">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="51.36547619047619" y="305.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="132.73046875" x="-51.365234375" y="5.6494140625">packageToSchema_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n19">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="536.4666666666667" y="85.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="130.73828125" x="-50.369140625" y="5.6494140625">packageToSchema_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n20">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="809.7583333333333" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="122.7109375" x="-46.35546875" y="5.6494140625">integerToNumber_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n21">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="809.7583333333333" y="650.0"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="156.068359375" x="-63.0341796875" y="5.6494140625">IntegerToNumber.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n22">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="622.1698412698413" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="130.087890625" x="-50.0439453125" y="5.6494140625">booleanToBoolean_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n23">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="622.1698412698413" y="650.0"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="164.107421875" x="-67.0537109375" y="5.6494140625">BooleanToBoolean.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n24">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="484.775" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="114.701171875" x="-42.3505859375" y="5.6494140625">stringToVarchar_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n25">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="450.4186507936508" y="650.0"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="149.39453125" x="-59.697265625" y="5.6494140625">StringToVarchar.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n26">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="863.4011904761904" y="305.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="128.095703125" x="-49.0478515625" y="5.6494140625">booleanToBoolean_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n27">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1007.8087301587302" y="305.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.71875" x="-45.359375" y="5.6494140625">integerToNumber_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n28">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="660.9996031746032" y="305.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="112.708984375" x="-41.3544921875" y="5.6494140625">stringToVarchar_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n29">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="417.9222222222222" y="305.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="98.705078125" x="-34.3525390625" y="5.6494140625">classToTable_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n30">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="111.71428571428571" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="100.697265625" x="-35.3486328125" y="5.6494140625">classToTable_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n31">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1328.3384920634921" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="152.72265625" x="-61.361328125" y="5.6494140625">classComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n32">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="990.9805555555556" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="151.375" x="-60.6875" y="5.6494140625">classPrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n33">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1326.3757936507936" y="750.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="214.755859375" x="-92.3779296875" y="5.6494140625">complexAttributeComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n34">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1082.293253968254" y="750.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="213.408203125" x="-91.7041015625" y="5.6494140625">complexAttributePrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n35">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="263.4373015873016" y="565.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="162.748046875" x="-66.3740234375" y="5.6494140625">associationToForeignKey_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n36">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="714.2238095238096" y="930.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.044921875" x="-45.0224609375" y="5.6494140625">attributeColumns_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n37">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="721.7238095238096" y="985.0"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="71.365234375" x="-20.6826171875" y="5.6494140625">Column.type</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n38">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="184.0845238095238" y="850.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="164.740234375" x="-67.3701171875" y="5.6494140625">associationToForeignKey_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <edge id="e0" source="n3" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="56.36547619047619" y="635.0"/>
+ <y:Point x="101.71428571428571" y="635.0"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e1" source="n4" target="n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.5" sy="15.0" tx="-11.25" ty="-15.0">
+ <y:Point x="96.71428571428571" y="970.0"/>
+ <y:Point x="199.0845238095238" y="970.0"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e2" source="n4" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.5" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="121.71428571428571" y="690.0"/>
+ <y:Point x="137.96428571428572" y="690.0"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e3" source="n4" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="101.71428571428571" y="915.0"/>
+ <y:Point x="131.8972222222222" y="915.0"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e4" source="n7" target="n5">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="1.5" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e5" source="n9" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.333333333333332" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="662.6662698412698" y="40.0"/>
+ <y:Point x="430.0809523809524" y="40.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e6" source="n9" target="n7">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.333333333333371" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="689.3329365079366" y="40.0"/>
+ <y:Point x="1162.0130952380953" y="40.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e7" source="n9" target="n8">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.666666666666629" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="682.6662698412698" y="60.0"/>
+ <y:Point x="952.4492063492063" y="60.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e8" source="n13" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-5.454545454545439" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="369.81150793650795" y="605.0"/>
+ <y:Point x="293.4373015873016" y="605.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e9" source="n13" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="5.454545454545439" sy="15.0" tx="-11.25" ty="-15.0">
+ <y:Point x="380.72103174603177" y="775.0"/>
+ <y:Point x="973.0888888888888" y="775.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e10" source="n13" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="8.181818181818187" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="383.4484126984127" y="615.0"/>
+ <y:Point x="1194.9476190476191" y="615.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e11" source="n14" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="11.25" ty="-15.0">
+ <y:Point x="1191.1976190476191" y="715.0"/>
+ <y:Point x="1213.997619047619" y="715.0"/>
+ <y:Point x="1213.997619047619" y="800.0"/>
+ <y:Point x="995.5888888888888" y="800.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e12" source="n14" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-15.0" sy="0.0" tx="-10.0" ty="-15.0">
+ <y:Point x="1169.4476190476191" y="665.0"/>
+ <y:Point x="1169.4476190476191" y="635.0"/>
+ <y:Point x="1184.9476190476191" y="635.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e13" source="n16" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="534.4599206349206" y="240.0"/>
+ <y:Point x="367.76626984126983" y="240.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e14" source="n16" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="546.4599206349206" y="240.0"/>
+ <y:Point x="607.6448412698413" y="240.0"/>
+ <y:Point x="607.6448412698413" y="385.0"/>
+ <y:Point x="881.9079365079365" y="385.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e15" source="n16" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="8.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="548.4599206349206" y="230.0"/>
+ <y:Point x="609.6448412698413" y="230.0"/>
+ <y:Point x="609.6448412698413" y="365.0"/>
+ <y:Point x="1007.8087301587302" y="365.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e16" source="n16" target="n17">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.0" sy="15.0" tx="-7.5" ty="-15.0"/>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e17" source="n16" target="n18">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-14.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="526.4599206349206" y="180.0"/>
+ <y:Point x="66.36547619047619" y="180.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e18" source="n18" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e19" source="n9" target="n19">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.3333333333333357" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="672.6662698412698" y="70.0"/>
+ <y:Point x="551.4666666666667" y="70.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e20" source="n19" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="551.4666666666667" y="125.0"/>
+ <y:Point x="540.4599206349206" y="125.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e21" source="n16" target="n20">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="4.0" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="544.4599206349206" y="280.0"/>
+ <y:Point x="605.6448412698413" y="280.0"/>
+ <y:Point x="605.6448412698413" y="450.0"/>
+ <y:Point x="817.2583333333333" y="450.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e22" source="n15" target="n20">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="1004.0587301587302" y="450.0"/>
+ <y:Point x="832.2583333333333" y="450.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e23" source="n20" target="n21">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e24" source="n16" target="n22">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="540.4599206349206" y="280.0"/>
+ <y:Point x="494.275" y="280.0"/>
+ <y:Point x="494.275" y="550.0"/>
+ <y:Point x="629.6698412698413" y="550.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e25" source="n12" target="n22">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="878.1579365079365" y="440.0"/>
+ <y:Point x="644.6698412698413" y="440.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e26" source="n22" target="n23">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e27" source="n17" target="n24">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="538.7099206349206" y="440.0"/>
+ <y:Point x="507.275" y="440.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e28" source="n16" target="n24">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.0" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="538.4599206349206" y="260.0"/>
+ <y:Point x="492.275" y="260.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e29" source="n24" target="n25">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="499.775" y="605.0"/>
+ <y:Point x="465.4186507936508" y="605.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e30" source="n16" target="n26">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="552.4599206349206" y="210.0"/>
+ <y:Point x="868.4011904761904" y="210.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e31" source="n9" target="n26">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.3333333333333712" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="679.3329365079366" y="70.0"/>
+ <y:Point x="878.4011904761904" y="70.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e32" source="n8" target="n26">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="946.4492063492063" y="190.0"/>
+ <y:Point x="888.4011904761904" y="190.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e33" source="n26" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="878.4011904761904" y="345.0"/>
+ <y:Point x="896.9079365079365" y="345.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e34" source="n8" target="n27">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="958.4492063492063" y="190.0"/>
+ <y:Point x="1022.8087301587302" y="190.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e35" source="n9" target="n27">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="685.9996031746032" y="50.0"/>
+ <y:Point x="1032.8087301587302" y="50.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e36" source="n16" target="n27">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="14.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="554.4599206349206" y="200.0"/>
+ <y:Point x="1012.8087301587302" y="200.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e37" source="n27" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e38" source="n16" target="n28">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="550.4599206349206" y="220.0"/>
+ <y:Point x="665.9996031746032" y="220.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e39" source="n9" target="n28">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e40" source="n8" target="n28">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="940.4492063492063" y="180.0"/>
+ <y:Point x="685.9996031746032" y="180.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e41" source="n28" target="n17">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="675.9996031746032" y="345.0"/>
+ <y:Point x="557.4599206349206" y="345.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e42" source="n16" target="n29">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-4.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="536.4599206349206" y="250.0"/>
+ <y:Point x="432.9222222222222" y="250.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e43" source="n9" target="n29">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.666666666666629" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="669.3329365079366" y="60.0"/>
+ <y:Point x="476.09722222222223" y="60.0"/>
+ <y:Point x="476.09722222222223" y="210.0"/>
+ <y:Point x="422.9222222222222" y="210.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e44" source="n7" target="n29">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.5" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="1148.5130952380953" y="270.0"/>
+ <y:Point x="442.9222222222222" y="270.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e45" source="n29" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="432.9222222222222" y="345.0"/>
+ <y:Point x="382.76626984126983" y="345.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e46" source="n16" target="n30">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="528.4599206349206" y="200.0"/>
+ <y:Point x="142.73095238095237" y="200.0"/>
+ <y:Point x="142.73095238095237" y="425.0"/>
+ <y:Point x="126.71428571428571" y="425.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e47" source="n13" target="n30">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.636363636363633" sy="15.0" tx="10.000000000000014" ty="-11.15625">
+ <y:Point x="361.6299062049062" y="440.0"/>
+ <y:Point x="136.71428571428572" y="440.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e48" source="n3" target="n30">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="76.36547619047619" y="440.0"/>
+ <y:Point x="116.71428571428571" y="440.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e49" source="n30" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="126.71428571428571" y="615.0"/>
+ <y:Point x="146.2234126984127" y="615.0"/>
+ <y:Point x="146.2234126984127" y="675.0"/>
+ <y:Point x="152.96428571428572" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e50" source="n30" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="11.15625" tx="7.5" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e51" source="n30" target="n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.000000000000014" sy="11.15625" tx="3.75" ty="-15.0">
+ <y:Point x="136.71428571428572" y="605.0"/>
+ <y:Point x="170.46428571428572" y="605.0"/>
+ <y:Point x="170.46428571428572" y="795.0"/>
+ <y:Point x="291.4547619047619" y="795.0"/>
+ <y:Point x="291.4547619047619" y="955.0"/>
+ <y:Point x="214.0845238095238" y="955.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e52" source="n13" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.636363636363637" sy="15.0" tx="-11.25" ty="-9.90625">
+ <y:Point x="388.90263347763346" y="460.0"/>
+ <y:Point x="1332.0884920634921" y="460.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e53" source="n5" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.5" sy="15.0" tx="-3.75" ty="-14.53125">
+ <y:Point x="1176.0130952380953" y="440.0"/>
+ <y:Point x="1339.5884920634921" y="440.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e54" source="n7" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="11.25" ty="-9.90625">
+ <y:Point x="1169.5130952380953" y="200.0"/>
+ <y:Point x="1354.5884920634921" y="200.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e55" source="n7" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="4.5" sy="15.0" tx="3.75" ty="-14.53125">
+ <y:Point x="1166.5130952380953" y="210.0"/>
+ <y:Point x="1347.0884920634921" y="210.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e56" source="n31" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="10.0" ty="-15.0">
+ <y:Point x="1343.3384920634921" y="605.0"/>
+ <y:Point x="1204.9476190476191" y="605.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e57" source="n12" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="-4.285714285714334" ty="-14.34375">
+ <y:Point x="900.6579365079365" y="480.0"/>
+ <y:Point x="1001.6948412698413" y="480.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e58" source="n15" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="4.285714285714334" ty="-14.34375">
+ <y:Point x="1011.5587301587302" y="480.0"/>
+ <y:Point x="1010.26626984127" y="480.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e59" source="n17" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="-8.571428571428555" ty="-12.28125">
+ <y:Point x="561.2099206349206" y="500.0"/>
+ <y:Point x="997.409126984127" y="500.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e60" source="n7" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-4.5" sy="15.0" tx="8.571428571428555" ty="-12.28125">
+ <y:Point x="1157.5130952380953" y="300.0"/>
+ <y:Point x="1099.168253968254" y="300.0"/>
+ <y:Point x="1099.168253968254" y="470.0"/>
+ <y:Point x="1014.5519841269842" y="470.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e61" source="n5" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.5" sy="15.0" tx="12.85714285714289" ty="-7.71875">
+ <y:Point x="1151.0130952380953" y="500.0"/>
+ <y:Point x="1018.8376984126985" y="500.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e62" source="n13" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.90909090909091" sy="15.0" tx="-12.85714285714289" ty="-7.71875">
+ <y:Point x="386.17536075036077" y="520.0"/>
+ <y:Point x="993.1234126984127" y="520.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e63" source="n8" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="952.4492063492063" y="470.0"/>
+ <y:Point x="1005.9805555555556" y="470.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e64" source="n32" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-3.75" ty="-15.0">
+ <y:Point x="1005.9805555555556" y="605.0"/>
+ <y:Point x="980.5888888888888" y="605.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e65" source="n5" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="2.5" ty="-14.78125">
+ <y:Point x="1171.0130952380953" y="450.0"/>
+ <y:Point x="1256.9769841269842" y="450.0"/>
+ <y:Point x="1256.9769841269842" y="675.0"/>
+ <y:Point x="1343.8757936507936" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e66" source="n14" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="-12.5" ty="-8.28125">
+ <y:Point x="1198.6976190476191" y="705.0"/>
+ <y:Point x="1328.8757936507936" y="705.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e67" source="n7" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.5" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="1172.5130952380953" y="190.0"/>
+ <y:Point x="1429.7" y="190.0"/>
+ <y:Point x="1429.7" y="675.0"/>
+ <y:Point x="1348.8757936507936" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e68" source="n5" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.5" sy="15.0" tx="-2.5" ty="-14.78125">
+ <y:Point x="1166.0130952380953" y="470.0"/>
+ <y:Point x="1251.9769841269842" y="470.0"/>
+ <y:Point x="1251.9769841269842" y="685.0"/>
+ <y:Point x="1338.8757936507936" y="685.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e69" source="n7" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.5" sy="15.0" tx="12.5" ty="-8.28125">
+ <y:Point x="1175.5130952380953" y="180.0"/>
+ <y:Point x="1432.7" y="180.0"/>
+ <y:Point x="1432.7" y="685.0"/>
+ <y:Point x="1353.8757936507936" y="685.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e70" source="n33" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="-12.96875" tx="11.25" ty="15.0">
+ <y:Point x="1333.8757936507936" y="695.0"/>
+ <y:Point x="1206.1976190476191" y="695.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e71" source="n8" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.0" sy="15.0" tx="-1.875" ty="-15.0">
+ <y:Point x="964.4492063492063" y="180.0"/>
+ <y:Point x="1109.168253968254" y="180.0"/>
+ <y:Point x="1109.168253968254" y="675.0"/>
+ <y:Point x="1095.418253968254" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e72" source="n5" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="5.625" ty="-13.90625">
+ <y:Point x="1156.0130952380953" y="510.0"/>
+ <y:Point x="1132.918253968254" y="510.0"/>
+ <y:Point x="1132.918253968254" y="695.0"/>
+ <y:Point x="1102.918253968254" y="695.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e73" source="n14" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="13.125" ty="-7.28125">
+ <y:Point x="1183.6976190476191" y="735.0"/>
+ <y:Point x="1110.418253968254" y="735.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e74" source="n5" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.5" sy="15.0" tx="9.375" ty="-11.71875">
+ <y:Point x="1161.0130952380953" y="520.0"/>
+ <y:Point x="1137.918253968254" y="520.0"/>
+ <y:Point x="1137.918253968254" y="705.0"/>
+ <y:Point x="1106.668253968254" y="705.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e75" source="n7" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-1.5" sy="15.0" tx="1.875" ty="-15.0">
+ <y:Point x="1160.5130952380953" y="310.0"/>
+ <y:Point x="1129.168253968254" y="310.0"/>
+ <y:Point x="1129.168253968254" y="685.0"/>
+ <y:Point x="1099.168253968254" y="685.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e76" source="n12" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="-9.375" ty="-11.71875">
+ <y:Point x="893.1579365079365" y="490.0"/>
+ <y:Point x="920.2928571428571" y="490.0"/>
+ <y:Point x="920.2928571428571" y="675.0"/>
+ <y:Point x="1087.918253968254" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e77" source="n15" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="-5.625" ty="-13.90625">
+ <y:Point x="1019.0587301587302" y="490.0"/>
+ <y:Point x="1091.668253968254" y="490.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e78" source="n17" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="-13.125" ty="-7.28125">
+ <y:Point x="553.7099206349206" y="530.0"/>
+ <y:Point x="736.7238095238096" y="530.0"/>
+ <y:Point x="736.7238095238096" y="690.0"/>
+ <y:Point x="1084.168253968254" y="690.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e79" source="n34" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="3.75" ty="-15.0">
+ <y:Point x="1097.293253968254" y="790.0"/>
+ <y:Point x="988.0888888888888" y="790.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e80" source="n13" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.909090909090907" sy="15.0" tx="8.571428571428555" ty="-12.28125">
+ <y:Point x="364.35717893217895" y="450.0"/>
+ <y:Point x="287.00873015873015" y="450.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e81" source="n7" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.5" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="1151.5130952380953" y="280.0"/>
+ <y:Point x="1093.168253968254" y="280.0"/>
+ <y:Point x="1093.168253968254" y="355.0"/>
+ <y:Point x="278.4376984126984" y="355.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e82" source="n9" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="-8.571428571428555" ty="-12.28125">
+ <y:Point x="665.9996031746032" y="50.0"/>
+ <y:Point x="472.7638888888889" y="50.0"/>
+ <y:Point x="472.7638888888889" y="190.0"/>
+ <y:Point x="269.86587301587304" y="190.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e83" source="n16" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-8.0" sy="15.0" tx="-4.285715063077461" ty="-14.34375000000046">
+ <y:Point x="532.4599206349206" y="230.0"/>
+ <y:Point x="274.15198412698413" y="230.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e84" source="n7" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="4.285714285714278" ty="-14.34375">
+ <y:Point x="1154.5130952380953" y="290.0"/>
+ <y:Point x="1096.168253968254" y="290.0"/>
+ <y:Point x="1096.168253968254" y="375.0"/>
+ <y:Point x="282.72301587301587" y="375.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e85" source="n13" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-8.18181818181818" sy="15.0" tx="12.857142857142833" ty="-7.71875">
+ <y:Point x="367.08445165945164" y="460.0"/>
+ <y:Point x="291.2944444444444" y="460.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e86" source="n6" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-12.857135633680533" ty="-7.718750000003582">
+ <y:Point x="430.0809523809524" y="165.0"/>
+ <y:Point x="265.5797619047619" y="165.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e87" source="n35" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e88" source="n4" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.5" sy="15.0" tx="-13.333333333333371" ty="-6.84375">
+ <y:Point x="106.71428571428571" y="905.0"/>
+ <y:Point x="715.8904761904762" y="905.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e89" source="n10" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="984.3388888888888" y="895.0"/>
+ <y:Point x="739.2238095238096" y="895.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e90" source="n12" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="6.666666666666629" ty="-13.40625">
+ <y:Point x="885.6579365079365" y="510.0"/>
+ <y:Point x="912.7928571428571" y="510.0"/>
+ <y:Point x="912.7928571428571" y="885.0"/>
+ <y:Point x="735.8904761904762" y="885.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e91" source="n15" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="13.333333333333371" ty="-6.84375">
+ <y:Point x="1026.5587301587302" y="480.0"/>
+ <y:Point x="1099.168253968254" y="480.0"/>
+ <y:Point x="1099.168253968254" y="590.0"/>
+ <y:Point x="1119.168253968254" y="590.0"/>
+ <y:Point x="1119.168253968254" y="725.0"/>
+ <y:Point x="1223.997619047619" y="725.0"/>
+ <y:Point x="1223.997619047619" y="905.0"/>
+ <y:Point x="742.5571428571429" y="905.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e92" source="n17" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="546.2099206349206" y="540.0"/>
+ <y:Point x="729.2238095238096" y="540.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e93" source="n13" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.727272727272748" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="377.9936507936508" y="895.0"/>
+ <y:Point x="719.2238095238096" y="895.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e94" source="n21" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="3.3333333333333712" ty="-14.59375">
+ <y:Point x="824.7583333333333" y="875.0"/>
+ <y:Point x="732.5571428571429" y="875.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e95" source="n23" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-3.3333333333333712" ty="-14.59375">
+ <y:Point x="637.1698412698413" y="875.0"/>
+ <y:Point x="725.8904761904762" y="875.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e96" source="n25" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-6.666666666666629" ty="-13.40625">
+ <y:Point x="465.4186507936508" y="885.0"/>
+ <y:Point x="722.5571428571429" y="885.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e97" source="n36" target="n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="11.25" ty="-15.0">
+ <y:Point x="721.7238095238096" y="970.0"/>
+ <y:Point x="221.5845238095238" y="970.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e98" source="n36" target="n37">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e99" source="n13" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.727272727272748" sy="15.0" tx="9.375" ty="-11.71875">
+ <y:Point x="372.5388888888889" y="785.0"/>
+ <y:Point x="208.4595238095238" y="785.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e100" source="n16" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="1.875" ty="-15.0">
+ <y:Point x="530.4599206349206" y="220.0"/>
+ <y:Point x="187.06309523809523" y="220.0"/>
+ <y:Point x="187.06309523809523" y="775.0"/>
+ <y:Point x="200.9595238095238" y="775.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e101" source="n11" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="5.625" ty="-13.90625">
+ <y:Point x="285.9373015873016" y="775.0"/>
+ <y:Point x="204.7095238095238" y="775.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e102" source="n4" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.5" sy="15.0" tx="-13.125" ty="-7.28125">
+ <y:Point x="111.71428571428571" y="835.0"/>
+ <y:Point x="185.9595238095238" y="835.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e103" source="n3" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-5.625" ty="-13.90625">
+ <y:Point x="66.36547619047619" y="625.0"/>
+ <y:Point x="136.2234126984127" y="625.0"/>
+ <y:Point x="136.2234126984127" y="700.0"/>
+ <y:Point x="120.46428571428571" y="700.0"/>
+ <y:Point x="120.46428571428571" y="815.0"/>
+ <y:Point x="193.4595238095238" y="815.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e104" source="n13" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="13.125" ty="-7.28125">
+ <y:Point x="375.26626984126983" y="805.0"/>
+ <y:Point x="212.2095238095238" y="805.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e105" source="n4" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="-9.375" ty="-11.71875">
+ <y:Point x="116.71428571428571" y="825.0"/>
+ <y:Point x="189.7095238095238" y="825.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e106" source="n2" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-1.875" ty="-15.0">
+ <y:Point x="145.46428571428572" y="805.0"/>
+ <y:Point x="197.2095238095238" y="805.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e107" source="n38" target="n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="-3.75" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e108" source="n38" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="7.5" ty="-15.0">
+ <y:Point x="191.5845238095238" y="890.0"/>
+ <y:Point x="146.8972222222222" y="890.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ </graph>
+ <data key="d0">
+ <y:Resources/>
+ </data>
+</graphml>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsReducedDataDep.graphml b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsReducedDataDep.graphml
new file mode 100644
index 000000000..12056c1c5
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/extras/UmlToRdbms/UmlToRdbmsReducedDataDep.graphml
@@ -0,0 +1,1916 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
+ <!--Created by yEd 3.12-->
+ <key for="graphml" id="d0" yfiles.type="resources"/>
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
+ <key attr.name="url" attr.type="string" for="edge" id="d7"/>
+ <key attr.name="description" attr.type="string" for="edge" id="d8"/>
+ <key for="edge" id="d9" yfiles.type="edgegraphics"/>
+ <graph edgedefault="directed" id="G">
+ <node id="n0">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="251.80595238095236" y="555.0"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="48.021484375" x="-9.0107421875" y="5.6494140625">Schema</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n1">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="135.609126984127" y="903.701171875"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="34.017578125" x="-2.0087890625" y="5.6494140625">Table</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n2">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="101.85912698412699" y="1368.701171875"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="45.349609375" x="-7.6748046875" y="5.6494140625">Column</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n3">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="158.109126984127" y="1038.701171875"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="24.677734375" x="2.6611328125" y="5.6494140625">Key</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n4">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="145.7920634920635" y="1293.701171875"/>
+ <y:Fill color="#99CCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="65.365234375" x="-17.6826171875" y="5.6494140625">ForeignKey</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n5">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="888.0869047619047" y="0.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="50.69921875" x="-10.349609375" y="5.6494140625">Package</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n6">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="116.19999999999999" y="105.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="65.365234375" x="-17.6826171875" y="5.6494140625">Association</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n7">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="531.2353174603174" y="150.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="34.005859375" x="-2.0029296875" y="5.6494140625">Class</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n8">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1244.411111111111" y="150.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="102.02734375" x="-36.013671875" y="5.6494140625">PrimitiveDataType</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n9">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="578.0801587301587" y="555.0"/>
+ <y:Fill color="#FF00FF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="48.689453125" x="-9.3447265625" y="5.6494140625">Attribute</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n10">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="888.0869047619047" y="150.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="108.724609375" x="-39.3623046875" y="5.6494140625">PackageToSchema</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n11">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="329.8305555555556" y="555.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="78.02734375" x="-24.013671875" y="5.6494140625">ClassToTable</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n12">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="768.8607142857143" y="555.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="106.08203125" x="-38.041015625" y="5.6494140625">BooleanToBoolean</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n13">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1007.293253968254" y="555.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="98.04296875" x="-34.021484375" y="5.6494140625">IntegerToNumber</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n14">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="897.5869047619047" y="555.0"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="91.369140625" x="-30.6845703125" y="5.6494140625">StringToVarchar</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n15">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="237.98531746031745" y="903.701171875"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="140.734375" x="-55.3671875" y="5.6494140625">AssociationToForeignKey</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n16">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="622.7813492063492" y="1203.701171875"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="104.04296875" x="-37.021484375" y="5.6494140625">AttributeToColumn</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n17">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="434.37380952380954" y="903.701171875"/>
+ <y:Fill color="#FFCC00" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="94.05859375" x="-32.029296875" y="5.6494140625">NonLeafAttribute</y:NodeLabel>
+ <y:Shape type="rectangle"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n18">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="294.16031746031746" y="450.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="132.73046875" x="-51.365234375" y="5.6494140625">packageToSchema_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n19">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="888.0869047619047" y="105.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="130.73828125" x="-50.369140625" y="5.6494140625">packageToSchema_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n20">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1257.4849206349206" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="114.701171875" x="-42.3505859375" y="5.6494140625">stringToVarchar_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n21">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1257.4849206349206" y="903.701171875"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="149.39453125" x="-59.697265625" y="5.6494140625">StringToVarchar.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n22">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="852.6547619047619" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="130.087890625" x="-50.0439453125" y="5.6494140625">booleanToBoolean_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n23">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="869.6646825396825" y="903.701171875"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="164.107421875" x="-67.0537109375" y="5.6494140625">BooleanToBoolean.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n24">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1073.0742063492064" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="122.7109375" x="-46.35546875" y="5.6494140625">integerToNumber_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n25">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1089.7531746031746" y="903.701171875"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="156.068359375" x="-63.0341796875" y="5.6494140625">IntegerToNumber.typeName</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n26">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1150.3630952380952" y="450.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="128.095703125" x="-49.0478515625" y="5.6494140625">booleanToBoolean_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n27">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="228.09722222222223" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="100.697265625" x="-35.3486328125" y="5.6494140625">classToTable_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n28">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="144.44206349206348" y="450.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="98.705078125" x="-34.3525390625" y="5.6494140625">classToTable_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n29">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1315.765873015873" y="450.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="112.708984375" x="-41.3544921875" y="5.6494140625">stringToVarchar_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n30">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="1447.479761904762" y="450.0"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.71875" x="-45.359375" y="5.6494140625">integerToNumber_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n31">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="444.37380952380954" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="152.72265625" x="-61.361328125" y="5.6494140625">classComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n32">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="659.4230158730159" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="151.375" x="-60.6875" y="5.6494140625">classPrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n33">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="504.15317460317465" y="1038.701171875"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="214.755859375" x="-92.3779296875" y="5.6494140625">complexAttributeComplexAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n34">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="748.2357142857143" y="1038.701171875"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="213.408203125" x="-91.7041015625" y="5.6494140625">complexAttributePrimitiveAttributes_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n35">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="81.37420634920635" y="759.3505859375"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="162.748046875" x="-66.3740234375" y="5.6494140625">associationToForeignKey_LM</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n36">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="873.2738095238095" y="1293.701171875"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.044921875" x="-45.0224609375" y="5.6494140625">attributeColumns_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n37">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="880.7738095238095" y="1368.701171875"/>
+ <y:Fill color="#CCCCFF" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="71.365234375" x="-20.6826171875" y="5.6494140625">Column.type</y:NodeLabel>
+ <y:Shape type="diamond"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <node id="n38">
+ <data key="d6">
+ <y:ShapeNode>
+ <y:Geometry height="30.0" width="30.0" x="225.47936507936507" y="1203.701171875"/>
+ <y:Fill color="#FF6600" transparent="false"/>
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="164.740234375" x="-67.3701171875" y="5.6494140625">associationToForeignKey_MR</y:NodeLabel>
+ <y:Shape type="ellipse"/>
+ </y:ShapeNode>
+ </data>
+ </node>
+ <edge id="e0" source="n0" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="266.80595238095236" y="660.0"/>
+ <y:Point x="308.44603174603174" y="660.0"/>
+ <y:Point x="308.44603174603174" y="864.3505859375"/>
+ <y:Point x="158.109126984127" y="864.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e1" source="n1" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.5" sy="15.0" tx="-3.75" ty="-15.0">
+ <y:Point x="138.109126984127" y="1023.701171875"/>
+ <y:Point x="113.10912698412699" y="1023.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e2" source="n1" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.5" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="148.109126984127" y="993.701171875"/>
+ <y:Point x="180.609126984127" y="993.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e3" source="n1" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="143.109126984127" y="1243.0517578125"/>
+ <y:Point x="153.2920634920635" y="1243.0517578125"/>
+ </y:Path>
+ <y:LineStyle color="#0000FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e4" source="n5" target="n6">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="893.0869047619047" y="60.0"/>
+ <y:Point x="131.2" y="60.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e5" source="n5" target="n7">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.3333333333333712" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="899.7535714285714" y="90.0"/>
+ <y:Point x="546.2353174603174" y="90.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e6" source="n5" target="n8">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.666666666666629" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="909.7535714285714" y="75.0"/>
+ <y:Point x="1259.411111111111" y="75.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e7" source="n7" target="n9">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.5" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="556.7353174603174" y="210.0"/>
+ <y:Point x="593.0801587301587" y="210.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF00FF" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e8" source="n10" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-4.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="899.0869047619047" y="330.0"/>
+ <y:Point x="390.5257936507937" y="330.0"/>
+ <y:Point x="390.5257936507937" y="489.3505859375"/>
+ <y:Point x="352.3305555555556" y="489.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e9" source="n10" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="901.0869047619047" y="345.0"/>
+ <y:Point x="685.8194444444445" y="345.0"/>
+ <y:Point x="685.8194444444445" y="480.0"/>
+ <y:Point x="776.3607142857143" y="480.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e10" source="n10" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="4.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="907.0869047619047" y="450.0"/>
+ <y:Point x="1014.793253968254" y="450.0"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e11" source="n10" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.0" sy="15.0" tx="-7.5" ty="-15.0"/>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e12" source="n11" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-5.454545454545439" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="339.3753968253968" y="879.3505859375"/>
+ <y:Point x="260.48531746031745" y="879.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e13" source="n11" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="5.454545454545439" sy="15.0" tx="-11.25" ty="-15.0">
+ <y:Point x="350.28492063492064" y="1098.701171875"/>
+ <y:Point x="626.5313492063492" y="1098.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e14" source="n11" target="n17">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="8.181818181818187" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="353.0123015873016" y="819.3505859375"/>
+ <y:Point x="449.37380952380954" y="819.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e15" source="n17" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="-3.75" ty="-15.0">
+ <y:Point x="438.12380952380954" y="948.701171875"/>
+ <y:Point x="396.775" y="948.701171875"/>
+ <y:Point x="396.775" y="1083.701171875"/>
+ <y:Point x="634.0313492063492" y="1083.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e16" source="n17" target="n17">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-15.0" sy="0.0" tx="-10.0" ty="-15.0">
+ <y:Point x="418.87380952380954" y="918.701171875"/>
+ <y:Point x="418.87380952380954" y="888.201171875"/>
+ <y:Point x="439.37380952380954" y="888.201171875"/>
+ </y:Path>
+ <y:LineStyle color="#FFCC00" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e17" source="n10" target="n18">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="897.0869047619047" y="315.0"/>
+ <y:Point x="309.16031746031746" y="315.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e18" source="n18" target="n0">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="309.16031746031746" y="495.0"/>
+ <y:Point x="266.80595238095236" y="495.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e19" source="n5" target="n19">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-1.7763568394002505E-15" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e20" source="n19" target="n10">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e21" source="n14" target="n20">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="923.8369047619047" y="615.0"/>
+ <y:Point x="1264.9849206349206" y="615.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e22" source="n10" target="n20">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="913.0869047619047" y="405.0"/>
+ <y:Point x="1244.411111111111" y="405.0"/>
+ <y:Point x="1244.411111111111" y="585.0"/>
+ <y:Point x="1279.9849206349206" y="585.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e23" source="n20" target="n21">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e24" source="n10" target="n22">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="903.0869047619047" y="360.0"/>
+ <y:Point x="851.9019841269841" y="360.0"/>
+ <y:Point x="851.9019841269841" y="600.0"/>
+ <y:Point x="875.1547619047619" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e25" source="n12" target="n22">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="795.1107142857143" y="615.0"/>
+ <y:Point x="860.1547619047619" y="615.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e26" source="n22" target="n23">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="867.6547619047619" y="804.3505859375"/>
+ <y:Point x="884.6646825396825" y="804.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e27" source="n10" target="n24">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.0" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="909.0869047619047" y="435.0"/>
+ <y:Point x="1086.3150793650793" y="435.0"/>
+ <y:Point x="1086.3150793650793" y="585.0"/>
+ <y:Point x="1095.5742063492064" y="585.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e28" source="n13" target="n24">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="-7.5" ty="-12.96875">
+ <y:Point x="1033.543253968254" y="600.0"/>
+ <y:Point x="1080.5742063492064" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e29" source="n24" target="n25">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="1088.0742063492064" y="804.3505859375"/>
+ <y:Point x="1104.7531746031746" y="804.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e30" source="n5" target="n26">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.3333333333333712" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="906.4202380952381" y="90.0"/>
+ <y:Point x="1165.3630952380952" y="90.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e31" source="n10" target="n26">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="8.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="911.0869047619047" y="420.0"/>
+ <y:Point x="1155.3630952380952" y="420.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e32" source="n8" target="n26">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="1253.411111111111" y="390.0"/>
+ <y:Point x="1175.3630952380952" y="390.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e33" source="n26" target="n12">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="1165.3630952380952" y="495.0"/>
+ <y:Point x="791.3607142857143" y="495.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e34" source="n10" target="n27">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-8.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="895.0869047619047" y="300.0"/>
+ <y:Point x="227.79484126984127" y="300.0"/>
+ <y:Point x="227.79484126984127" y="600.0"/>
+ <y:Point x="233.09722222222223" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e35" source="n11" target="n27">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-8.18181818181818" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="336.6487373737374" y="675.0"/>
+ <y:Point x="253.09722222222223" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e36" source="n0" target="n27">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="256.80595238095236" y="600.0"/>
+ <y:Point x="243.09722222222223" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e37" source="n27" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="11.15625" tx="-11.25" ty="-15.0">
+ <y:Point x="233.09722222222223" y="804.3505859375"/>
+ <y:Point x="103.6" y="804.3505859375"/>
+ <y:Point x="103.6" y="1323.701171875"/>
+ <y:Point x="105.60912698412699" y="1323.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e38" source="n27" target="n3">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="243.09722222222223" y="819.3505859375"/>
+ <y:Point x="118.6" y="819.3505859375"/>
+ <y:Point x="118.6" y="1008.701171875"/>
+ <y:Point x="165.609126984127" y="1008.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e39" source="n27" target="n1">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="11.15625" tx="-7.5" ty="-15.0">
+ <y:Point x="253.09722222222223" y="834.3505859375"/>
+ <y:Point x="143.109126984127" y="834.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e40" source="n10" target="n28">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-14.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="889.0869047619047" y="255.0"/>
+ <y:Point x="169.44206349206348" y="255.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e41" source="n7" target="n28">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="538.7353174603174" y="240.0"/>
+ <y:Point x="159.44206349206348" y="240.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e42" source="n5" target="n28">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-6.666666666666629" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="896.4202380952381" y="75.0"/>
+ <y:Point x="514.2321428571429" y="75.0"/>
+ <y:Point x="514.2321428571429" y="210.0"/>
+ <y:Point x="149.44206349206348" y="210.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e43" source="n28" target="n11">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="159.44206349206348" y="510.0"/>
+ <y:Point x="337.3305555555556" y="510.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e44" source="n5" target="n29">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="913.0869047619047" y="60.0"/>
+ <y:Point x="1325.425" y="60.0"/>
+ <y:Point x="1325.425" y="180.0"/>
+ <y:Point x="1340.765873015873" y="180.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e45" source="n8" target="n29">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="6.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="1265.411111111111" y="210.0"/>
+ <y:Point x="1330.765873015873" y="210.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e46" source="n10" target="n29">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="915.0869047619047" y="240.0"/>
+ <y:Point x="1320.765873015873" y="240.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e47" source="n29" target="n14">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="1330.765873015873" y="525.0"/>
+ <y:Point x="920.0869047619047" y="525.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e48" source="n10" target="n30">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="14.0" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="917.0869047619047" y="225.0"/>
+ <y:Point x="1452.479761904762" y="225.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e49" source="n8" target="n30">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="1271.411111111111" y="195.0"/>
+ <y:Point x="1462.479761904762" y="195.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e50" source="n5" target="n30">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.333333333333371" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="916.4202380952381" y="45.0"/>
+ <y:Point x="1472.479761904762" y="45.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e51" source="n30" target="n13">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="7.5" ty="-15.0">
+ <y:Point x="1462.479761904762" y="540.0"/>
+ <y:Point x="1029.793253968254" y="540.0"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e52" source="n7" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-1.5" sy="15.0" tx="-3.75" ty="-14.53125">
+ <y:Point x="544.7353174603174" y="660.0"/>
+ <y:Point x="455.62380952380954" y="660.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e53" source="n11" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.90909090909091" sy="15.0" tx="-11.25" ty="-9.90625">
+ <y:Point x="355.7396464646465" y="630.0"/>
+ <y:Point x="448.12380952380954" y="630.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e54" source="n7" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="1.5" sy="15.0" tx="3.75" ty="-14.53125">
+ <y:Point x="547.7353174603174" y="675.0"/>
+ <y:Point x="463.12380952380954" y="675.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e55" source="n9" target="n31">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.5" sy="15.0" tx="11.25" ty="-9.90625">
+ <y:Point x="580.5801587301587" y="690.0"/>
+ <y:Point x="470.62380952380954" y="690.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e56" source="n31" target="n17">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="10.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e57" source="n11" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.636363636363637" sy="15.0" tx="-12.85714285714289" ty="-7.71875">
+ <y:Point x="358.4669191919192" y="615.0"/>
+ <y:Point x="661.565873015873" y="615.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e58" source="n7" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="13.5" sy="15.0" tx="-4.285714285714334" ty="-14.34375">
+ <y:Point x="559.7353174603174" y="195.0"/>
+ <y:Point x="670.1373015873016" y="195.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e59" source="n8" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="1247.411111111111" y="375.0"/>
+ <y:Point x="700.8194444444445" y="375.0"/>
+ <y:Point x="700.8194444444445" y="585.0"/>
+ <y:Point x="674.4230158730159" y="585.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e60" source="n12" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="4.285714285714334" ty="-14.34375">
+ <y:Point x="772.6107142857143" y="600.0"/>
+ <y:Point x="678.7087301587302" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e61" source="n13" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="12.85714285714289" ty="-7.71875">
+ <y:Point x="1011.043253968254" y="660.0"/>
+ <y:Point x="687.2801587301587" y="660.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e62" source="n14" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-11.25" sy="15.0" tx="8.571428571428555" ty="-12.28125">
+ <y:Point x="901.3369047619047" y="630.0"/>
+ <y:Point x="682.9944444444444" y="630.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e63" source="n9" target="n32">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.5" sy="15.0" tx="-8.571428571428555" ty="-12.28125">
+ <y:Point x="605.5801587301587" y="600.0"/>
+ <y:Point x="665.8515873015873" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e64" source="n32" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="3.75" ty="-15.0">
+ <y:Point x="674.4230158730159" y="933.701171875"/>
+ <y:Point x="641.5313492063492" y="933.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e65" source="n17" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="-12.5" ty="-8.28125">
+ <y:Point x="445.62380952380954" y="1023.701171875"/>
+ <y:Point x="506.65317460317465" y="1023.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e66" source="n9" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.5" sy="15.0" tx="12.5" ty="-8.28125">
+ <y:Point x="590.5801587301587" y="720.0"/>
+ <y:Point x="573.7353174603174" y="720.0"/>
+ <y:Point x="573.7353174603174" y="963.701171875"/>
+ <y:Point x="531.6531746031746" y="963.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e67" source="n9" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="15.0" tx="7.5" ty="-12.96875">
+ <y:Point x="585.5801587301587" y="705.0"/>
+ <y:Point x="568.7353174603174" y="705.0"/>
+ <y:Point x="568.7353174603174" y="948.701171875"/>
+ <y:Point x="526.6531746031746" y="948.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e68" source="n7" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="4.5" sy="15.0" tx="2.5" ty="-14.78125">
+ <y:Point x="550.7353174603174" y="933.701171875"/>
+ <y:Point x="521.6531746031746" y="933.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e69" source="n7" target="n33">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-4.5" sy="15.0" tx="-2.5" ty="-14.78125">
+ <y:Point x="541.7353174603174" y="645.0"/>
+ <y:Point x="368.0123015873016" y="645.0"/>
+ <y:Point x="368.0123015873016" y="804.3505859375"/>
+ <y:Point x="516.6531746031746" y="804.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e70" source="n33" target="n17">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="-12.96875" tx="3.75" ty="15.0">
+ <y:Point x="511.65317460317465" y="1008.701171875"/>
+ <y:Point x="453.12380952380954" y="1008.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e71" source="n12" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="5.625" ty="-13.90625">
+ <y:Point x="787.6107142857143" y="978.701171875"/>
+ <y:Point x="768.8607142857143" y="978.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e72" source="n13" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="13.125" ty="-7.28125">
+ <y:Point x="1018.543253968254" y="675.0"/>
+ <y:Point x="1004.2186507936508" y="675.0"/>
+ <y:Point x="1004.2186507936508" y="1008.701171875"/>
+ <y:Point x="776.3607142857143" y="1008.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e73" source="n14" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="9.375" ty="-11.71875">
+ <y:Point x="908.8369047619047" y="645.0"/>
+ <y:Point x="981.7186507936508" y="645.0"/>
+ <y:Point x="981.7186507936508" y="993.701171875"/>
+ <y:Point x="772.6107142857143" y="993.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e74" source="n9" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.5" sy="15.0" tx="-5.625" ty="-13.90625">
+ <y:Point x="595.5801587301587" y="735.0"/>
+ <y:Point x="578.7353174603174" y="735.0"/>
+ <y:Point x="578.7353174603174" y="963.701171875"/>
+ <y:Point x="757.6107142857143" y="963.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e75" source="n7" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="-9.375" ty="-11.71875">
+ <y:Point x="553.7353174603174" y="978.701171875"/>
+ <y:Point x="753.8607142857143" y="978.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e76" source="n17" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="11.25" sy="15.0" tx="-13.125" ty="-7.28125">
+ <y:Point x="460.62380952380954" y="993.701171875"/>
+ <y:Point x="750.1107142857143" y="993.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e77" source="n9" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="-1.875" ty="-15.0">
+ <y:Point x="600.5801587301587" y="750.0"/>
+ <y:Point x="583.7353174603174" y="750.0"/>
+ <y:Point x="583.7353174603174" y="948.701171875"/>
+ <y:Point x="761.3607142857143" y="948.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e78" source="n8" target="n34">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="1.875" ty="-15.0">
+ <y:Point x="1259.411111111111" y="510.0"/>
+ <y:Point x="715.8194444444445" y="510.0"/>
+ <y:Point x="715.8194444444445" y="615.0"/>
+ <y:Point x="765.1107142857143" y="615.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e79" source="n34" target="n16">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="11.25" ty="-15.0">
+ <y:Point x="763.2357142857143" y="1083.701171875"/>
+ <y:Point x="649.0313492063492" y="1083.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e80" source="n7" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.5" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="535.7353174603174" y="225.0"/>
+ <y:Point x="95.08928571428571" y="225.0"/>
+ <y:Point x="95.08928571428571" y="585.0"/>
+ <y:Point x="96.37420634920635" y="585.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e81" source="n7" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.5" sy="15.0" tx="-4.285715208603975" ty="-14.343750000000648">
+ <y:Point x="532.7353174603174" y="195.0"/>
+ <y:Point x="92.08928571428571" y="195.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e82" source="n6" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-8.571430341951276" ty="-12.281250000000576">
+ <y:Point x="131.2" y="150.0"/>
+ <y:Point x="87.8031746031746" y="150.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e83" source="n5" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.333333333333371" sy="15.0" tx="-12.857142857142861" ty="-7.71875">
+ <y:Point x="889.7535714285714" y="45.0"/>
+ <y:Point x="83.51706349206349" y="45.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e84" source="n11" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-13.636363636363633" sy="15.0" tx="8.57142857142857" ty="-12.28125">
+ <y:Point x="331.19419191919195" y="615.0"/>
+ <y:Point x="104.94563492063492" y="615.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e85" source="n11" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.909090909090907" sy="15.0" tx="12.857142857142847" ty="-7.71875">
+ <y:Point x="333.92146464646464" y="630.0"/>
+ <y:Point x="109.2313492063492" y="630.0"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e86" source="n10" target="n35">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-10.0" sy="15.0" tx="4.285714285714292" ty="-14.34375">
+ <y:Point x="893.0869047619047" y="285.0"/>
+ <y:Point x="225.79484126984127" y="285.0"/>
+ <y:Point x="225.79484126984127" y="600.0"/>
+ <y:Point x="100.65992063492064" y="600.0"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e87" source="n35" target="n15">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-7.5" ty="-15.0">
+ <y:Point x="96.37420634920635" y="849.3505859375"/>
+ <y:Point x="245.48531746031745" y="849.3505859375"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e88" source="n16" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-6.666666666666629" ty="-13.40625">
+ <y:Point x="637.7813492063492" y="1248.701171875"/>
+ <y:Point x="881.6071428571429" y="1248.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e89" source="n11" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.727272727272748" sy="15.0" tx="-10.0" ty="-11.15625">
+ <y:Point x="347.5575396825397" y="1263.701171875"/>
+ <y:Point x="878.2738095238095" y="1263.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e90" source="n12" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-3.75" sy="15.0" tx="-3.3333328448172574" ty="-14.59375000000029">
+ <y:Point x="780.1107142857143" y="963.701171875"/>
+ <y:Point x="884.9400793650793" y="963.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e91" source="n13" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="6.666666666666629" ty="-13.40625">
+ <y:Point x="1026.043253968254" y="690.0"/>
+ <y:Point x="1011.7186507936508" y="690.0"/>
+ <y:Point x="1011.7186507936508" y="1248.701171875"/>
+ <y:Point x="894.9404761904761" y="1248.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e92" source="n14" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="3.75" sy="15.0" tx="3.3333333333333712" ty="-14.59375">
+ <y:Point x="916.3369047619047" y="630.0"/>
+ <y:Point x="989.2186507936508" y="630.0"/>
+ <y:Point x="989.2186507936508" y="1233.701171875"/>
+ <y:Point x="891.6071428571429" y="1233.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e93" source="n1" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="12.5" sy="15.0" tx="-13.333333333333371" ty="-6.84375">
+ <y:Point x="163.109126984127" y="948.701171875"/>
+ <y:Point x="213.109126984127" y="948.701171875"/>
+ <y:Point x="213.109126984127" y="1128.701171875"/>
+ <y:Point x="344.2238095238095" y="1128.701171875"/>
+ <y:Point x="344.2238095238095" y="1278.701171875"/>
+ <y:Point x="874.9404761904761" y="1278.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e94" source="n21" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="13.333333333333371" ty="-6.84375">
+ <y:Point x="1272.4849206349206" y="1278.701171875"/>
+ <y:Point x="901.6071428571429" y="1278.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e95" source="n23" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="0.0" ty="-15.0">
+ <y:Point x="884.6646825396825" y="948.701171875"/>
+ <y:Point x="888.2738095238095" y="948.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e96" source="n25" target="n36">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="10.0" ty="-11.15625">
+ <y:Point x="1104.7531746031746" y="1263.701171875"/>
+ <y:Point x="898.2738095238095" y="1263.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e97" source="n36" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="11.25" ty="-15.0">
+ <y:Point x="880.7738095238095" y="1353.701171875"/>
+ <y:Point x="128.109126984127" y="1353.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e98" source="n36" target="n37">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="0.0" ty="-15.0"/>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e99" source="n1" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="15.0" tx="-1.875" ty="-15.0">
+ <y:Point x="158.109126984127" y="963.701171875"/>
+ <y:Point x="208.109126984127" y="963.701171875"/>
+ <y:Point x="208.109126984127" y="1143.701171875"/>
+ <y:Point x="238.60436507936507" y="1143.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e100" source="n10" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-12.0" sy="15.0" tx="-13.125" ty="-7.28125">
+ <y:Point x="891.0869047619047" y="270.0"/>
+ <y:Point x="223.79484126984127" y="270.0"/>
+ <y:Point x="223.79484126984127" y="495.0"/>
+ <y:Point x="0.0" y="495.0"/>
+ <y:Point x="0.0" y="1038.701171875"/>
+ <y:Point x="128.109126984127" y="1038.701171875"/>
+ <y:Point x="128.109126984127" y="1188.701171875"/>
+ <y:Point x="227.35436507936507" y="1188.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e101" source="n0" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="10.0" sy="15.0" tx="5.625" ty="-13.90625">
+ <y:Point x="276.80595238095236" y="645.0"/>
+ <y:Point x="324.3753968253968" y="645.0"/>
+ <y:Point x="324.3753968253968" y="894.3505859375"/>
+ <y:Point x="338.35277777777776" y="894.3505859375"/>
+ <y:Point x="338.35277777777776" y="1083.701171875"/>
+ <y:Point x="246.10436507936507" y="1083.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e102" source="n11" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="13.125" ty="-7.28125">
+ <y:Point x="344.83015873015876" y="1113.701171875"/>
+ <y:Point x="253.60436507936507" y="1113.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e103" source="n1" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="2.5" sy="15.0" tx="-5.625" ty="-13.90625">
+ <y:Point x="153.109126984127" y="978.701171875"/>
+ <y:Point x="203.109126984127" y="978.701171875"/>
+ <y:Point x="203.109126984127" y="1158.701171875"/>
+ <y:Point x="234.85436507936507" y="1158.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e104" source="n15" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="1.875" ty="-15.0">
+ <y:Point x="252.98531746031745" y="1068.701171875"/>
+ <y:Point x="242.35436507936507" y="1068.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e105" source="n3" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="0.0" sy="15.0" tx="-9.375" ty="-11.71875">
+ <y:Point x="173.109126984127" y="1173.701171875"/>
+ <y:Point x="231.10436507936507" y="1173.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#008000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e106" source="n11" target="n38">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-2.727272727272748" sy="15.0" tx="9.375" ty="-11.71875">
+ <y:Point x="342.10277777777776" y="1098.701171875"/>
+ <y:Point x="249.85436507936507" y="1098.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#FF0000" type="dotted" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e107" source="n38" target="n4">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="-7.5" sy="12.96875" tx="7.5" ty="-15.0">
+ <y:Point x="232.97936507936507" y="1248.701171875"/>
+ <y:Point x="168.2920634920635" y="1248.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ <edge id="e108" source="n38" target="n2">
+ <data key="d9">
+ <y:PolyLineEdge>
+ <y:Path sx="7.5" sy="12.96875" tx="3.75" ty="-15.0">
+ <y:Point x="247.97936507936507" y="1338.701171875"/>
+ <y:Point x="120.60912698412699" y="1338.701171875"/>
+ </y:Path>
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
+ <y:Arrows source="none" target="standard"/>
+ <y:BendStyle smoothed="false"/>
+ </y:PolyLineEdge>
+ </data>
+ </edge>
+ </graph>
+ <data key="d0">
+ <y:Resources/>
+ </data>
+</graphml>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/flattening/InheritanceFlatenning.qvtc b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtc
index 26728a9e6..26728a9e6 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/flattening/InheritanceFlatenning.qvtc
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtc
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtcas
new file mode 100644
index 000000000..6d7df245e
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtcas
@@ -0,0 +1,595 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="InheritanceFlatenning.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hierarchyFlatenning" name="hierarchyFlatenning"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hierarchyFlatenning.getAllSupers..simpleuml.Class"
+ isStatic="true" name="getAllSupers" type="#//@nestedPackage.1/@ownedType.0">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hierarchyFlatenning.getAllSupers..simpleuml.Class"
+ name="cls" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <queryExpression xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.asSet">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Sequence.including..T">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.OrderedSet.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.2"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Class.general">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#p0o.hierarchyFlatenning.getAllSupers..simpleuml.Class"/>
+ </source>
+ <body xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="#o.hierarchyFlatenning.getAllSupers..simpleuml.Class">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@ownedOperation.0/@queryExpression/@source/@source/@iterator.0"/>
+ </body>
+ <iterator name="gen" isRequired="false" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#p0o.hierarchyFlatenning.getAllSupers..simpleuml.Class"/>
+ </source>
+ </queryExpression>
+ </ownedOperation>
+ <modelParameter name="origin" usedPackage="../UmlToRdbms/SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter name="final" usedPackage="../UmlToRdbms/SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter usedPackage="SimpleUmlToFlatUml.ecore.oclas#P.simpleumltoflatuml"/>
+ <rule xsi:type="qvtc:Mapping" name="UmlElementToUmlElement" specification="#//@nestedPackage.0/@rule.1 #//@nestedPackage.0/@rule.2 #//@nestedPackage.0/@rule.3">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern/>
+ <bottomPattern>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </conditionExpression>
+ </predicate>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="PackageToPackage" refinement="#//@nestedPackage.0/@rule.0">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern/>
+ <bottomPattern>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="ClassToClass" refinement="#//@nestedPackage.0/@rule.0">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="sp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="tp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="p2p" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.PacakgeElementT.namespaceT">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@bottomPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="AttributeToAttribute" refinement="#//@nestedPackage.0/@rule.0">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="sc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="tc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c2c" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassifierT"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </argument>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.type">
+ <value xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <value xsi:type="pivot:PropertyCallExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassifierT"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@variable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.type">
+ <value xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="ClassInheritance">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="gc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="#o.hierarchyFlatenning.getAllSupers..simpleuml.Class">
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern/>
+ <local>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@bottomPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c2c" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassTHierarchy.classT">
+ <value xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassTHierarchy.general">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="ch" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"/>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="AttributeInheritance">
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="gc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="sa" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="tc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="ta" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassTHierarchy.general">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:OppositePropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassT.general">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c2c" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ <variable name="ch" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"/>
+ </guardPattern>
+ <bottomPattern/>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.4"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SequenceType" name="Sequence" superClass="#//@nestedPackage.1/@ownedType.5"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Sequence">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SequenceT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.5 #//@nestedPackage.1/@ownedType.4"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.6"
+ elementType="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.7"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.7"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtu.qvtcas b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtu.qvtcas
new file mode 100644
index 000000000..e0ecf786d
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtu.qvtcas
@@ -0,0 +1,530 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtc:CoreModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot" xmlns:qvtb="http://www.eclipse.org/qvt/0.9/QVTbase"
+ xmlns:qvtc="http://www.eclipse.org/qvt/0.9/QVTcore" xmlns:qvtcb="http://www.eclipse.org/qvt/0.9/QVTcoreBase"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/0.9/QVTcore java://org.eclipse.qvtd.pivot.qvtcore.QVTcorePackage http://www.eclipse.org/qvt/0.9/QVTcoreBase java://org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBasePackage"
+ name="InheritanceFlatenning.qvtu.qvtc" externalURI="platform:/resource/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenning.qvtu.qvtc">
+ <nestedPackage xsi:type="qvtb:Transformation" xmi:id="T.hierarchyFlatenning" name="hierarchyFlatenning"
+ superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
+ <ownedComment body="/* Enforce origin to final */"/>
+ <ownedOperation xsi:type="qvtb:Function" xmi:id="o.hierarchyFlatenning.getAllSupers..simpleuml.Class"
+ isStatic="true" name="getAllSupers" type="#//@nestedPackage.1/@ownedType.0">
+ <ownedParameter xsi:type="qvtb:FunctionParameter" xmi:id="p0o.hierarchyFlatenning.getAllSupers..simpleuml.Class"
+ name="cls" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ <queryExpression xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.asSet">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Sequence.including..T">
+ <source xsi:type="pivot:IteratorExp" type="#//@nestedPackage.1/@ownedType.1"
+ referredIteration="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i.ocl.OrderedSet.collect..T">
+ <source xsi:type="pivot:PropertyCallExp" type="#//@nestedPackage.1/@ownedType.2"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Class.general">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#p0o.hierarchyFlatenning.getAllSupers..simpleuml.Class"/>
+ </source>
+ <body xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="#o.hierarchyFlatenning.getAllSupers..simpleuml.Class">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@ownedOperation.0/@queryExpression/@source/@source/@iterator.0"/>
+ </body>
+ <iterator name="gen" isRequired="false" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ representedParameter="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#p0o.hierarchyFlatenning.getAllSupers..simpleuml.Class"/>
+ </source>
+ </queryExpression>
+ </ownedOperation>
+ <modelParameter name="origin" usedPackage="../UmlToRdbms/SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter name="final" usedPackage="../UmlToRdbms/SimpleUML.ecore.oclas#P.simpleuml"/>
+ <modelParameter usedPackage="SimpleUmlToFlatUml.ecore.oclas#P.simpleumltoflatuml"/>
+ <rule xsi:type="qvtc:Mapping" name="UmlElementToUmlElement" specification="#//@nestedPackage.0/@rule.1 #//@nestedPackage.0/@rule.2 #//@nestedPackage.0/@rule.3">
+ <domain xsi:type="qvtcb:CoreDomain" name="origin" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern/>
+ <bottomPattern>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="final" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </conditionExpression>
+ </predicate>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.name">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.0/@bottomPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.UMLModelElement.kind">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.kind">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.UmlModelElementT"
+ referredVariable="#//@nestedPackage.0/@rule.0/@bottomPattern/@realizedVariable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredVariable="#//@nestedPackage.0/@rule.0/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="PackageToPackage" refinement="#//@nestedPackage.0/@rule.0">
+ <domain xsi:type="qvtcb:CoreDomain" name="origin" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern/>
+ <bottomPattern>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="final" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="ClassToClass" refinement="#//@nestedPackage.0/@rule.0">
+ <domain xsi:type="qvtcb:CoreDomain" name="origin" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="sp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.PackageElement.namespace">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="final" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="tp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"/>
+ </guardPattern>
+ <bottomPattern>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Package"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="p2p" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" isRequired="false" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.PacakgeElementT.namespaceT">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.PackageT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.0/@bottomPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.2/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.2/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ </bottomPattern>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="AttributeToAttribute" refinement="#//@nestedPackage.0/@rule.0">
+ <domain xsi:type="qvtcb:CoreDomain" name="origin" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="sc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="se" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="final" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="tc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="te" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c2c" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.owner">
+ <value xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="e2e" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"/>
+ </bottomPattern>
+ <local>
+ <guardPattern/>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </source>
+ <argument xsi:type="pivot:PropertyCallExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassifierT"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.type">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </argument>
+ </conditionExpression>
+ </predicate>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.AttributeT.type">
+ <value xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Classifier"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.type">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.3/@domain.0/@bottomPattern/@variable.0"/>
+ </value>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.AttributeT"
+ referredVariable="#//@nestedPackage.0/@rule.3/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="ClassInheritance">
+ <domain xsi:type="qvtcb:CoreDomain" name="origin" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="gc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <source xsi:type="pivot:OperationCallExp" type="#//@nestedPackage.1/@ownedType.0"
+ referredOperation="#o.hierarchyFlatenning.getAllSupers..simpleuml.Class">
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern/>
+ <bottomPattern/>
+ <local>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.origin">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@bottomPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c2c" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassTHierarchy.classT">
+ <value xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassTHierarchy.general">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.4/@domain.0/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.4/@local.0/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="ch" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"/>
+ </bottomPattern>
+ </local>
+ </rule>
+ <rule xsi:type="qvtc:Mapping" name="AttributeInheritance">
+ <domain xsi:type="qvtcb:CoreDomain" name="origin" isCheckable="false" isEnforceable="false"
+ typedModel="#//@nestedPackage.0/@modelParameter.0">
+ <guardPattern>
+ <variable name="gc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <source xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@bottomPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="sa" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <domain xsi:type="qvtcb:CoreDomain" name="final" isCheckable="false" isEnforceable="true"
+ typedModel="#//@nestedPackage.0/@modelParameter.1">
+ <guardPattern>
+ <variable name="tc" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"/>
+ </guardPattern>
+ <bottomPattern>
+ <assignment xsi:type="qvtcb:PropertyAssignment" isDefault="false" targetProperty="../UmlToRdbms/SimpleUML.ecore.oclas#p.simpleuml.Attribute.owner">
+ <value xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.0"/>
+ <slotExpression xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@bottomPattern/@realizedVariable.0"/>
+ </assignment>
+ <realizedVariable name="ta" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Attribute"/>
+ </bottomPattern>
+ </domain>
+ <guardPattern>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassTHierarchy.general">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.0/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:OppositePropertyCallExp" type="#//@nestedPackage.1/@ownedType.3"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.ClassT.general">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.1"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <source xsi:type="pivot:PropertyCallExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.UMLModelElement"
+ referredProperty="SimpleUmlToFlatUml.ecore.oclas#p.simpleumltoflatuml.UmlModelElementT.final">
+ <source xsi:type="pivot:VariableExp" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ referredVariable="#//@nestedPackage.0/@rule.5/@guardPattern/@variable.0"/>
+ </source>
+ <argument xsi:type="pivot:VariableExp" type="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ referredVariable="#//@nestedPackage.0/@rule.5/@domain.1/@guardPattern/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <variable name="c2c" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"/>
+ <variable name="ch" type="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassTHierarchy"/>
+ </guardPattern>
+ <bottomPattern/>
+ </rule>
+ </nestedPackage>
+ <nestedPackage xmi:id="P.$$" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
+ <ownedType xsi:type="pivot:SetType" name="Set" superClass="#//@nestedPackage.1/@ownedType.4"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Set">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:SequenceType" name="Sequence" superClass="#//@nestedPackage.1/@ownedType.5"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Sequence">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..SequenceT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:OrderedSetType" name="OrderedSet" superClass="#//@nestedPackage.1/@ownedType.5 #//@nestedPackage.1/@ownedType.4"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedSet">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedSetT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:BagType" name="Bag" superClass="#//@nestedPackage.1/@ownedType.6"
+ elementType="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Bag">
+ <parameterSubstitution actual="pivot:Class SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..BagT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="UniqueCollection" superClass="#//@nestedPackage.1/@ownedType.7"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.UniqueCollection">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..UniqueCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="OrderedCollection" superClass="#//@nestedPackage.1/@ownedType.7"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.OrderedCollection">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..OrderedCollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class SimpleUmlToFlatUml.ecore.oclas#T.simpleumltoflatuml.ClassT"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ <ownedType xsi:type="pivot:CollectionType" name="Collection" superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclAny"
+ elementType="../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class">
+ <templateBinding signature="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#s.Collection">
+ <parameterSubstitution actual="pivot:Class ../UmlToRdbms/SimpleUML.ecore.oclas#T.simpleuml.Class"
+ formal="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#t.ocl..CollectionT"/>
+ </templateBinding>
+ </ownedType>
+ </nestedPackage>
+</qvtc:CoreModel>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenningConfig.xmi b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenningConfig.xmi
new file mode 100644
index 000000000..3024695f5
--- /dev/null
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/InheritanceFlatenningConfig.xmi
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="ASCII"?>
+<qvtcconfig:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:qvtcconfig="http://www.eclipse.org/qvt/examples/0.1/QVTcConfig" inputDirection="//@transformation/@direction.0" outputDirection="//@transformation/@direction.1" mode="enforcement" middle="//@transformation/@direction.2">
+ <transformation name="hierarchyFlatenning">
+ <direction name="origin" imports="//@transformation/@import.0"/>
+ <direction name="final" imports="//@transformation/@import.0"/>
+ <direction imports="//@transformation/@import.1"/>
+ <import name="SimpleUML" metamodel="SimpleUML.ecore" package="simpleuml"/>
+ <import name="UMLtoUML" metamodel="SimpleUmlToFlatUml.ecore" package="simpleumltoflatuml"/>
+ </transformation>
+</qvtcconfig:Configuration>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/flattening/SimpleUmlToFlatUml.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/SimpleUmlToFlatUml.ecore
index e7e58f6a1..a59c20e4b 100644
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/flattening/SimpleUmlToFlatUml.ecore
+++ b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/build/etl/tests/flattening/SimpleUmlToFlatUml.ecore
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simpleumltoflatuml">
- <eClassifiers xsi:type="ecore:EClass" name="AttributeT" eSuperTypes="#//UmlModelElementT">
- <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//ClassifierT"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//ClassT"
- eOpposite="#//ClassT/attributes"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AssociationT" eSuperTypes="#//PacakgeElementT">
- <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
- eType="#//ClassT" eOpposite="#//ClassT/forward"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
- eType="#//ClassT" eOpposite="#//ClassT/reverse"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ClassT" eSuperTypes="#//ClassifierT">
- <eStructuralFeatures xsi:type="ecore:EReference" name="general" upperBound="-1"
- eType="#//ClassTHierarchy"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="forward" upperBound="-1"
- eType="#//AssociationT" eOpposite="#//AssociationT/source"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
- eType="#//AttributeT" eOpposite="#//AttributeT/owner"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="reverse" upperBound="-1"
- eType="#//AssociationT" eOpposite="#//AssociationT/destination"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="generalOpposite" upperBound="-1"
- eType="#//ClassT"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ClassTHierarchy">
- <eStructuralFeatures xsi:type="ecore:EReference" name="classT" lowerBound="1"
- eType="#//ClassT"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="general" lowerBound="1"
- eType="ecore:EClass ../UmlToRdbms/SimpleUML.ecore#//Class"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ClassifierT" abstract="true" eSuperTypes="#//PacakgeElementT">
- <eStructuralFeatures xsi:type="ecore:EReference" name="typeOpposite" upperBound="-1"
- eType="#//AttributeT"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PackageT" eSuperTypes="#//UmlModelElementT">
- <eStructuralFeatures xsi:type="ecore:EReference" name="elementsT" eType="#//PacakgeElementT"
- eOpposite="#//PacakgeElementT/namespaceT"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PacakgeElementT" abstract="true" eSuperTypes="#//UmlModelElementT">
- <eStructuralFeatures xsi:type="ecore:EReference" name="namespaceT" eType="#//PackageT"
- eOpposite="#//PackageT/elementsT"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveDataTypeT" eSuperTypes="#//ClassifierT"/>
- <eClassifiers xsi:type="ecore:EClass" name="UmlModelElementT" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="origin" lowerBound="1"
- eType="ecore:EClass ../UmlToRdbms/SimpleUML.ecore#//UMLModelElement"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="final" lowerBound="1" eType="ecore:EClass ../UmlToRdbms/SimpleUML.ecore#//UMLModelElement"/>
- </eClassifiers>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simpleumltoflatuml">
+ <eClassifiers xsi:type="ecore:EClass" name="AttributeT" eSuperTypes="#//UmlModelElementT">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//ClassifierT"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#//ClassT"
+ eOpposite="#//ClassT/attributes"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AssociationT" eSuperTypes="#//PacakgeElementT">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="source" lowerBound="1"
+ eType="#//ClassT" eOpposite="#//ClassT/forward"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="destination" lowerBound="1"
+ eType="#//ClassT" eOpposite="#//ClassT/reverse"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassT" eSuperTypes="#//ClassifierT">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="general" upperBound="-1"
+ eType="#//ClassTHierarchy"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="forward" upperBound="-1"
+ eType="#//AssociationT" eOpposite="#//AssociationT/source"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="attributes" upperBound="-1"
+ eType="#//AttributeT" eOpposite="#//AttributeT/owner"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="reverse" upperBound="-1"
+ eType="#//AssociationT" eOpposite="#//AssociationT/destination"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="generalOpposite" upperBound="-1"
+ eType="#//ClassT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassTHierarchy">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="classT" lowerBound="1"
+ eType="#//ClassT"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="general" lowerBound="1"
+ eType="ecore:EClass ../UmlToRdbms/SimpleUML.ecore#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassifierT" abstract="true" eSuperTypes="#//PacakgeElementT">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="typeOpposite" upperBound="-1"
+ eType="#//AttributeT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PackageT" eSuperTypes="#//UmlModelElementT">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elementsT" eType="#//PacakgeElementT"
+ eOpposite="#//PacakgeElementT/namespaceT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PacakgeElementT" abstract="true" eSuperTypes="#//UmlModelElementT">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="namespaceT" eType="#//PackageT"
+ eOpposite="#//PackageT/elementsT"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PrimitiveDataTypeT" eSuperTypes="#//ClassifierT"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UmlModelElementT" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="origin" lowerBound="1"
+ eType="ecore:EClass ../UmlToRdbms/SimpleUML.ecore#//UMLModelElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="final" lowerBound="1" eType="ecore:EClass ../UmlToRdbms/SimpleUML.ecore#//UMLModelElement"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore b/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore
deleted file mode 100644
index 46b056a23..000000000
--- a/tests/org.eclipse.qvtd.build.etl.tests/src/org/eclipse/qvtd/etl/tests/UmlToRdbms/UMLtoRDBMS.ecore
+++ /dev/null
@@ -1,63 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="umltordbms" nsURI="http://www.eclipse.org/qvt/examples/0.1/UMLtoRDBMS"
- nsPrefix="umltordbms">
- <eClassifiers xsi:type="ecore:EClass" name="AttributeToColumn" eSuperTypes="#//FromAttribute #//ToColumn">
- <eStructuralFeatures xsi:type="ecore:EReference" name="type" eType="#//PrimitiveToName"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="AssociationToForeignKey" eSuperTypes="#//ToColumn">
- <eStructuralFeatures xsi:type="ecore:EReference" name="referenced" eType="#//ClassToTable"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//ClassToTable"
- eOpposite="#//ClassToTable/associationsToForeignKeys"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="association" eType="ecore:EClass SimpleUML.ecore#//Association"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="foreignKey" eType="ecore:EClass SimpleRDBMS.ecore#//ForeignKey"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ClassToTable" eSuperTypes="#//FromAttributeOwner #//ToColumn">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//PackageToSchema"
- eOpposite="#//PackageToSchema/classesToTables"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="associationsToForeignKeys"
- upperBound="-1" eType="#//AssociationToForeignKey" containment="true" eOpposite="#//AssociationToForeignKey/owner"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="umlClass" eType="ecore:EClass SimpleUML.ecore#//Class"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="table" eType="ecore:EClass SimpleRDBMS.ecore#//Table"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="primaryKey" eType="ecore:EClass SimpleRDBMS.ecore#//Key"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FromAttribute" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//FromAttributeOwner"
- eOpposite="#//FromAttributeOwner/fromAttributes"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="leafs" ordered="false"
- upperBound="-1" eType="#//AttributeToColumn"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="attribute" eType="ecore:EClass SimpleUML.ecore#//Attribute"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="FromAttributeOwner" abstract="true">
- <eStructuralFeatures xsi:type="ecore:EReference" name="fromAttributes" ordered="false"
- eType="#//FromAttribute" containment="true" eOpposite="#//FromAttribute/owner"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="NonLeafAttribute" eSuperTypes="#//FromAttributeOwner #//FromAttribute"/>
- <eClassifiers xsi:type="ecore:EClass" name="PackageToSchema">
- <eStructuralFeatures xsi:type="ecore:EReference" name="classesToTables" ordered="false"
- upperBound="-1" eType="#//ClassToTable" containment="true" eOpposite="#//ClassToTable/owner"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="primitivesToNames" ordered="false"
- upperBound="-1" eType="#//PrimitiveToName" containment="true" eOpposite="#//PrimitiveToName/owner"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="umlPackage" lowerBound="1"
- eType="ecore:EClass SimpleUML.ecore#//Package"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="schema" lowerBound="1"
- eType="ecore:EClass SimpleRDBMS.ecore#//Schema"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="PrimitiveToName">
- <eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//PackageToSchema"
- eOpposite="#//PackageToSchema/primitivesToNames"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="primitive" lowerBound="1"
- eType="ecore:EClass SimpleUML.ecore#//PrimitiveDataType"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="typeName" lowerBound="1"
- eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ToColumn">
- <eStructuralFeatures xsi:type="ecore:EReference" name="column" eType="ecore:EClass SimpleRDBMS.ecore#//Column"/>
- </eClassifiers>
-</ecore:EPackage>

Back to the top