Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Willink2016-05-03 20:50:36 +0000
committerEd Willink2016-05-05 13:32:13 +0000
commit01667e893a7dd149a656483233d06f59a856d584 (patch)
treed9dc1d4b122d15df610be798fff52a10b793bd84
parent870063bf97055385918a4f3ecc9c95c1dd4452a3 (diff)
downloadorg.eclipse.qvtd-01667e893a7dd149a656483233d06f59a856d584.tar.gz
org.eclipse.qvtd-01667e893a7dd149a656483233d06f59a856d584.tar.xz
org.eclipse.qvtd-01667e893a7dd149a656483233d06f59a856d584.zip
[486722] Ongoing refactoring
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ScheduleState.java4
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/AbstractQVTr2QVTcRelations.java559
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked.ecore14
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked2Enforced.ecore21
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Enforced.ecore14
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/InvokedRelationToMappingForEnforcement.java114
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtc39
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtr16
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.textile122
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/QVTrToQVTc.java279
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/RelationalTransformationToTracePackage.java74
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/TopLevelRelationToMappingForEnforcement.java73
-rw-r--r--plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/qvtrsrc/SimplerRelToCorePivotizedBeautyfied.qvtr2
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/AllQVTrelationTests.java2
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java8
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/RelToCore.qvtr (renamed from tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/SimplerRelToCorePivotizedBeautyfied.qvtr)106
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core.qvtras8143
-rw-r--r--tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core_expected.oclas (renamed from tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core_expected.ecore)0
18 files changed, 9031 insertions, 559 deletions
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ScheduleState.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ScheduleState.java
index 503c3f1d7..bd1a29b85 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ScheduleState.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtp2qvts/ScheduleState.java
@@ -550,7 +550,7 @@ public abstract class ScheduleState extends ScheduleCache
//
// If the caller is a recursion, ensure the the caller's caller is on the stack.
//
- for (@NonNull DatumConnection incomingConnection1 : getIncomingConnections(region)) { // FIXME passed
+/* for (@NonNull DatumConnection incomingConnection1 : getIncomingConnections(region)) { // FIXME passed
for (@NonNull Region sourceRegion1 : getSourceRegions(incomingConnection1)) {
if (sourceRegion1.getLoopingConnections().size() > 0) {
for (@NonNull DatumConnection incomingConnection2 : getIncomingConnections(sourceRegion1)) { // FIXME passed
@@ -560,7 +560,7 @@ public abstract class ScheduleState extends ScheduleCache
}
}
}
- }
+ } */
while (!callStack.contains(commonRegion)) {
commonRegion = getMinimumDepthParentRegion(commonRegion);
assert commonRegion != null;
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/AbstractQVTr2QVTcRelations.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/AbstractQVTr2QVTcRelations.java
index ab806377b..88d676698 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/AbstractQVTr2QVTcRelations.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/AbstractQVTr2QVTcRelations.java
@@ -17,16 +17,21 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.ocl.pivot.CollectionLiteralExp;
import org.eclipse.ocl.pivot.CollectionLiteralPart;
import org.eclipse.ocl.pivot.CollectionType;
import org.eclipse.ocl.pivot.CompleteClass;
+import org.eclipse.ocl.pivot.Element;
import org.eclipse.ocl.pivot.IntegerLiteralExp;
import org.eclipse.ocl.pivot.NamedElement;
import org.eclipse.ocl.pivot.NavigationCallExp;
import org.eclipse.ocl.pivot.OCLExpression;
import org.eclipse.ocl.pivot.OperationCallExp;
+import org.eclipse.ocl.pivot.PivotFactory;
import org.eclipse.ocl.pivot.Property;
import org.eclipse.ocl.pivot.Type;
import org.eclipse.ocl.pivot.Variable;
@@ -36,17 +41,16 @@ import org.eclipse.qvtd.compiler.CompilerChainException;
import org.eclipse.qvtd.pivot.qvtbase.Domain;
import org.eclipse.qvtd.pivot.qvtbase.Pattern;
import org.eclipse.qvtd.pivot.qvtbase.Predicate;
-import org.eclipse.qvtd.pivot.qvtbase.Rule;
import org.eclipse.qvtd.pivot.qvtbase.Transformation;
import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
import org.eclipse.qvtd.pivot.qvtcore.Mapping;
import org.eclipse.qvtd.pivot.qvtcore.utilities.QVTcoreHelper;
-import org.eclipse.qvtd.pivot.qvtcorebase.Area;
import org.eclipse.qvtd.pivot.qvtcorebase.BottomPattern;
import org.eclipse.qvtd.pivot.qvtcorebase.CoreDomain;
import org.eclipse.qvtd.pivot.qvtcorebase.CorePattern;
import org.eclipse.qvtd.pivot.qvtcorebase.GuardPattern;
import org.eclipse.qvtd.pivot.qvtcorebase.NavigationAssignment;
+import org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBaseFactory;
import org.eclipse.qvtd.pivot.qvtcorebase.RealizedVariable;
import org.eclipse.qvtd.pivot.qvtcorebase.VariableAssignment;
import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern;
@@ -64,8 +68,56 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
{
protected abstract class AbstractEnforceableRelationDomain2CoreMapping
{
+ protected abstract class AbstractOtherRelationDomain2CoreDomain
+ {
+ protected final @NonNull RelationDomain rOtherDomain; // A not-enforced domain wrt the enforced domain
+ protected final @NonNull String rOtherDomainName;
+ protected final @NonNull TypedModel rOtherTypedModel;
+ protected final @NonNull TypedModel cOtherTypedModel;
+ protected final @NonNull CoreDomain cOtherDomain;
+ protected final @NonNull GuardPattern cOtherGuardPattern;
+ protected final @NonNull BottomPattern cOtherBottomPattern;
+
+ public AbstractOtherRelationDomain2CoreDomain(@NonNull RelationDomain rOtherDomain) {
+ this.rOtherDomain = rOtherDomain;
+ this.rOtherDomainName = ClassUtil.nonNullState(rOtherDomain.getName());
+ this.rOtherTypedModel = ClassUtil.nonNullState(rOtherDomain.getTypedModel());
+ this.cOtherTypedModel = getCoreTypedModel(rOtherTypedModel);
+ this.cOtherDomain = qvtr2qvtc.whenCoreDomain(cMapping, rOtherDomainName);
+ cOtherDomain.setTypedModel(cOtherTypedModel);
+ cOtherDomain.setIsCheckable(rOtherDomain.isIsCheckable());
+ cOtherDomain.setIsEnforceable(false);
+ this.cOtherGuardPattern = ClassUtil.nonNullState(cOtherDomain.getGuardPattern());
+ this.cOtherBottomPattern = ClassUtil.nonNullState(cOtherDomain.getBottomPattern());
+ }
+
+ public abstract void mapOtherDomainToDomainVariablesAndPatterns() throws CompilerChainException;
+ }
+
+ /**
+ * An ExpressionCopier deep copies an OCLExpression tree, exploiting the forward traceability of context to
+ * update references and using sibling to distinguish multiple targets.
+ */
+ @SuppressWarnings("serial")
+ protected class ExpressionCopier extends EcoreUtil.Copier
+ {
+ @Override
+ public EObject get(Object oIn) {
+ if (oIn instanceof Element) {
+ List<Element> oOuts = source2targets.get(oIn);
+ if (oOuts != null) {
+ assert oOuts.size() == 1;
+ return oOuts.get(0);
+ }
+ }
+ return super.get(oIn);
+ }
+ }
+
// Relations
protected final @NonNull RelationDomain rEnforcedDomain; // rd: This source enforced domain
+ protected final @NonNull TypedModel rEnforcedTypedModel; // rEnforcedDomain.getTypedModel()
+ protected final @NonNull String rEnforcedDomainName; // rEnforcedDomain.getName()
protected final @NonNull List<@NonNull Variable> rEnforcedDomainVariables; // All variables defined or referenced in this domain
// @Deprecated
// protected final @NonNull /*Object*/TemplateExp rEnforcedTemplateExpression; // te: The template expression defining the enforced domain pattern
@@ -73,7 +125,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
// @Deprecated
// protected final @NonNull Variable rEnforcedRootVariable; // tev: The template expression variable (the root variable of the enforced domain pattern)
protected final @NonNull List<@NonNull Variable> rEnforcedRootVariables; // tev: The template expression variable (the root variable of the enforced domain pattern)
- protected final @NonNull List<@NonNull RelationDomain> rOtherDomains; // All other domains sharing the parent of this domain
+ protected final @NonNull List<@NonNull AbstractOtherRelationDomain2CoreDomain> otherDomain2coreDomains; // All other domains sharing the parent of this domain
protected final @NonNull Set<@NonNull Variable> rOtherDomainVariables; // All variables defined or referenced in other domains
// Core
protected final @NonNull Mapping cMapping; // m: The resultant mapping
@@ -85,6 +137,43 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
protected final @NonNull BottomPattern cEnforcedBottomPattern; // db: The resultant enforced domain bottom pattern
protected final @NonNull RealizedVariable cMiddleRealizedVariable; // tcv: The trace class variable (the middle variable identifying the middle object)
+ /**
+ * The lazily created named RealizedVariables in each CorePattern.
+ */
+ private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull RealizedVariable>> pattern2name2realizedVariable
+ = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull RealizedVariable>>();
+
+ /**
+ * The lazily created named RealizedVariables in each CorePattern.
+ */
+ private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull Variable>> pattern2name2variable
+ = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull Variable>>();
+
+ /**
+ * The lazily created RealizedVariables per Relation Variable in each CorePattern.
+ */
+ private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull RealizedVariable>> pattern2variable2realizedVariable
+ = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull RealizedVariable>>();
+
+ /**
+ * The lazily created Core Variable for each Relation Variable in each CorePattern.
+ */
+ private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull Variable>> pattern2variable2variable
+ = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull Variable>>();
+
+ /**
+ * The core Variable for each relation Variable in a chosen mapping.
+ */
+ private final @NonNull Map<@NonNull Variable, @NonNull Variable> rVariable2cVariable = new HashMap<@NonNull Variable, @NonNull Variable>();
+
+ /**
+ * The names allocated in each relation.
+ */
+ private final @NonNull Map<@NonNull String, @NonNull Element> name2element = new HashMap<@NonNull String, @NonNull Element>();
+
+ private final @NonNull Map<@NonNull Element, @NonNull List<@NonNull Element>> source2targets = new HashMap<@NonNull Element, @NonNull List<@NonNull Element>>();
+ private final @NonNull Map<@NonNull Element, @NonNull Element> target2source = new HashMap<@NonNull Element, @NonNull Element>();
+
public AbstractEnforceableRelationDomain2CoreMapping(@NonNull RelationDomain rEnforcedDomain, @NonNull String cMappingName) {
this.rEnforcedDomain = rEnforcedDomain;
//
@@ -94,21 +183,11 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
this.rEnforcedRootVariables = getRootVariables(rEnforcedDomain);
// this.rEnforcedTemplateExpression = /*(ObjectTemplateExp)*/ ClassUtil.nonNullState(rEnforcedDomainPattern.getTemplateExpression());
// this.rEnforcedRootVariable = ClassUtil.nonNullState(rEnforcedTemplateExpression.getBindsTo());
- @NonNull TypedModel rEnforcedTypedModel = ClassUtil.nonNullState(rEnforcedDomain.getTypedModel());
+ this.rEnforcedTypedModel = ClassUtil.nonNullState(rEnforcedDomain.getTypedModel());
@NonNull String rRelationName = ClassUtil.nonNullState(rRelation.getName());
- @NonNull String rEnforcedDomainName = ClassUtil.nonNullState(rEnforcedDomain.getName());
+ this.rEnforcedDomainName = ClassUtil.nonNullState(rEnforcedDomain.getName());
@NonNull Type traceClass = qvtr2qvtc.getTraceClass(rRelation);
//
- this.rOtherDomains = new ArrayList<@NonNull RelationDomain>();
- this.rOtherDomainVariables = new HashSet<@NonNull Variable>();
- for (@NonNull Domain rDomain : ClassUtil.nullFree(rEnforcedDomain.getRule().getDomain())) {
- if ((rDomain != rEnforcedDomain) && (rDomain instanceof RelationDomain)) {
- RelationDomain rRelationDomain = (RelationDomain)rDomain;
- rOtherDomains.add(rRelationDomain);
- rOtherDomainVariables.addAll(getDomainVariables(rRelationDomain));
- }
- }
- //
this.cEnforcedTypedModel = getCoreTypedModel(rEnforcedTypedModel);
this.cMapping = qvtr2qvtc.whenMapping(rRelation, cMappingName);
this.cMiddleGuardPattern = ClassUtil.nonNullState(cMapping.getGuardPattern());
@@ -116,7 +195,17 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
this.cEnforcedDomain = qvtr2qvtc.whenCoreDomain(cMapping, rEnforcedDomainName);
this.cEnforcedGuardPattern = ClassUtil.nonNullState(cEnforcedDomain.getGuardPattern());
this.cEnforcedBottomPattern = ClassUtil.nonNullState(cEnforcedDomain.getBottomPattern());
- this.cMiddleRealizedVariable = qvtr2qvtc.whenRealizedVariable(cMiddleBottomPattern, rRelationName+"_"+rEnforcedDomainName+"_v", traceClass); // 42
+ this.cMiddleRealizedVariable = whenRealizedVariable(cMiddleBottomPattern, rRelationName+"_"+rEnforcedDomainName+"_v", traceClass); // 42
+ //
+ this.otherDomain2coreDomains = new ArrayList<@NonNull AbstractOtherRelationDomain2CoreDomain>();
+ this.rOtherDomainVariables = new HashSet<@NonNull Variable>();
+ for (@NonNull Domain rDomain : ClassUtil.nullFree(rEnforcedDomain.getRule().getDomain())) {
+ if ((rDomain != rEnforcedDomain) && (rDomain instanceof RelationDomain)) {
+ RelationDomain rRelationDomain = (RelationDomain)rDomain;
+ otherDomain2coreDomains.add(createOtherDomain2CoreDomain(rRelationDomain));
+ rOtherDomainVariables.addAll(getDomainVariables(rRelationDomain));
+ }
+ }
}
// 2
@@ -161,7 +250,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
else {
OCLExpression mMember = mapExpression(rMember);
- mVariable = createVariable(qvtr2qvtc.getSafeName(rRelation, mMember, "member"), mMember);
+ mVariable = createVariable(getSafeName(mMember, "member"), mMember);
}
rMember2mVariable.put(rMember, mVariable);
}
@@ -276,6 +365,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
protected void addPredicate(@NonNull CorePattern cCorePattern, @NonNull OCLExpression cExpression) {
+ System.out.println("addPredicate " + cExpression);
Predicate cPredicate = createPredicate(cExpression);
cCorePattern.getPredicate().add(cPredicate);
}
@@ -287,6 +377,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
if (!cProperty.isIsMany() || (cExpression.getType() instanceof CollectionType)) {
VariableExp cSlotVariableExp = createVariableExp(cVariable);
NavigationAssignment cAssignment = createNavigationAssignment(cSlotVariableExp, cProperty, cExpression);
+ System.out.println("addPropertyAssignment " + cAssignment);
cBottomPattern.getAssignment().add(cAssignment);
return;
}
@@ -294,6 +385,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
if ((cOppositeProperty != null) && (cExpression instanceof VariableExp) && (!cOppositeProperty.isIsMany() || (cVariable.getType() instanceof CollectionType))) {
VariableExp cSlotVariableExp = (VariableExp)cExpression;
NavigationAssignment cAssignment = createNavigationAssignment(cSlotVariableExp, cOppositeProperty, createVariableExp(cVariable));
+ System.out.println("addPropertyAssignment " + cAssignment);
cBottomPattern.getAssignment().add(cAssignment);
return;
}
@@ -307,22 +399,22 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
if (rExpression instanceof ObjectTemplateExp) {
// body of RDomainPatternExprToMappingDomainTemplateVarAssignment
Variable rBoundVariable = ClassUtil.nonNullState(((ObjectTemplateExp)rExpression).getBindsTo());
- if (!rMiddleDomainVariables.contains(rBoundVariable)) {
- Variable cBoundVariable = getCoreVariable(rBoundVariable);
- cTargetVariable = doRVarToMRealizedVar(rTargetVariable);
+ if (!rSharedVariables.contains(rBoundVariable)) {
+ Variable cBoundVariable = getCoreVariable(rBoundVariable); // FIXME whenVariable(cMiddleBottomPattern, rBoundVariable);
+ cTargetVariable = getCoreVariable(rTargetVariable); //getCoreRealizedVariable(rTargetVariable);
cExpression = createVariableExp(cBoundVariable);
}
}
else if (rExpression instanceof VariableExp) {
Variable rReferredVariable = ClassUtil.nonNullState((Variable) ((VariableExp)rExpression).getReferredVariable());
Variable cReferredVariable = getCoreVariable(rReferredVariable);
- if (rMiddleDomainVariables.contains(rReferredVariable) ) {
+ if (rSharedVariables.contains(rReferredVariable) ) {
// body of RDomainPatternExprToMappingBottomVarAssignment
- cTargetVariable = doRVarToMRealizedVar(rTargetVariable);
+ cTargetVariable = getCoreRealizedVariable(rTargetVariable);
}
else {
// body of RDomainPatternExprToMappingDomainVarAssignment
- cTargetVariable = doRVarToMRealizedVar(rTargetVariable);
+ cTargetVariable = getCoreRealizedVariable(rTargetVariable);
cEnforcedBottomPattern.getRealizedVariable().add((RealizedVariable)cTargetVariable);
}
cExpression = createVariableExp(cReferredVariable);
@@ -346,14 +438,10 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
*
* ve1:T{tp = ve2} => ve1.tp := ve2;
*/
- Variable vpte = ClassUtil.nonNullState((Variable) e.getReferredVariable());
- Variable mvpte = getCoreVariable(vpte);
- if (rMiddleDomainVariables.contains(vpte)) {
- addPropertyAssignment(cMiddleBottomPattern, cTemplateVariable, traceProperty, createVariableExp(mvpte));
- }
- else {
- addPropertyAssignment(cEnforcedBottomPattern, cTemplateVariable, traceProperty, createVariableExp(mvpte));
- }
+ Variable rVariable/*vpte*/ = ClassUtil.nonNullState((Variable) e.getReferredVariable());
+ Variable cVariable/*mvpte*/ = getCoreVariable(rVariable);
+ BottomPattern cBottomPattern = rSharedVariables.contains(rVariable) ? cMiddleBottomPattern : cEnforcedBottomPattern;
+ addPropertyAssignment(cBottomPattern, cTemplateVariable, traceProperty, createVariableExp(cVariable));
}
// // RDomainPatternToMDBottomPattern
@@ -382,6 +470,10 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
else {
}
+ OCLExpression rGuardPredicate = rTemplateExpression.getWhere();
+ if (rGuardPredicate != null) {
+ cMiddleBottomPattern.getPredicate().add(createPredicate(mapExpression(rGuardPredicate)));
+ }
}
// loop body of RDomainPatternToMDBottomPatternSimpleNonVarExpr
@@ -395,41 +487,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
addPropertyAssignment(cMiddleBottomPattern, cTemplateVariable, traceProperty, mapExpression(ptv));
}
- // 15
- /*
- * Creates a Predicate, who's ConditionExpression is an
- * OperationCallExp:
- * trace.<v.name> = v;
- * TODO Suggest better name: RDomainPatternVariableToTracePredicate?
- */
- private void doRDomainToMBottomPredicateForEnforcement(@NonNull Set<@NonNull Predicate> predicatesWithoutVarBindings, @NonNull Set<@NonNull Variable> unboundDomainVars) throws CompilerChainException
- {
- Set<@NonNull Variable> remainingUnBoundDomainVars = new HashSet<@NonNull Variable>(unboundDomainVars);
- remainingUnBoundDomainVars.removeAll(rEnforcedRootVariables);
- Set<@NonNull Predicate> predicatesWithVarBindings =
- selectPredicatesThatReferToVariables(predicatesWithoutVarBindings, remainingUnBoundDomainVars);
- mapPredicatesToPredicates(predicatesWithVarBindings);
- // assign
- for (@NonNull Variable v : rEnforcedRootVariables) {
- @NonNull Variable mv = getCoreVariable(v);
- Property pep = getProperty(cMiddleRealizedVariable.getType(), v);
- NavigationCallExp pe = createNavigationCallExp(createVariableExp(cMiddleRealizedVariable), pep);
- addConditionPredicate(cMiddleBottomPattern, pe, createVariableExp(mv));
- }
- }
-
- // 20
- private void doRDomainToMDBottomForEnforcementOfNonIdentityPropObject(@NonNull Set<@NonNull Predicate> predicatesWithoutVarBindings, @NonNull Set<@NonNull Variable> unboundDomainVars)
- {
- // check
- // FIXME not c.key.part->includes(pp)
- // when
-// RelationalTransformation rt = (RelationalTransformation) r.getTransformation();
-// assert rt != null;
-// @NonNull Transformation mt = qvtr2qvtc.getCoreTransformation(rt);
- // TODO Finish when clear about if the call should be uncommented
- // ...
- }
+ protected abstract @NonNull AbstractOtherRelationDomain2CoreDomain createOtherDomain2CoreDomain(@NonNull RelationDomain rRelationDomain);
// 50
/*
@@ -459,46 +517,9 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}*/
- // 18
- /*
- * Creates Assignments for each part of the ObjectTemplateExp
- */
- private void doRDomainToMDBottomForEnforcementOfIdentityProp() throws CompilerChainException
- {
- for (@NonNull TemplateExp rEnforcedTemplateExpression : rEnforcedTemplateExpressions) {
- Variable v = rEnforcedTemplateExpression.getBindsTo();
- assert v != null;
- Type c = v.getType();
- assert c != null;
- Area area = cEnforcedBottomPattern.getArea();
- assert area instanceof CoreDomain : "Missing CoreDomain for doRDomainToMDBottomForEnforcementOfIdentityProp";
- CoreDomain cd = (CoreDomain) area;
- Rule rule = cd.getRule();
- assert rule instanceof Mapping : "Missing Mapping for doRDomainToMDBottomForEnforcementOfIdentityProp";
- Mapping m = (Mapping) rule;
- BottomPattern mb = m.getBottomPattern();
- assert mb != null;
- if (rEnforcedTemplateExpression instanceof ObjectTemplateExp) {
- for (@NonNull PropertyTemplateItem pt : ClassUtil.nullFree(((ObjectTemplateExp)rEnforcedTemplateExpression).getPart())) {
- final Property partProperty = ClassUtil.nonNullState(pt.getReferredProperty());
- // check relations
- Key key = qvtr2qvtc.getKeyforType(c);
- if ((key != null) && key.getPart().contains(partProperty)) {
- final OCLExpression partValue = ClassUtil.nonNullState(pt.getValue());
- addPropertyAssignmentToMiddleBottomPattern(v, partProperty, partValue);
- }
- }
- }
- else {
- // throw new CompilerChainException("Missing doInvokedRelationToMappingForEnforcement support for CollectionTemplateExp");
- System.err.println("Missing doRDomainToMDBottomForEnforcementOfIdentityProp support for CollectionTemplateExp");
- }
- }
- }
-
- private @NonNull /*Realized*/Variable doRVarToMRealizedVar(@NonNull Variable rv) {
- @NonNull /*Realized*/Variable mv = /*(RealizedVariable)*/ qvtr2qvtc.getCoreVariable(cMapping, rv);
- return mv;
+ private @NonNull RealizedVariable getCoreRealizedVariable(@NonNull Variable rv) {
+ @NonNull /*Realized*/Variable mv = /*(RealizedVariable)*/ getCoreVariable(rv);
+ return (@NonNull RealizedVariable) mv;
}
protected @NonNull TypedModel getCoreTypedModel(@NonNull TypedModel rTypedModel) {
@@ -514,7 +535,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
protected @NonNull Variable getCoreVariable(@NonNull Variable rVariable) { // doRVarToMVar
- return qvtr2qvtc.getCoreVariable(cMapping, rVariable);
+ return ClassUtil.nonNullState(rVariable2cVariable.get(rVariable));
}
protected @NonNull List<@NonNull Variable> getDomainVariables(@NonNull RelationDomain rRelationDomain) {
@@ -544,6 +565,25 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
relationDomains.remove(rEnforcedDomain);
return relationDomains;
}
+
+ public @NonNull String getSafeName(@NonNull Element newElement, @NonNull String name) {
+ Element oldElement = name2element.get(name);
+ if (oldElement == newElement) {
+ return name;
+ }
+ if (oldElement == null) {
+ name2element.put(name, newElement);
+ return name;
+ }
+ for (int i = 1; true; i++) {
+ String newName = name + "_" + i;
+ oldElement = name2element.get(newName);
+ if (oldElement == null) {
+ name2element.put(newName, newElement);
+ return newName;
+ }
+ }
+ }
protected @NonNull List<@NonNull TemplateExp> getTemplateExpressions(@NonNull RelationDomain rRelationDomain) {
List<@NonNull TemplateExp> rTemplateExpressions = new ArrayList<@NonNull TemplateExp>();
@@ -578,9 +618,11 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
TemplateExp rTemplateExpression = qvtr2qvtc.getTemplateExpression(rDomainVariable);
// if (dvte instanceof ObjectTemplateExp) {
// tp=dv:T{...} => tcv.tp := dv;
- Variable cVariable = getCoreVariable(rDomainVariable);
- Property cProperty = getProperty(cMiddleRealizedVariable.getType(), rDomainVariable);
- addPropertyAssignment(cMiddleBottomPattern, cMiddleRealizedVariable, cProperty, createVariableExp(cVariable));
+ Property cProperty = basicGetProperty(cMiddleRealizedVariable.getType(), rDomainVariable);
+ if (cProperty != null) { // null for dead variables
+ Variable cVariable = getCoreVariable(rDomainVariable);
+ addPropertyAssignment(cMiddleBottomPattern, cMiddleRealizedVariable, cProperty, createVariableExp(cVariable));
+ }
// }
/* else if (dvte instanceof CollectionTemplateExp) {
// tp=dv:T{...} => tcv.tp := dv;
@@ -605,9 +647,17 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
Set<@NonNull Predicate> predicatesWithVarBindings = selectPredicatesThatReferToVariables(predicatesWithoutVarBindings, nonRootEnforcedBottomDomainVariables);
Set<@NonNull Predicate> remainingPredicatesWithoutVarBindings = new HashSet<@NonNull Predicate>(predicatesWithoutVarBindings);
remainingPredicatesWithoutVarBindings.removeAll(predicatesWithVarBindings);
- for (@NonNull TemplateExp rEnforcedTemplateExpression : rEnforcedTemplateExpressions) {
- Variable rTemplateVariable = ClassUtil.nonNullState(rEnforcedTemplateExpression.getBindsTo());
- Type rTemplateVariableType = ClassUtil.nonNullState(rTemplateVariable.getType());
+ for (@NonNull TemplateExp rEnforcedTemplateExpression/*te*/ : rEnforcedTemplateExpressions) {
+ mapEnforcedDomain(rEnforcedTemplateExpression);
+ }
+ }
+
+ // RDomainToMDBottomForEnforcement
+ private void mapEnforcedDomain(@NonNull TemplateExp rEnforcedTemplateExpression/*te*/) throws CompilerChainException
+ {
+// for (@NonNull TemplateExp rEnforcedTemplateExpression/*te*/ : rEnforcedTemplateExpressions) {
+ Variable rTemplateVariable/*v*/ = ClassUtil.nonNullState(rEnforcedTemplateExpression.getBindsTo());
+ Type rTemplateVariableType/*c*/ = ClassUtil.nonNullState(rTemplateVariable.getType());
Key key = qvtr2qvtc.getKeyforType(rTemplateVariableType);
// if (key == null){
// // Nothing to do
@@ -615,16 +665,45 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
/*else*/ if (rEnforcedTemplateExpression instanceof ObjectTemplateExp) {
for (@NonNull PropertyTemplateItem pt : ClassUtil.nullFree(((ObjectTemplateExp)rEnforcedTemplateExpression).getPart())) {
Property rPartProperty = ClassUtil.nonNullState(pt.getReferredProperty());
- OCLExpression rPartValue = ClassUtil.nonNullState(pt.getValue());
+ OCLExpression rPartValue/*pte*/ = ClassUtil.nonNullState(pt.getValue());
if ((key != null) && key.getPart().contains(rPartProperty)) {
// body of RDomainToMDBottomForEnforcementOfIdentityProp
addPropertyAssignmentToMiddleBottomPattern(rTemplateVariable, rPartProperty, rPartValue);
}
- else if (!(rPartValue instanceof TemplateExp)) {
+ else if (rPartValue instanceof TemplateExp) {
+ // body of RDomainToMDBottomForEnforcementOfNonIdentityPropObject
+ TemplateExp pte = (TemplateExp)rPartValue;
+ Variable pv = pte.getBindsTo();
+ Mapping composedMapping = cMapping; //qvtr2qvtc.createMapping(); //whenMapping(rRelation, cMapping.getName()+"_for_"+pv.name);
+// GuardPattern composedMappingGuardPattern = ClassUtil.nonNullState(composedMapping.getGuardPattern());
+ CoreDomain composedEnforcedDomain = cEnforcedDomain;//qvtr2qvtc.whenCoreDomain(composedMapping, rEnforcedDomainName);
+// composedEnforcedDomain.setIsEnforceable(true);
+// composedEnforcedDomain.setTypedModel(cEnforcedTypedModel);
+// GuardPattern composedEnforcedGuardPattern = composedEnforcedDomain.getGuardPattern();
+ BottomPattern composedEnforcedBottomPattern = cEnforcedBottomPattern;//ClassUtil.nonNullState(composedEnforcedDomain.getBottomPattern());
+
+
+// /*Realized*/Variable cTargetVariable/*mpv*/ = mapRealizedVariable(pv);
+ /*Realized*/Variable cTargetVariable/*mpv*/ = rWhenVariables.contains(pv) ? getCoreVariable(pv) : whenRealizedVariable(composedEnforcedBottomPattern, pv);
+
+ Variable cTemplateVariable/*mv*/ = getCoreVariable(rTemplateVariable);
+ Property cTargetProperty = getProperty(cTemplateVariable.getType(), rPartProperty);
+ addPropertyAssignment(composedEnforcedBottomPattern, cTemplateVariable, cTargetProperty, createVariableExp(cTargetVariable));
+// FIXME mapEnforcedDomain(pte);
+// cMapping.getLocal().add(composedMapping);
+ Property cTargetProperty2 = getProperty(cMiddleRealizedVariable.getType(), cTargetVariable);
+ addPropertyAssignment(cMiddleBottomPattern, cMiddleRealizedVariable, cTargetProperty2, createVariableExp(cTargetVariable));
+ }
+ else {
// body of RDomainToMDBottomForEnforcementOfNonIdentityPropPrimitive
- Mapping composedMapping = qvtr2qvtc.createMapping(); //whenMapping(rRelation, cMapping.getName()+"_forNonIdentityProp");
- BottomPattern composedBottomPattern = ClassUtil.nonNullState(composedMapping.getBottomPattern());
+ Mapping composedMapping = cMapping; //qvtr2qvtc.createMapping(); //whenMapping(rRelation, cMapping.getName()+"_forNonIdentityProp");
+ BottomPattern composedBottomPattern = cMiddleBottomPattern; //BClassUtil.nonNullState(composedMapping.getBottomPattern());
// composedMapping.getGuardPattern();
+ GuardPattern composedMappingGuardPattern = ClassUtil.nonNullState(composedMapping.getGuardPattern());
+ CoreDomain composedEnforcedDomain = cEnforcedDomain;//qvtr2qvtc.whenCoreDomain(composedMapping, rEnforcedDomainName);
+ GuardPattern composedEnforcedGuardPattern = cEnforcedGuardPattern;//composedEnforcedDomain.getGuardPattern();
+ // where
+ @SuppressWarnings("unused")BottomPattern composedMappingBottomPattern = cMiddleBottomPattern;//ClassUtil.nonNullState(composedMapping.getBottomPattern());
Variable cTemplateVariable = getCoreVariable(rTemplateVariable);
//RDomainToMComposedMappingGuardrEnforcedDomain
for (@NonNull TemplateExp rTemplateExpression : rEnforcedTemplateExpressions) {
@@ -632,30 +711,19 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
// check
Variable rReferredVariable = (Variable) ClassUtil.nonNullState(((VariableExp) rPartValue).getReferredVariable());
if (isVarBoundToSomeOtherTemplate((ObjectTemplateExp) rTemplateExpression, rEnforcedTemplateExpression, rReferredVariable)) {
- String rEnforcedDomainName = ClassUtil.nonNullState(rEnforcedDomain.getName());
- TypedModel rTypedModel = rEnforcedDomain.getTypedModel();
- if (rTransformation != rTypedModel.getTransformation())
- return;
- // init
- GuardPattern composedMappingGuardPattern = ClassUtil.nonNullState(composedMapping.getGuardPattern());
- CoreDomain composedEnforcedDomain = qvtr2qvtc.whenCoreDomain(composedMapping, rEnforcedDomainName);
- GuardPattern composedEnforcedGuardPattern = composedEnforcedDomain.getGuardPattern();
- // where
- @SuppressWarnings("unused")BottomPattern composedMappingBottomPattern = ClassUtil.nonNullState(composedMapping.getBottomPattern());
Variable cReferredVariable = getCoreVariable(rReferredVariable);
// assign
Property cTargetProperty = getProperty(cReferredVariable.getType(), cReferredVariable);
NavigationCallExp cPropertyCallExp = createNavigationCallExp(createVariableExp(cMiddleRealizedVariable), cTargetProperty);
addConditionPredicate(composedMappingGuardPattern, cPropertyCallExp, createVariableExp(cReferredVariable));
- TypedModel cTypedModel = getCoreTypedModel(rTypedModel);
- composedEnforcedDomain.setTypedModel(cTypedModel);
+// composedEnforcedDomain.setTypedModel(cEnforcedTypedModel);
composedEnforcedGuardPattern.getBindsTo().add(cReferredVariable);
- composedEnforcedDomain.setGuardPattern(composedEnforcedGuardPattern);
+// composedEnforcedDomain.setGuardPattern(composedEnforcedGuardPattern);
}
}
Property cTargetProperty = getProperty(cTemplateVariable.getType(), rPartProperty);
addPropertyAssignment(composedBottomPattern, cTemplateVariable, cTargetProperty, mapExpression(rPartValue));
- cMapping.getLocal().add(composedMapping);
+// cMapping.getLocal().add(composedMapping);
}
}
}
@@ -674,9 +742,32 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
Variable cTemplateVariable = getCoreVariable(rTemplateVariable);
Property cTargetProperty = getProperty(cMiddleRealizedVariable.getType(), rTemplateVariable);
addPropertyAssignment(cMiddleBottomPattern, cMiddleRealizedVariable, cTargetProperty, createVariableExp(cTemplateVariable));
- }
+// }
}
+ // 15
+ /*
+ * Creates a Predicate, who's ConditionExpression is an
+ * OperationCallExp:
+ * trace.<v.name> = v;
+ * TODO Suggest better name: RDomainPatternVariableToTracePredicate?
+ *
+ private void doRDomainToMBottomPredicateForEnforcement(@NonNull Set<@NonNull Predicate> predicatesWithoutVarBindings, @NonNull Set<@NonNull Variable> unboundDomainVars) throws CompilerChainException
+ {
+ Set<@NonNull Variable> remainingUnBoundDomainVars = new HashSet<@NonNull Variable>(unboundDomainVars);
+ remainingUnBoundDomainVars.removeAll(rEnforcedRootVariables);
+ Set<@NonNull Predicate> predicatesWithVarBindings =
+ selectPredicatesThatReferToVariables(predicatesWithoutVarBindings, remainingUnBoundDomainVars);
+ mapPredicatesToPredicates(predicatesWithVarBindings);
+ // assign
+ for (@NonNull Variable v : rEnforcedRootVariables) {
+ @NonNull Variable mv = getCoreVariable(v);
+ Property pep = getProperty(cMiddleRealizedVariable.getType(), v);
+ NavigationCallExp pe = createNavigationCallExp(createVariableExp(cMiddleRealizedVariable), pep);
+ addConditionPredicate(cMiddleBottomPattern, pe, createVariableExp(mv));
+ }
+ } */
+
/*
* The issue with this method is that all variables should have been
* transformed so all variable references can be correctly pointed.
@@ -685,10 +776,18 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
*/
// 25
protected @NonNull OCLExpression mapExpression(@NonNull OCLExpression rExpression) {
-// OCLExpCopy oCLExpCopy = new OCLExpCopy(qvtr2qvtc);
-
-// return (OCLExpression) ClassUtil.nonNullState(oCLExpCopy.doSwitch(re));
- return qvtr2qvtc.copy(rExpression, null);
+ EcoreUtil.Copier copier = new ExpressionCopier();
+ OCLExpression eOut = (OCLExpression) copier.copy(rExpression);
+ copier.copyReferences();
+ for (EObject eSource : copier.keySet()) {
+ EObject eTarget = copier.get(eSource);
+ if (eTarget != null) {
+ assert eSource != null;
+ putTrace((Element)eTarget, (Element)eSource);
+ }
+ }
+ assert eOut != null;
+ return eOut;
}
protected void mapPredicatesToPredicates(@NonNull Iterable<@NonNull Predicate> rPredicates) { // RPredicateSetToMBPredicateSet
@@ -715,7 +814,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
protected @NonNull RealizedVariable mapRealizedVariable(@NonNull Variable rVariable) {
- return qvtr2qvtc.whenRealizedVariable(cEnforcedBottomPattern, rVariable);
+ return whenRealizedVariable(cEnforcedBottomPattern, rVariable);
}
/**
@@ -726,7 +825,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
* @param cMiddleBottomPattern the mb
*/
// RRelImplToMBottomEnforcementOperation
- protected void mapRelationImplemantationToEnforcementOperation() {
+ protected void mapRelationImplementationToEnforcementOperation() {
// TODO Code this when testing transformations with operational implementations.
@@ -734,7 +833,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
protected void mapVariablesToVariables(@NonNull Iterable<@NonNull Variable> rVariables, @NonNull CorePattern cPattern) { // RVarSetToDGVarSet, RVarSetToMBVarSet
for (@NonNull Variable rVariable : rVariables) {
- qvtr2qvtc.whenVariable(cPattern, rVariable);
+ whenVariable(cPattern, rVariable);
}
}
@@ -768,7 +867,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
//RWhenRelCallArgToMGuardPredicate
Variable dv = rRelationDomain.getRootVariable().get(0);
Variable v = (Variable) ClassUtil.nonNullState(ve.getReferredVariable());
- Variable vd = qvtr2qvtc.whenVariable(cMiddleGuardPattern, tc.getName()+vdId+"_v", tc);
+ Variable vd = whenVariable(cMiddleGuardPattern, tc.getName()+vdId+"_v", tc);
Variable mv = getCoreVariable(v);
Property pep = getProperty(vd.getType(), dv);
NavigationCallExp pe = createNavigationCallExp(createVariableExp(vd), pep);
@@ -787,6 +886,28 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
}
+ protected void putCoreVariable(@NonNull Variable relationVariable, @NonNull Variable coreVariable) {
+// Mapping mapping = QVTcoreUtil.getContainingMapping(coreVariable);
+// assert mapping != null;
+ Variable oldVal = rVariable2cVariable.put(relationVariable, coreVariable);
+ // Variables should only be traced once
+ if (oldVal != null) {
+ System.out.println("putCoreVariable replacing value for " + relationVariable.getName());
+ }
+ putTrace(coreVariable, relationVariable);
+ }
+
+ private void putTrace(@NonNull Element coreElement, @NonNull Element relationElement) {
+ Element oldRelationElement = target2source.put(coreElement, relationElement);
+ assert oldRelationElement == null;
+ List<@NonNull Element> targets = source2targets.get(relationElement);
+ if (targets == null) {
+ targets = new ArrayList<@NonNull Element> ();
+ source2targets.put(relationElement, targets);
+ }
+ targets.add(coreElement);
+ }
+
protected @NonNull Set<@NonNull Predicate> selectPredicatesThatReferToVariables(@NonNull Set<@NonNull Predicate> rPredicates, @NonNull Set<@NonNull Variable> rVariables) {
Set<@NonNull Predicate> rPredicatesThatReferToVariables = new HashSet<@NonNull Predicate>();
for (Predicate rPredicate : rPredicates) {
@@ -810,7 +931,108 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
@Override
public @NonNull String toString() {
- return rRelation.getName() + "::" + rEnforcedDomain.getName() + " => " + cMapping.getName() + "::" + cEnforcedDomain.getName();
+ return rRelation.getName() + "::" + rEnforcedDomainName + " => " + cMapping.getName() + "::" + cEnforcedDomain.getName();
+ }
+
+ /**
+ * Lazily create the RealizedVariable for a corePattern corresponding to a relationVariable.
+ */
+ private @NonNull RealizedVariable whenRealizedVariable(@NonNull BottomPattern corePattern, @NonNull Variable relationVariable) {
+ Map<@NonNull Variable, @NonNull RealizedVariable> variable2realizedVariable = pattern2variable2realizedVariable.get(corePattern);
+ if (variable2realizedVariable == null) {
+ variable2realizedVariable = new HashMap<@NonNull Variable, @NonNull RealizedVariable>();
+ pattern2variable2realizedVariable.put(corePattern, variable2realizedVariable);
+ }
+ RealizedVariable realizedVariable = variable2realizedVariable.get(relationVariable);
+ if (realizedVariable == null) {
+ String name = relationVariable.getName();
+ Type type = relationVariable.getType();
+ assert (name != null) && (type != null);
+ realizedVariable = QVTcoreBaseFactory.eINSTANCE.createRealizedVariable();
+ realizedVariable.setName(name);
+ realizedVariable.setType(type);
+ realizedVariable.setIsRequired(true);
+ variable2realizedVariable.put(relationVariable, realizedVariable);
+ corePattern.getRealizedVariable().add(realizedVariable);
+ putCoreVariable(relationVariable, realizedVariable);
+ }
+ return realizedVariable;
+ }
+
+ /**
+ * Lazily create the name RealizedVariable for a corePattern with a type.
+ */
+ private @NonNull RealizedVariable whenRealizedVariable(@NonNull BottomPattern corePattern, @NonNull String name, @NonNull Type type) {
+ Map<@NonNull String, @NonNull RealizedVariable> name2realizedVariable = pattern2name2realizedVariable.get(corePattern);
+ if (name2realizedVariable == null) {
+ name2realizedVariable = new HashMap<@NonNull String, @NonNull RealizedVariable>();
+ pattern2name2realizedVariable.put(corePattern, name2realizedVariable);
+ }
+ RealizedVariable realizedVariable = name2realizedVariable.get(name);
+ if (realizedVariable == null) {
+ realizedVariable = QVTcoreBaseFactory.eINSTANCE.createRealizedVariable();
+ realizedVariable.setName(name);
+ realizedVariable.setType(type);
+ realizedVariable.setIsRequired(true);;
+ name2realizedVariable.put(name, realizedVariable);
+ corePattern.getRealizedVariable().add(realizedVariable);
+// putTrace(realizedVariable, corePattern);
+ }
+ else {
+ assert realizedVariable.getType() == type;
+ }
+ return realizedVariable;
+ }
+
+ /**
+ * Lazily create the Variable for a corePattern corresponding to a relationVariable.
+ */
+ private @NonNull Variable whenVariable(@NonNull CorePattern corePattern, @NonNull Variable relationVariable) {
+ String name2 = relationVariable.getName();
+ Map<@NonNull Variable, @NonNull Variable> variable2variable = pattern2variable2variable.get(corePattern);
+ if (variable2variable == null) {
+ variable2variable = new HashMap<@NonNull Variable, @NonNull Variable>();
+ pattern2variable2variable.put(corePattern, variable2variable);
+ }
+ Variable coreVariable = variable2variable.get(relationVariable);
+ if (coreVariable == null) {
+ String name = relationVariable.getName();
+ Type type = relationVariable.getType();
+ assert (name != null) && (type != null);
+ coreVariable = PivotFactory.eINSTANCE.createVariable();
+ coreVariable.setName(name);
+ coreVariable.setType(type);
+ coreVariable.setIsRequired(relationVariable.isIsRequired());
+ variable2variable.put(relationVariable, coreVariable);
+ corePattern.getVariable().add(coreVariable);
+ putCoreVariable(relationVariable, coreVariable);
+ }
+ return coreVariable;
+ }
+
+ /**
+ * Lazily create the name Variable for a corePattern with a type.
+ */
+ protected @NonNull Variable whenVariable(@NonNull CorePattern corePattern, @NonNull String name, @NonNull Type type) {
+ Map<@NonNull String, @NonNull Variable> name2variable = pattern2name2variable.get(corePattern);
+ if (name2variable == null) {
+ name2variable = new HashMap<@NonNull String, @NonNull Variable>();
+ pattern2name2variable.put(corePattern, name2variable);
+ }
+ Variable coreVariable = name2variable.get(name);
+ if (coreVariable == null) {
+ coreVariable = PivotFactory.eINSTANCE.createVariable();
+ coreVariable.setName(name);
+ coreVariable.setType(type);
+ coreVariable.setIsRequired(true);
+ name2variable.put(name, coreVariable);
+ corePattern.getVariable().add(coreVariable);
+ putTrace(coreVariable, corePattern);
+ }
+ else {
+ assert coreVariable.getType() == type;
+ }
+ return coreVariable;
}
protected abstract void where() throws CompilerChainException;
@@ -820,11 +1042,13 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
// Relations
protected final @NonNull Relation rRelation; // r: Parent relation of this domain
protected final @NonNull RelationalTransformation rTransformation; // Parent transformation of parent relation of enforced domain
- protected final @NonNull Set<@NonNull Variable> rAllBoundDomainVariables; // All pattern variables declared in all domains (not CollectionTemplateExp member/rest, Let/Iterator variables)
+ protected final @NonNull Set<@NonNull Variable> rAllBoundDomainVariables; // ??All pattern variables declared in all domains (not CollectionTemplateExp member/rest, Let/Iterator variables)
protected final @NonNull Set<@NonNull Variable> rWhenVariables; // All pattern variables used in when calls
- protected final @NonNull Set<@NonNull Variable> rWhereVariables; // All pattern variables used as where calls
+ protected final @NonNull Set<@NonNull Variable> rWhereVariables; // All pattern variables used in where calls
protected final @NonNull Set<@NonNull Predicate> rPredicates; // All non-RelationCallExp predicates
- protected final @NonNull Set<@NonNull Variable> rMiddleDomainVariables; // All pattern variables shared by more than one domain
+ protected final @NonNull Set<@NonNull Variable> rSharedVariables; // All pattern variables shared by more than one domain
+// protected final @NonNull Set<@NonNull Variable> rUniquePatternVariables; // All pattern variables that bind to exactly one object
+// protected final @NonNull Set<@NonNull Variable> rNonUniquePatternVariables; // All pattern variables that bind to more than one object, typically as a Collection iterator
protected final @NonNull Set<@NonNull Variable> rMiddleBottomDomainVariables;
// Core
protected final @NonNull Transformation cTransformation; // mt: The transformation containing the result mapping
@@ -835,12 +1059,21 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
this.rRelation = rRelation;
this.rTransformation = (RelationalTransformation) ClassUtil.nonNullState(rRelation.getTransformation());
//
+// this.rUniquePatternVariables = new HashSet<@NonNull Variable>();
+// this.rNonUniquePatternVariables = new HashSet<@NonNull Variable>();
+// for (@NonNull Domain rDomain : ClassUtil.nullFree(rRelation.getDomain())) {
+// for (@NonNull DomainPattern rDomainPattern : ClassUtil.nullFree(((RelationDomain)rDomain).getPattern())) {
+// gatherPatternVariables(this.rUniquePatternVariables, this.rNonUniquePatternVariables, true, rDomainPattern.getTemplateExpression());
+// }
+// }
this.rAllBoundDomainVariables = new HashSet<@NonNull Variable>();
for (@NonNull Domain rDomain : ClassUtil.nullFree(rRelation.getDomain())) {
for (@NonNull DomainPattern rDomainPattern : ClassUtil.nullFree(((RelationDomain)rDomain).getPattern())) {
this.rAllBoundDomainVariables.addAll(ClassUtil.nullFree(rDomainPattern.getBindsTo()));
}
}
+// rAllBoundDomainVariables.addAll(rUniquePatternVariables);
+// rAllBoundDomainVariables.addAll(rNonUniquePatternVariables);
//
this.rWhenVariables = new HashSet<@NonNull Variable>();
Pattern rWhenPattern = rRelation.getWhen();
@@ -860,17 +1093,49 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
}
//
- this.rMiddleDomainVariables = qvtr2qvtc.getMiddleDomainVariables(rRelation);
+ this.rSharedVariables = qvtr2qvtc.getMiddleDomainVariables(rRelation);
//
this.rMiddleBottomDomainVariables = new HashSet<@NonNull Variable>(rWhereVariables);
rMiddleBottomDomainVariables.removeAll(rWhenVariables);
rMiddleBottomDomainVariables.removeAll(rAllBoundDomainVariables);
- rMiddleBottomDomainVariables.addAll(rMiddleDomainVariables); // FIXME this stinks
+ rMiddleBottomDomainVariables.addAll(rSharedVariables); // FIXME this stinks
//
this.cTransformation = qvtr2qvtc.getCoreTransformation(rTransformation);
}
+
+ protected @Nullable Property basicGetProperty(/*@NonNull*/ Type aClass, @NonNull NamedElement rNamedElement) throws CompilerChainException {
+ /*@NonNull*/ String name = rNamedElement.getName();
+ assert (aClass != null) && (name != null);
+ CompleteClass completeClass = environmentFactory.getCompleteModel().getCompleteClass(aClass);
+ return completeClass.getProperty(name);
+ }
- /* ============= Helpers ============= */
+ /**
+ * Add each of the domain variables within templateExpression to either uniquePatternVariables or nonUniquePatternVariables
+ * according to whether the variable has a single or multiple bindings in the overall context. The isUnique parameter is
+ * propagated during the recursion as true until a collection is traversed.
+ *
+ private void gatherPatternVariables(@NonNull Set<@NonNull Variable> uniquePatternVariables, @NonNull Set<@NonNull Variable> nonUniquePatternVariables,
+ boolean isUnique, @NonNull TemplateExp templateExpression) {
+ Variable templateVariable = ClassUtil.nonNullState(templateExpression.getBindsTo());
+ (isUnique ? uniquePatternVariables : nonUniquePatternVariables).add(templateVariable);
+ if (templateExpression instanceof ObjectTemplateExp) {
+ for (@NonNull PropertyTemplateItem propertyTemplateItem : ClassUtil.nullFree(((ObjectTemplateExp)templateExpression).getPart())) {
+ Property property = propertyTemplateItem.getReferredProperty();
+ OCLExpression value = propertyTemplateItem.getValue();
+ if (value instanceof TemplateExp) {
+ gatherPatternVariables(uniquePatternVariables, nonUniquePatternVariables, isUnique && !property.isIsMany(), (@NonNull TemplateExp) value);
+ }
+ }
+ }
+ else if (templateExpression instanceof CollectionTemplateExp) {
+ for (@NonNull OCLExpression memberExpression : ClassUtil.nullFree(((CollectionTemplateExp)templateExpression).getMember())) {
+ if (memberExpression instanceof TemplateExp) {
+ gatherPatternVariables(uniquePatternVariables, nonUniquePatternVariables, false, (@NonNull TemplateExp) memberExpression);
+ }
+ }
+ }
+ } */
protected @NonNull Property getProperty(/*@NonNull*/ Type aClass, @NonNull NamedElement rNamedElement) throws CompilerChainException {
/*@NonNull*/ String name = rNamedElement.getName();
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked.ecore b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked.ecore
new file mode 100644
index 000000000..91306da6c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked.ecore
@@ -0,0 +1,14 @@
+<?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="Checked" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/rel2core/Checked"
+ nsPrefix="Checked">
+ <eClassifiers xsi:type="ecore:EClass" name="CheckedClass">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="checkedProperty" lowerBound="1"
+ eType="#//CheckedClass">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="TObjectTemplateToTraceClassProps"/>
+ <details key="lower" value="1"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked2Enforced.ecore b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked2Enforced.ecore
new file mode 100644
index 000000000..183f0648d
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Checked2Enforced.ecore
@@ -0,0 +1,21 @@
+<?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="Checked2Enforced" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/rel2core/Checked2Enforced"
+ nsPrefix="Checked2Enforced">
+ <eClassifiers xsi:type="ecore:EClass" name="TChecked2Enforced">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="checkedRootVariable" lowerBound="1"
+ eType="ecore:EClass Checked.ecore#//CheckedClass">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="TObjectTemplateToTraceClassProps"/>
+ <details key="lower" value="1"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="enforcedRootVariable" lowerBound="1"
+ eType="ecore:EClass Enforced.ecore#//EnforcedClass">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="TObjectTemplateToTraceClassProps"/>
+ <details key="lower" value="1"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Enforced.ecore b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Enforced.ecore
new file mode 100644
index 000000000..a3bfce42c
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Enforced.ecore
@@ -0,0 +1,14 @@
+<?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="Enforced" nsURI="http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/rel2core/Enforced"
+ nsPrefix="Enforced">
+ <eClassifiers xsi:type="ecore:EClass" name="EnforcedClass">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="enforcedProperty" lowerBound="1"
+ eType="#//EnforcedClass">
+ <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
+ <details key="body" value="TObjectTemplateToTraceClassProps"/>
+ <details key="lower" value="1"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/InvokedRelationToMappingForEnforcement.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/InvokedRelationToMappingForEnforcement.java
index 9fb1ee605..23b17b7b6 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/InvokedRelationToMappingForEnforcement.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/InvokedRelationToMappingForEnforcement.java
@@ -26,10 +26,6 @@ import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.qvtd.compiler.CompilerChainException;
import org.eclipse.qvtd.pivot.qvtbase.Domain;
import org.eclipse.qvtd.pivot.qvtbase.Predicate;
-import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcorebase.BottomPattern;
-import org.eclipse.qvtd.pivot.qvtcorebase.CoreDomain;
-import org.eclipse.qvtd.pivot.qvtcorebase.GuardPattern;
import org.eclipse.qvtd.pivot.qvtrelation.Relation;
import org.eclipse.qvtd.pivot.qvtrelation.RelationCallExp;
import org.eclipse.qvtd.pivot.qvtrelation.RelationDomain;
@@ -39,88 +35,88 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
{
private class InvokedEnforceableRelationDomain2CoreMapping extends AbstractEnforceableRelationDomain2CoreMapping
{
- private @NonNull Relation rInvokingRelation;
- private @NonNull RelationCallExp rInvocation;
-
- public InvokedEnforceableRelationDomain2CoreMapping(@NonNull RelationCallExp rInvocation, @NonNull RelationDomain rEnforcedDomain, @NonNull String cMappingName) {
- super(rEnforcedDomain, cMappingName);
- this.rInvocation = rInvocation;
- this.rInvokingRelation = qvtr2qvtc.getInvokingRelationForRelationCallExp(rInvocation);
- }
-
- private void doIROppositeDomainsToMappingForEnforcement() throws CompilerChainException {
- for (@NonNull RelationDomain rOtherDomain : rOtherDomains) {
- // check
- String rOtherDomainName = ClassUtil.nonNullState(rOtherDomain.getName());
- TypedModel rOtherTypedModel = ClassUtil.nonNullState(rOtherDomain.getTypedModel());
+ protected class InvokedOtherRelationDomain2CoreDomain extends AbstractOtherRelationDomain2CoreDomain
+ {
+ public InvokedOtherRelationDomain2CoreDomain(@NonNull RelationDomain rOtherDomain) {
+ super(rOtherDomain);
+ }
+
+ // body of IROppositeDomainsToMappingForEnforcement
+ @Override
+ public void mapOtherDomainToDomainVariablesAndPatterns() throws CompilerChainException {
List<@NonNull Variable> rOtherDomainVariables = getDomainVariables(rOtherDomain); //ClassUtil.nullFree(rOtherDomainPattern.getBindsTo());
List<@NonNull TemplateExp> rOtherTemplateExpressions = getTemplateExpressions(rOtherDomain);
List<@NonNull Variable> rOtherRootVariables = getRootVariables(rOtherDomain);
- // when
- // init
- CoreDomain cOtherDomain = qvtr2qvtc.whenCoreDomain(cMapping, rOtherDomainName);
- GuardPattern cOtherGuardPattern = ClassUtil.nonNullState(cOtherDomain.getGuardPattern());
- BottomPattern cOtherBottomPattern = ClassUtil.nonNullState(cOtherDomain.getBottomPattern());
- // where
+ //
Set<@NonNull Variable> rOtherGuardVariables = new HashSet<@NonNull Variable>(rOtherDomainVariables);
rOtherGuardVariables.retainAll(rWhenVariables);
rOtherGuardVariables.addAll(rOtherRootVariables);
+ //
Set<@NonNull Variable> rOtherBottomVariables = new HashSet<@NonNull Variable>(rOtherDomainVariables);
rOtherBottomVariables.removeAll(rWhenVariables);
- rOtherBottomVariables.removeAll(rMiddleDomainVariables);
+ rOtherBottomVariables.removeAll(rSharedVariables);
rOtherBottomVariables.removeAll(rOtherRootVariables);
+ //
Set<@NonNull Variable> rMiddleBottomVariables = new HashSet<@NonNull Variable>(rOtherDomainVariables);
rMiddleBottomVariables.removeAll(rWhenVariables);
- rMiddleBottomVariables.retainAll(rMiddleDomainVariables);
+ rMiddleBottomVariables.retainAll(rSharedVariables);
rMiddleBottomVariables.removeAll(rOtherRootVariables);
-
+ //
mapVariablesToVariables(rOtherGuardVariables, cOtherGuardPattern);
mapVariablesToVariables(rOtherBottomVariables, cOtherBottomPattern);
mapVariablesToVariables(rMiddleBottomVariables, cMiddleBottomPattern);
for (@NonNull TemplateExp rOtherTemplateExpression : rOtherTemplateExpressions) {
addTemplateExpressionToMiddleBottom(rOtherTemplateExpression);
}
- // assign
- TypedModel cOtherTypedModel = getCoreTypedModel(rOtherTypedModel);
- cOtherDomain.setTypedModel(cOtherTypedModel);
- cOtherDomain.setIsCheckable(rOtherDomain.isIsCheckable());
- cOtherDomain.setIsEnforceable(false);
- cOtherDomain.setGuardPattern(cOtherGuardPattern);
}
}
+
+ private @NonNull Relation rInvokingRelation;
+ private @NonNull RelationCallExp rInvocation;
- // ?
- private void doRInvokerToMGuard() throws CompilerChainException {
+ public InvokedEnforceableRelationDomain2CoreMapping(@NonNull RelationCallExp rInvocation, @NonNull RelationDomain rEnforcedDomain, @NonNull String cMappingName) {
+ super(rEnforcedDomain, cMappingName);
+ this.rInvocation = rInvocation;
+ this.rInvokingRelation = qvtr2qvtc.getInvokingRelationForRelationCallExp(rInvocation);
+ }
+
+ @Override
+ protected @NonNull AbstractOtherRelationDomain2CoreDomain createOtherDomain2CoreDomain( @NonNull RelationDomain rRelationDomain) {
+ return new InvokedOtherRelationDomain2CoreDomain(rRelationDomain);
+ }
+
+ // RInvokerToMGuard
+ private void mapInvokerToGuardPredicates() throws CompilerChainException {
// where
List<@NonNull Domain> dseq = new ArrayList<@NonNull Domain>(ClassUtil.nullFree(rRelation.getDomain()));
- List<@NonNull OCLExpression> arguments = ClassUtil.nullFree(rInvocation.getArgument());
- for (@NonNull OCLExpression arg : arguments) {
- VariableExp a = (VariableExp) arg;
- @NonNull RelationDomain rd = (RelationDomain) dseq.get(arguments.indexOf(a));
- doRInvokerToMGuardPredicate(a);
+ List<@NonNull OCLExpression> rArguments = ClassUtil.nullFree(rInvocation.getArgument());
+ for (@NonNull OCLExpression rArgument : rArguments) {
+ VariableExp rArgumentVariableExp = (VariableExp)rArgument;
+ @NonNull RelationDomain rArgumentDomain = (RelationDomain) dseq.get(rArguments.indexOf(rArgumentVariableExp)); // FIXME multi-roots
+ // RInvokerToMGuardPredicate
+ Type traceClass = qvtr2qvtc.getTraceClass(rInvokingRelation);
+ Variable rArgumentVariable = (Variable) ClassUtil.nonNullState(rArgumentVariableExp.getReferredVariable());
+ Variable rRootVariable = ClassUtil.nonNullState(rArgumentDomain.getRootVariable().get(0));
+ Variable vd = whenVariable(cMiddleGuardPattern, traceClass.getName()+"_v", traceClass);
+ Variable cRootVariable = getCoreVariable(rRootVariable);
+ Property cProperty = getProperty(vd.getType(), rArgumentVariable);
+ NavigationCallExp cTraceValue = createNavigationCallExp(createVariableExp(vd), cProperty);
+ addConditionPredicate(cMiddleGuardPattern, cTraceValue, createVariableExp(cRootVariable));
}
}
- private void doRInvokerToMGuardPredicate(@NonNull VariableExp ve) throws CompilerChainException {
- Type tc = qvtr2qvtc.getTraceClass(rInvokingRelation);
- Variable v = (Variable) ClassUtil.nonNullState(ve.getReferredVariable());
- Variable dv = ClassUtil.nonNullState(rEnforcedDomain.getRootVariable().get(0));
- Variable vd = qvtr2qvtc.whenVariable(cMiddleGuardPattern, tc.getName()+"_v", tc);
- Variable mdv = getCoreVariable(dv);
- Property pep = getProperty(vd.getType(), v);
- NavigationCallExp pe = createNavigationCallExp(createVariableExp(vd), pep);
- addConditionPredicate(cMiddleGuardPattern, pe, createVariableExp(mdv));
- }
-
@Override
protected void where() throws CompilerChainException {
Set<@NonNull Variable> rEnforcedBottomDomainVariables = new HashSet<@NonNull Variable>(rEnforcedDomainVariables);
rEnforcedBottomDomainVariables.removeAll(rWhenVariables);
- rEnforcedBottomDomainVariables.removeAll(rMiddleDomainVariables);
+ rEnforcedBottomDomainVariables.removeAll(rSharedVariables);
rEnforcedBottomDomainVariables.removeAll(rEnforcedRootVariables);
+ //
Set<@NonNull Predicate> rPredicatesWithVariableBindings = selectPredicatesThatReferToVariables(rPredicates, rEnforcedBottomDomainVariables);
+ //
Set<@NonNull Predicate> rPredicatesWithoutVariableBindings = new HashSet<@NonNull Predicate>(rPredicates);
rPredicatesWithoutVariableBindings.removeAll(rPredicatesWithVariableBindings);
+ //
Set<@NonNull Variable> rEnforcedDomainGuardVariables = new HashSet<@NonNull Variable>(rEnforcedDomainVariables);
rEnforcedDomainGuardVariables.retainAll(rWhenVariables);
rEnforcedDomainGuardVariables.addAll(rEnforcedRootVariables);
@@ -131,12 +127,16 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
//T4
mapVariablesToVariables(rMiddleBottomDomainVariables, cMiddleBottomPattern);
//T3
- doIROppositeDomainsToMappingForEnforcement();
- doRInvokerToMGuard();
+
+ // IROppositeDomainsToMappingForEnforcement
+ for (@NonNull AbstractOtherRelationDomain2CoreDomain otherDomain2coreDomain : otherDomain2coreDomains) {
+ otherDomain2coreDomain.mapOtherDomainToDomainVariablesAndPatterns();
+ }
+ mapInvokerToGuardPredicates();
mapDomainVariablesToMiddleVariableAssignments(rOtherDomainVariables);
mapWhenPatternToGuardPatterns();
mapEnforcedDomain(rPredicatesWithoutVariableBindings, rEnforcedBottomDomainVariables);
- mapRelationImplemantationToEnforcementOperation();
+ mapRelationImplementationToEnforcementOperation();
}
}
@@ -149,6 +149,7 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
// check() {
@NonNull List<@NonNull InvokedEnforceableRelationDomain2CoreMapping> enforceableRelationDomain2coreMappings = new ArrayList<@NonNull InvokedEnforceableRelationDomain2CoreMapping>();
for (@NonNull RelationCallExp rInvocation : qvtr2qvtc.getRelationCallExpsForRelation(rRelation)) {
+ System.out.println("invocation" + rRelation + " from " + rInvocation);
for (@NonNull Domain rDomain : ClassUtil.nullFree(rRelation.getDomain())) {
if (rDomain.isIsEnforceable()) {
RelationDomain rEnforcedDomain = (RelationDomain)rDomain;
@@ -173,7 +174,6 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
@NonNull Relation rInvokingRelation = qvtr2qvtc.getInvokingRelationForRelationCallExp(rInvocation);
@NonNull String rRelationName = ClassUtil.nonNullState(rRelation.getName());
@NonNull String rRelationNameName = ClassUtil.nonNullState(rInvokingRelation.getName());
- @NonNull String rEnforcedDomainName = ClassUtil.nonNullState(rEnforcedDomain.getName());
- return rRelationName + '_' + rRelationNameName + '_' + rEnforcedDomainName;
+ return rRelationName + '_' + rRelationNameName + '_' + rEnforcedDomain.getName();
}
}
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtc b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtc
new file mode 100644
index 000000000..168d31edd
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtc
@@ -0,0 +1,39 @@
+import Checked : 'Checked.ecore';
+import Checked2Enforced : 'Checked2Enforced.ecore';
+import Enforced : 'Enforced.ecore';
+
+transformation Principles
+{
+ middle imports Checked2Enforced;
+ checkedDomain imports Checked;
+ enforcedDomain imports Enforced;
+}
+
+map Checked2Enforced__enforced in Principles
+{
+ check checkedDomain(
+ checkedRootVariable:CheckedClass
+ |) {}
+
+ enforce enforcedDomain() {
+ realize enforcedRootVariable:EnforcedClass
+ |}
+
+ enforce middle() {
+ realize Checked2Enforced__enforced_v : TChecked2Enforced
+ |}
+
+ where() {
+/* RelationToTraceClass_core_v.relation := relation;
+ RelationToTraceClass_core_v.relationDomain := relationDomain;
+ RelationToTraceClass_core_v.relationDomainPattern := relationDomainPattern;
+ RelationToTraceClass_core_v.relationName := relationName;
+ RelationToTraceClass_core_v.rootTemplateExp := rootTemplateExp;
+ RelationToTraceClass_core_v.traceClass := traceClass;
+ relation.name := relationName;
+ relationDomain.rule := relation;
+ relationDomainPattern.RelationDomain := relationDomain;
+ relationDomainPattern.templateExpression := rootTemplateExp;
+ traceClass.name := 'T' + relationName; */
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtr b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtr
new file mode 100644
index 000000000..d648dfe83
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.qvtr
@@ -0,0 +1,16 @@
+import CheckedMM : 'Checked.ecore';
+import EnforcedMM : 'Enforced.ecore';
+
+transformation Principles(checkedDomain:CheckedMM, enforcedDomain:EnforcedMM)
+{
+ relation Checked2Enforced {
+ domain checkedDomain
+ checkedRootVariable:CheckedClass {
+
+ };
+ enforce domain enforcedDomain
+ enforcedRootVariable:EnforcedClass {
+
+ };
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.textile b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.textile
new file mode 100644
index 000000000..64b0371c8
--- /dev/null
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/Principles.textile
@@ -0,0 +1,122 @@
+h3. Relation
+
+Defines domain2domain equivalence of values (objects, or collections)
+
+h3. TraceClass
+
+(supports multidirectional)
+
+h4. Incremental TraceClass
+
+caches everything needed for re-execution, therefore all accessed variable including those accessed by queries.
+RelToCore only attempts direct accesses. Transitive support could require an indeterminate structure.
+Incremental uch better handled by run-time analysis rather than compile-time bloat.
+
+h4. Necessary TraceClass Properties
+
+One property of each domain variable necessary to uniquely distinquish the relation invocation from all its siblings.
+Since not supporting incremental, there is no need for trace-properties for values derived by to-one navigation.
+
+h4. Explicit CollectionTemplate TraceClass Properties
+
+The entire collection has a bound variable; this is a trace class property.
+Members may vay for distinct invocations => each member is a trace class property.
+Rest can be deduced by all less enumerated members => rest is not a trace class property
+
+h3. Implicit Collection matches
+
+aParent:Parent { children = aChild:Child }
+
+Is this a pattern for children=Set{aChild} or children->includes(aChild) (which is also aChild.Parent=aParent) ?
+7.11.2.4 specifies the includes interpretation.
+
+parent:Parent { children = theChildren:Set(Child){aChild++_}} is children->includes(aChild)
+parent:Parent { children = theChildren:Set(Child){aChild}} is children=Set{aChild}
+
+The shorthand trace is {aParent,aChild}
+The explicit includes trace is {aParent,theChildren,aChild}
+The explicit exact trace is {aParent,theChildren,aChild}
+
+theChildren is to-one navigable from aParent, so theChildren is NOT part of the trace.
+
+h3. Nested Implicit Collection matches
+
+Given
+check abcd a:A{bs = b:B{cs = c:C{ds = d:D{}}}
+enforce wxyz w:W{xs = x:X{ys = y:Y{zs = z:Z{}}}
+
+Does this require the invoker to discover a,b,c,d 'before' invocation so that each of a,b,c,d are traced as single objects.
+Corrolary all actions for a,b,c are repeated redundantly for d. Ripples to requiring collection QVTc semnatics.
+
+Or does it require the invoker to discover a, with b,c,d being iterated over a nest of composed mappings?
+
+QVTr: who cares, just do it.
+QVTc: a nest of composed mappings exposes the functionality.
+
+If functionality is all in the a,b,c,d mapping, what happens when there are no ds, the a,b,c must still happen. Composed mappings give this optional behaviour internally. Otherwuse we need more mappings. (QVTc2QVTu splits the composed mappings into the more mappings.)
+
+How are a/w, b/x, c/y, d/z correlated?
+
+"where b2x(b,x)" is an obvious indication that b,x share a composed mapping.
+
+Maybe check and enforce provoke independent composed mapping nests that merge to satisfy mutual variable visiblity.
+
+[Final AttributeToColumn example of Rule 6 is very smelly for an attribute-less class. The use of "attribute" rather than "attributes" has hidden the mutiple. The smelly c.attribute=a meaning c.attributes->includes(a) can be rewritten as a.Class=c to remove the smell.]
+
+aName:String,bName:String,cName:String;
+check abcd a:A{name=aName, bs = b:B{name=bName, cs = c:C{name=cName,ds = d:D{name=dName}}}
+enforce wxyz w:W{name=aName, xs = x:X{name=bName, ys = y:Y{name=cName, zs = z:Z{name=dName}}}
+
+If seen as an optional iteration nest wrt a=>w, bName,cName are multi-valued.
+If seen as ancestry for d=>z, are the ancestor assignments redundant/poor style/pattern matches?
+If seen as a one-valued truth for a,b,c,d then w,x,y,z are find/create. No d is not a truth.
+
+[?? to allow no d, we could allow ds = d:D[?]{name=dName}??]
+
+one-valued truth seems to be promising interpretation.
+
+But which of w,x,y,z are realized? All of them excepting those re-used by when/key.
+
+h2. Annotated Mapping Rules
+
+This section clarifies the approach taken to the QVT's 10.2 Mappinf Rules section.
+
+h3. Rule 1
+
+bq. Corresponding to each relation there exists a trace class in core. The trace class contains a property corresponding to each
+object node in the pattern of each domain of the relation. For example:
+
+bq. relation ClassToTable
+{
+checkonly domain uml c:Class {namespace=p:Package {}, kind='Persistent',
+name=cn}
+checkonly domain rdbms t:Table {schema=s:Schema {}, name=cn}
+}
+
+bq. class TClassToTable
+{
+c: Class;
+p: Package;
+t: Table;
+s: Schema;
+}
+
+bq. For mapping to core we distinguish between two kinds of relations of a transformation: top-level relations and invoked
+relations. By a top-level relation we mean a relation that is not invoked from the where clause of any other relation; by an
+invoked relation we mean a relation that is invoked from the where clause of another relation.
+
+bq. A top-level relation maps to a single core mapping (perhaps with composed mappings), whereas an invoked relation maps
+to a separate mapping for each invoker-invoked combination.
+
+bq. For mapping to core we also distinguish between check-only relations and enforceable relations. A check-only relation
+maps to a single core mapping, whereas an enforceable relation may map to a composite hierarchy of core mappings.
+
+h3. Rule 1 Notes
+
+The surrounding Package is omitted. We generalize and so need a Package hierarchy copy.
+
+"corresponding to each object node in the pattern of each domain of the relation" is vague.
+- it plausibly excludes bloat from attribute values
+- it cannot include implicit/explicit collection iterators
+
+p and s have to-one relationship to c and t so are not needed in the trace.
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/QVTrToQVTc.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/QVTrToQVTc.java
index e9e25deaf..da3f0a2ba 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/QVTrToQVTc.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/QVTrToQVTc.java
@@ -80,13 +80,10 @@ import org.eclipse.qvtd.pivot.qvtcore.CoreModel;
import org.eclipse.qvtd.pivot.qvtcore.Mapping;
import org.eclipse.qvtd.pivot.qvtcore.QVTcoreFactory;
import org.eclipse.qvtd.pivot.qvtcore.utilities.QVTcoreHelper;
-import org.eclipse.qvtd.pivot.qvtcore.utilities.QVTcoreUtil;
import org.eclipse.qvtd.pivot.qvtcorebase.BottomPattern;
import org.eclipse.qvtd.pivot.qvtcorebase.CoreDomain;
-import org.eclipse.qvtd.pivot.qvtcorebase.CorePattern;
import org.eclipse.qvtd.pivot.qvtcorebase.GuardPattern;
import org.eclipse.qvtd.pivot.qvtcorebase.QVTcoreBaseFactory;
-import org.eclipse.qvtd.pivot.qvtcorebase.RealizedVariable;
import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern;
import org.eclipse.qvtd.pivot.qvtrelation.Key;
import org.eclipse.qvtd.pivot.qvtrelation.Relation;
@@ -124,45 +121,6 @@ public class QVTrToQVTc
}
}
- /**
- * An ExpressionCopier deep copies an OCLExpression tree, exploiting the forward traceability of context to
- * update references and using sibling to distinguish multiple targets.
- */
- @SuppressWarnings("serial")
- protected class ExpressionCopier extends EcoreUtil.Copier
- {
- private final @Nullable Element sibling;
-
- public ExpressionCopier(@Nullable Element sibling) {
- this.sibling = sibling;
- }
-
- @Override
- public EObject get(Object oIn) {
- if (oIn instanceof Element) {
- List<Element> oOuts = source2targets.get(oIn);
- if (oOuts != null) {
- if (sibling == null) {
- assert oOuts.size() == 1;
- return oOuts.get(0);
- }
- Mapping containingMapping = QVTcoreUtil.getContainingMapping(sibling);
- assert containingMapping != null;
- Element theCopy = null;
- for (Element oOut : oOuts) {
- Mapping aMapping = QVTcoreUtil.getContainingMapping(oOut);
- if ((aMapping == containingMapping) || (aMapping == null)) {
- assert theCopy == null;
- theCopy = oOut;
- }
- }
-//FIXME assert theCopy != null;
- return theCopy;
- }
- }
- return super.get(oIn);
- }
- }
protected final @NonNull EnvironmentFactory environmentFactory;
private final @NonNull Resource qvtrResource;
@@ -173,8 +131,8 @@ public class QVTrToQVTc
* Optional configuration of the NsURI of the trace package.
*/
private @Nullable String traceNsURI = null;
- private final @NonNull Map<@NonNull Element, @NonNull Element> target2source = new HashMap<@NonNull Element, @NonNull Element>();
- private final @NonNull Map<@NonNull Element, @NonNull List<@NonNull Element>> source2targets = new HashMap<@NonNull Element, @NonNull List<@NonNull Element>>();
+ private final @NonNull Map<@NonNull Element, @NonNull Element> globalTarget2source = new HashMap<@NonNull Element, @NonNull Element>();
+ private final @NonNull Map<@NonNull Element, @NonNull List<@NonNull Element>> globalSource2targets = new HashMap<@NonNull Element, @NonNull List<@NonNull Element>>();
private final @NonNull List<org.eclipse.ocl.pivot.@NonNull Package> tracePackages = new ArrayList<org.eclipse.ocl.pivot.@NonNull Package>();
// private final @NonNull List<@NonNull Transformation> coreTransformations = new ArrayList<@NonNull Transformation>();
@@ -190,30 +148,6 @@ public class QVTrToQVTc
private final @NonNull Map<@NonNull RelationCallExp, @NonNull Relation> rInvocation2invokingRelation = new HashMap<@NonNull RelationCallExp, @NonNull Relation>();
private @NonNull CoreModel coreModel;
-
- /**
- * The lazily created named RealizedVariables in each CorePattern.
- */
- private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull RealizedVariable>> pattern2name2realizedVariable
- = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull RealizedVariable>>();
-
- /**
- * The lazily created named RealizedVariables in each CorePattern.
- */
- private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull Variable>> pattern2name2variable
- = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull String, @NonNull Variable>>();
-
- /**
- * The lazily created RealizedVariables per Relation Variable in each CorePattern.
- */
- private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull RealizedVariable>> pattern2variable2realizedVariable
- = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull RealizedVariable>>();
-
- /**
- * The lazily created Core Variable for each Relation Variable in each CorePattern.
- */
- private @NonNull Map<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull Variable>> pattern2variable2variable
- = new HashMap<@NonNull CorePattern, @NonNull Map<@NonNull Variable, @NonNull Variable>>();
/**
* The core Transformation for each RelationalTransformation.
@@ -245,16 +179,6 @@ public class QVTrToQVTc
private @NonNull Map<@NonNull Transformation, @NonNull Map<@NonNull String, @NonNull Mapping>> transformation2name2mapping
= new HashMap<@NonNull Transformation, @NonNull Map<@NonNull String, @NonNull Mapping>>();
- /**
- * The core Variable for each relation Variable in a chosen mapping.
- */
- private final @NonNull Map<@NonNull Mapping, @NonNull Map<@NonNull Variable, @NonNull Variable>> mapping2variable2variable = new HashMap<@NonNull Mapping, @NonNull Map<@NonNull Variable, @NonNull Variable>>();
-
- /**
- * The names allocated in each relation.
- */
- private final @NonNull Map<@NonNull Relation, @NonNull Map<@NonNull String, @NonNull Element>> rule2name2element = new HashMap<@NonNull Relation, @NonNull Map<@NonNull String, @NonNull Element>>();
-
public QVTrToQVTc(@NonNull EnvironmentFactory environmentFactory, @NonNull Resource qvtrResource, @NonNull Resource qvtcResource) {
this.environmentFactory = environmentFactory;
this.qvtrResource = qvtrResource;
@@ -323,29 +247,6 @@ public class QVTrToQVTc
}
}
-
- public void addDebugCopies(@NonNull Map<EObject, EObject> copier) {
- for (EObject eSource : copier.keySet()) {
- EObject eTarget = copier.get(eSource);
- if (eTarget != null) {
- assert eSource != null;
- putTrace((Element)eTarget, (Element)eSource);
- }
- }
- }
-
- /*public*/ @NonNull <T extends Element> T copy(@NonNull T eIn, @Nullable Element sibling) {
-// if (eIn == null) {
-// return null;
-// }
- EcoreUtil.Copier copier = new ExpressionCopier(sibling);
- @SuppressWarnings("unchecked") T eOut = (T) copier.copy(eIn);
- copier.copyReferences();
- addDebugCopies(copier);
- assert eOut != null;
- return eOut;
- }
-
public @NonNull Mapping createMapping() {
Mapping coreMapping = QVTcoreFactory.eINSTANCE.createMapping();
GuardPattern guardPattern = QVTcoreBaseFactory.eINSTANCE.createGuardPattern();
@@ -369,11 +270,6 @@ public class QVTrToQVTc
/*public*/ @NonNull Transformation getCoreTransformation(@NonNull RelationalTransformation relationalTransformation) {
return ClassUtil.nonNullState(relationalTransformation2coreTransformation.get(relationalTransformation));
}
-
- /*public*/ @NonNull Variable getCoreVariable(@NonNull Mapping mapping, @NonNull Variable relationVariable) {
- Map<@NonNull Variable, @NonNull Variable> variable2variable = mapping2variable2variable.get(mapping);
- return ClassUtil.nonNullState(ClassUtil.nonNullState(variable2variable).get(relationVariable));
- }
/* public @NonNull DomainPattern getDomainPattern(@NonNull Domain d) {
List<@NonNull DomainPattern> pattern = ClassUtil.nullFree(((RelationDomain) d).getPattern());
@@ -403,9 +299,9 @@ public class QVTrToQVTc
Set<@NonNull Variable> rDomainVariables = new HashSet<@NonNull Variable>();
Set<@NonNull Variable> rMiddleDomainVariables = new HashSet<@NonNull Variable>();
for (@NonNull Domain rDomain : ClassUtil.nullFree(rRelation.getDomain())) {
- for (@NonNull DomainPattern rDomainPattern : ClassUtil.nullFree(((RelationDomain) rDomain).getPattern())) {
- for (Variable rVariable : rDomainPattern.getBindsTo()) {
- if ((rVariable != null) && !rDomainVariables.add(rVariable)) {
+ for (@NonNull DomainPattern rDomainPattern : ClassUtil.nullFree(((RelationDomain)rDomain).getPattern())) {
+ for (@NonNull Variable rVariable : ClassUtil.nullFree(rDomainPattern.getBindsTo())) {
+ if (!rDomainVariables.add(rVariable)) {
rMiddleDomainVariables.add(rVariable); // Accumulate second (and higher) usages
}
}
@@ -448,30 +344,6 @@ public class QVTrToQVTc
}
/* ============= Queries ============= */
-
- public @NonNull String getSafeName(@NonNull Relation relation, @NonNull Element newElement, @NonNull String name) {
- Map<@NonNull String, @NonNull Element> name2element = rule2name2element.get(relation);
- if (name2element == null) {
- name2element = new HashMap<@NonNull String, @NonNull Element>();
- rule2name2element.put(relation, name2element);
- }
- Element oldElement = name2element.get(name);
- if (oldElement == newElement) {
- return name;
- }
- if (oldElement == null) {
- name2element.put(name, newElement);
- return name;
- }
- for (int i = 1; true; i++) {
- String newName = name + "_" + i;
- oldElement = name2element.get(newName);
- if (oldElement == null) {
- name2element.put(newName, newElement);
- return newName;
- }
- }
- }
public @NonNull StandardLibrary getStandardLibrary() {
return environmentFactory.getStandardLibrary();
@@ -542,43 +414,26 @@ public class QVTrToQVTc
/*public*/ void putCoreTransformation(@NonNull RelationalTransformation relationTransformation, @NonNull Transformation coreTransformation) {
relationalTransformation2coreTransformation.put(relationTransformation, coreTransformation);
- putTrace(coreTransformation, relationTransformation);
- }
-
-
- /*public*/ void putCoreVariable(@NonNull Variable relationVariable, @NonNull Variable coreVariable) {
- Mapping mapping = QVTcoreUtil.getContainingMapping(coreVariable);
- assert mapping != null;
- Map<@NonNull Variable, @NonNull Variable> variable2variable = mapping2variable2variable.get(mapping);
- if (variable2variable == null) {
- variable2variable = new HashMap<@NonNull Variable, @NonNull Variable>();
- mapping2variable2variable.put(mapping, variable2variable);
- }
- Variable oldVal = variable2variable.put(relationVariable, coreVariable);
- // Variables should only be traced once
- if (oldVal != null) {
- System.out.println("putCoreVariable replacing value for " + relationVariable.getName());
- }
- putTrace(coreVariable, relationVariable);
- }
-
- /*public*/ void putRelationTrace(@NonNull Relation r, org.eclipse.ocl.pivot.@NonNull Class traceClass) {
- relationToTraceClass.put(r, traceClass);
-// putTrace(traceClass, r);
+ putGlobalTrace(coreTransformation, relationTransformation);
}
- private void putTrace(@NonNull Element coreElement, @NonNull Element relationElement) {
+ /*private*/ void putGlobalTrace(@NonNull Element coreElement, @NonNull Element relationElement) {
// if (relationElement != null) {
- Element oldRelationElement = target2source.put(coreElement, relationElement);
+ Element oldRelationElement = globalTarget2source.put(coreElement, relationElement);
assert oldRelationElement == null;
- List<@NonNull Element> targets = source2targets.get(relationElement);
+ List<@NonNull Element> targets = globalSource2targets.get(relationElement);
if (targets == null) {
targets = new ArrayList<@NonNull Element> ();
- source2targets.put(relationElement, targets);
+ globalSource2targets.put(relationElement, targets);
}
targets.add(coreElement);
// }
}
+
+ /*public*/ void putRelationTrace(@NonNull Relation r, org.eclipse.ocl.pivot.@NonNull Class traceClass) {
+ relationToTraceClass.put(r, traceClass);
+// putTrace(traceClass, r);
+ }
/*public*/ void putTracePackage(@NonNull RelationalTransformation rt, org.eclipse.ocl.pivot.@NonNull Package tracePackage) {
relationalTransformation2tracePackage.put(rt, tracePackage);
@@ -850,6 +705,7 @@ public class QVTrToQVTc
if (rule instanceof Relation) {
Relation rRelation = (Relation)rule;
if (rRelation.isIsTopLevel()) {
+ System.out.println("topLevel " + rRelation);
TopLevelRelationToMappingForEnforcement topLevelRelationToMappingForEnforcement = new TopLevelRelationToMappingForEnforcement(this, rRelation);
topLevelRelationToMappingForEnforcement.doTopLevelRelationToMappingForEnforcement();
}
@@ -965,63 +821,13 @@ public class QVTrToQVTc
Mapping coreMapping = name2mapping.get(name);
if (coreMapping == null) {
coreMapping = createMapping();
- putTrace(coreMapping, relation);
+ putGlobalTrace(coreMapping, relation);
coreMapping.setName(name);
coreMapping.setTransformation(coreTransformation);
name2mapping.put(name, coreMapping);
}
return coreMapping;
}
-
- /**
- * Lazily create the RealizedVariable for a corePattern corresponding to a relationVariable.
- */
- /*public*/ @NonNull RealizedVariable whenRealizedVariable(@NonNull BottomPattern corePattern, @NonNull Variable relationVariable) {
- Map<@NonNull Variable, @NonNull RealizedVariable> variable2realizedVariable = pattern2variable2realizedVariable.get(corePattern);
- if (variable2realizedVariable == null) {
- variable2realizedVariable = new HashMap<@NonNull Variable, @NonNull RealizedVariable>();
- pattern2variable2realizedVariable.put(corePattern, variable2realizedVariable);
- }
- RealizedVariable realizedVariable = variable2realizedVariable.get(relationVariable);
- if (realizedVariable == null) {
- String name = relationVariable.getName();
- Type type = relationVariable.getType();
- assert (name != null) && (type != null);
- realizedVariable = QVTcoreBaseFactory.eINSTANCE.createRealizedVariable();
- realizedVariable.setName(name);
- realizedVariable.setType(type);
- realizedVariable.setIsRequired(true);
- variable2realizedVariable.put(relationVariable, realizedVariable);
- corePattern.getRealizedVariable().add(realizedVariable);
- putCoreVariable(relationVariable, realizedVariable);
- }
- return realizedVariable;
- }
-
- /**
- * Lazily create the name RealizedVariable for a corePattern with a type.
- */
- /*public*/ @NonNull RealizedVariable whenRealizedVariable(@NonNull BottomPattern corePattern, @NonNull String name, @NonNull Type type) {
- Map<@NonNull String, @NonNull RealizedVariable> name2realizedVariable = pattern2name2realizedVariable.get(corePattern);
- if (name2realizedVariable == null) {
- name2realizedVariable = new HashMap<@NonNull String, @NonNull RealizedVariable>();
- pattern2name2realizedVariable.put(corePattern, name2realizedVariable);
- }
- RealizedVariable realizedVariable = name2realizedVariable.get(name);
- if (realizedVariable == null) {
- realizedVariable = QVTcoreBaseFactory.eINSTANCE.createRealizedVariable();
- realizedVariable.setName(name);
- realizedVariable.setType(type);
- realizedVariable.setIsRequired(true);;
- name2realizedVariable.put(name, realizedVariable);
- corePattern.getRealizedVariable().add(realizedVariable);
-// putTrace(realizedVariable, corePattern);
- }
- else {
- assert realizedVariable.getType() == type;
- }
- return realizedVariable;
- }
/**
* Lazily create the name Property for a traceClass with a type.
@@ -1058,55 +864,4 @@ public class QVTrToQVTc
}
return traceProperty;
}
-
- /**
- * Lazily create the Variable for a corePattern corresponding to a relationVariable.
- */
- /*public*/ @NonNull Variable whenVariable(@NonNull CorePattern corePattern, @NonNull Variable relationVariable) {
- Map<@NonNull Variable, @NonNull Variable> variable2variable = pattern2variable2variable.get(corePattern);
- if (variable2variable == null) {
- variable2variable = new HashMap<@NonNull Variable, @NonNull Variable>();
- pattern2variable2variable.put(corePattern, variable2variable);
- }
- Variable coreVariable = variable2variable.get(relationVariable);
- if (coreVariable == null) {
- String name = relationVariable.getName();
- Type type = relationVariable.getType();
- assert (name != null) && (type != null);
- coreVariable = PivotFactory.eINSTANCE.createVariable();
- coreVariable.setName(name);
- coreVariable.setType(type);
- coreVariable.setIsRequired(relationVariable.isIsRequired());
- variable2variable.put(relationVariable, coreVariable);
- corePattern.getVariable().add(coreVariable);
- putCoreVariable(relationVariable, coreVariable);
- }
- return coreVariable;
- }
-
- /**
- * Lazily create the name Variable for a corePattern with a type.
- */
- /*public*/ @NonNull Variable whenVariable(@NonNull CorePattern corePattern, @NonNull String name, @NonNull Type type) {
- Map<@NonNull String, @NonNull Variable> name2variable = pattern2name2variable.get(corePattern);
- if (name2variable == null) {
- name2variable = new HashMap<@NonNull String, @NonNull Variable>();
- pattern2name2variable.put(corePattern, name2variable);
- }
- Variable coreVariable = name2variable.get(name);
- if (coreVariable == null) {
- coreVariable = PivotFactory.eINSTANCE.createVariable();
- coreVariable.setName(name);
- coreVariable.setType(type);
- coreVariable.setIsRequired(true);
- name2variable.put(name, coreVariable);
- corePattern.getVariable().add(coreVariable);
- putTrace(coreVariable, corePattern);
- }
- else {
- assert coreVariable.getType() == type;
- }
- return coreVariable;
- }
-
}
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/RelationalTransformationToTracePackage.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/RelationalTransformationToTracePackage.java
index 8a199fd05..364cc14eb 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/RelationalTransformationToTracePackage.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/RelationalTransformationToTracePackage.java
@@ -13,6 +13,7 @@ package org.eclipse.qvtd.compiler.internal.qvtr2qvtc;
import java.util.List;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.ocl.pivot.CollectionType;
import org.eclipse.ocl.pivot.OCLExpression;
import org.eclipse.ocl.pivot.PivotFactory;
import org.eclipse.ocl.pivot.Type;
@@ -47,51 +48,60 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
List<org.eclipse.ocl.pivot.@NonNull Class> ownedClasses = ClassUtil.nullFree(p.getOwnedClasses());
for (@NonNull Rule r : ClassUtil.nullFree(rt.getRule())) {
if (r instanceof Relation) {
- org.eclipse.ocl.pivot.Class rc = PivotFactory.eINSTANCE.createClass();
- ownedClasses.add(rc);
- doRelationToTraceClass((Relation)r, rc);
- CompilerUtil.normalizeNameables(ClassUtil.nullFree(rc.getOwnedProperties()));
+ ownedClasses.add(doRelationToTraceClass((Relation)r));
}
}
CompilerUtil.normalizeNameables(ownedClasses);
return p;
}
- private void doRelationToTraceClass(@NonNull Relation r, org.eclipse.ocl.pivot.@NonNull Class rc) {
- qvtr2qvtc.putRelationTrace(r, rc);
- String rn = ClassUtil.nonNullState(r.getName());
- rc.setName("T"+rn);
- for (@NonNull Variable rv : qvtr2qvtc.getMiddleDomainVariables(r)) {
- createTraceProperty(rc, rv);
+ private org.eclipse.ocl.pivot.@NonNull Class doRelationToTraceClass(@NonNull Relation rRelation) {
+ @SuppressWarnings("null")org.eclipse.ocl.pivot.@NonNull Class traceClass = PivotFactory.eINSTANCE.createClass();
+ qvtr2qvtc.putRelationTrace(rRelation, traceClass);
+ traceClass.setName("T" + rRelation.getName());
+ for (@NonNull Variable rVariable : qvtr2qvtc.getMiddleDomainVariables(rRelation)) {
+ createTraceProperty(traceClass, rVariable);
}
- for (@NonNull Domain d : ClassUtil.nullFree(r.getDomain())) {
- for (@NonNull DomainPattern rdp : ClassUtil.nullFree(((RelationDomain) d).getPattern())) {
- TemplateExp t = ClassUtil.nonNullState(rdp.getTemplateExpression());
- doSubTemplateToTraceClassProps(t, rc);
+ for (@NonNull Domain rDomain : ClassUtil.nullFree(rRelation.getDomain())) {
+ for (@NonNull DomainPattern rDomainPattern : ClassUtil.nullFree(((RelationDomain)rDomain).getPattern())) {
+ TemplateExp rTemplateExp = ClassUtil.nonNullState(rDomainPattern.getTemplateExpression());
+ doSubTemplateToTraceClassProps(rTemplateExp, traceClass);
}
}
+ CompilerUtil.normalizeNameables(ClassUtil.nullFree(traceClass.getOwnedProperties()));
+ return traceClass;
}
- private void doSubTemplateToTraceClassProps(@NonNull OCLExpression t, org.eclipse.ocl.pivot.@NonNull Class rc) {
- if (t instanceof TemplateExp) {
- TemplateExp te = (TemplateExp) t;
- Variable tv = ClassUtil.nonNullState(te.getBindsTo());
+ private void doSubTemplateToTraceClassProps(@NonNull TemplateExp te, org.eclipse.ocl.pivot.@NonNull Class rc) {
+ Variable tv = ClassUtil.nonNullState(te.getBindsTo());
+ if (te instanceof CollectionTemplateExp) {
createTraceProperty(rc, tv); // ?? not required for CollectionTemplateExp's
- if (te instanceof CollectionTemplateExp) {
- CollectionTemplateExp cte = (CollectionTemplateExp) t;
- for (@NonNull OCLExpression m : ClassUtil.nullFree(cte.getMember())) {
- doSubTemplateToTraceClassProps(m, rc);
+ CollectionTemplateExp cte = (CollectionTemplateExp) te;
+ Variable collectionVariable = cte.getBindsTo();
+ CollectionType collectionType = (CollectionType)collectionVariable.getType();
+ Type elementType = ClassUtil.nonNullState(collectionType.getElementType());
+ int argIndex = 0;
+ for (@NonNull OCLExpression m : ClassUtil.nullFree(cte.getMember())) {
+ if (m instanceof TemplateExp) {
+ doSubTemplateToTraceClassProps((TemplateExp)m, rc);
}
- Variable rv = cte.getRest();
- if (rv != null) {
- createTraceProperty(rc, rv);
+ else {
+ createTraceProperty(rc, collectionVariable.getName() + "_" + argIndex, elementType);
}
+ argIndex++;
}
- else if (te instanceof ObjectTemplateExp) {
- ObjectTemplateExp ote = (ObjectTemplateExp) te;
- for (@NonNull PropertyTemplateItem pt : ClassUtil.nullFree(ote.getPart())) {
- OCLExpression value = ClassUtil.nonNullState(pt.getValue());
- doSubTemplateToTraceClassProps(value, rc);
+ Variable rv = cte.getRest();
+ if (rv != null) {
+ createTraceProperty(rc, rv);
+ }
+ }
+ else if (te instanceof ObjectTemplateExp) {
+ createTraceProperty(rc, tv); // ?? not required for CollectionTemplateExp's
+ ObjectTemplateExp ote = (ObjectTemplateExp) te;
+ for (@NonNull PropertyTemplateItem pt : ClassUtil.nullFree(ote.getPart())) {
+ OCLExpression value = ClassUtil.nonNullState(pt.getValue());
+ if (value instanceof TemplateExp) {
+ doSubTemplateToTraceClassProps((TemplateExp)value, rc);
}
}
}
@@ -102,4 +112,8 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
Type c = ClassUtil.nonNullState(tv.getType());
qvtr2qvtc.whenTraceProperty(rc, vn, c);
}
+
+ private void createTraceProperty(org.eclipse.ocl.pivot.@NonNull Class rc, @NonNull String name, @NonNull Type type) {
+ qvtr2qvtc.whenTraceProperty(rc, name, type);
+ }
}
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/TopLevelRelationToMappingForEnforcement.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/TopLevelRelationToMappingForEnforcement.java
index da38232f7..22787eef3 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/TopLevelRelationToMappingForEnforcement.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/TopLevelRelationToMappingForEnforcement.java
@@ -21,10 +21,6 @@ import org.eclipse.ocl.pivot.utilities.ClassUtil;
import org.eclipse.qvtd.compiler.CompilerChainException;
import org.eclipse.qvtd.pivot.qvtbase.Domain;
import org.eclipse.qvtd.pivot.qvtbase.Predicate;
-import org.eclipse.qvtd.pivot.qvtbase.TypedModel;
-import org.eclipse.qvtd.pivot.qvtcorebase.BottomPattern;
-import org.eclipse.qvtd.pivot.qvtcorebase.CoreDomain;
-import org.eclipse.qvtd.pivot.qvtcorebase.GuardPattern;
import org.eclipse.qvtd.pivot.qvtcorebase.RealizedVariable;
import org.eclipse.qvtd.pivot.qvtrelation.DomainPattern;
import org.eclipse.qvtd.pivot.qvtrelation.Relation;
@@ -36,32 +32,16 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
{
private class TopEnforceableRelationDomain2CoreMapping extends AbstractEnforceableRelationDomain2CoreMapping
{
- private @NonNull List<@NonNull RealizedVariable> cEnforcedRootVariables; // The mapping template expression variables (the realized variable enforced by the domain pattern)
- // except when arguments
-
- public TopEnforceableRelationDomain2CoreMapping(@NonNull RelationDomain rEnforcedDomain, @NonNull String cMappingName) {
- super(rEnforcedDomain, cMappingName);
- this.cEnforcedRootVariables = new ArrayList<@NonNull RealizedVariable>(rEnforcedRootVariables.size());
- for (@NonNull Variable rEnforcedRootVariable : rEnforcedRootVariables) {
- if (!rWhenVariables.contains(rEnforcedRootVariable)) {
- this.cEnforcedRootVariables.add(mapRealizedVariable(rEnforcedRootVariable));
- }
+ protected class TopOtherRelationDomain2CoreDomain extends AbstractOtherRelationDomain2CoreDomain
+ {
+ public TopOtherRelationDomain2CoreDomain(@NonNull RelationDomain rOtherDomain) {
+ super(rOtherDomain);
}
- }
- // TROppositeDomainsToMappingForEnforcement
- public void mapOtherDomainsToDomainsVariablesAndPatterns() throws CompilerChainException {
- for (@NonNull RelationDomain rOtherDomain : rOtherDomains) {
- String rOtherDomainName = ClassUtil.nonNullState(rOtherDomain.getName());
- TypedModel rOtherTypedModel = ClassUtil.nonNullState(rOtherDomain.getTypedModel());
- TypedModel cOtherTypedModel = getCoreTypedModel(rOtherTypedModel);
- CoreDomain cOtherDomain = qvtr2qvtc.whenCoreDomain(cMapping, rOtherDomainName);
- GuardPattern cOtherGuardPattern = ClassUtil.nonNullState(cOtherDomain.getGuardPattern());
- BottomPattern cOtherBottomPattern = ClassUtil.nonNullState(cOtherDomain.getBottomPattern());
- cOtherDomain.setTypedModel(cOtherTypedModel);
- cOtherDomain.setIsCheckable(rOtherDomain.isIsCheckable());
- cOtherDomain.setIsEnforceable(false);
- cOtherDomain.setGuardPattern(cOtherGuardPattern); // FIXME redundant
+ // body of TROppositeDomainsToMappingForEnforcement
+ @Override
+ public void mapOtherDomainToDomainVariablesAndPatterns() throws CompilerChainException {
+// cOtherDomain.setGuardPattern(cOtherGuardPattern); // FIXME redundant
for (@NonNull DomainPattern rOtherDomainPattern : ClassUtil.nullFree(rOtherDomain.getPattern())) {
List<@NonNull Variable> rOtherDomainVariables = ClassUtil.nullFree(rOtherDomainPattern.getBindsTo());
TemplateExp rOtherTemplateExpression = rOtherDomainPattern.getTemplateExpression();
@@ -71,15 +51,19 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
Set<@NonNull Variable> rOtherGuardDomainVariables = new HashSet<@NonNull Variable>(rOtherDomainVariables);
rOtherGuardDomainVariables.retainAll(rWhenVariables);
rOtherGuardDomainVariables.add(rOtherRootVariable);
+ rOtherGuardDomainVariables.removeAll(rSharedVariables);
+// rOtherGuardDomainVariables.removeAll(rNonUniquePatternVariables);
//
Set<@NonNull Variable> rOtherBottomDomainVariables = new HashSet<@NonNull Variable>(rOtherDomainVariables);
rOtherBottomDomainVariables.removeAll(rWhenVariables);
- rOtherBottomDomainVariables.removeAll(rMiddleDomainVariables);
+ rOtherBottomDomainVariables.removeAll(rSharedVariables);
+// rOtherBottomDomainVariables.removeAll(rNonUniquePatternVariables);
rOtherBottomDomainVariables.remove(rOtherRootVariable);
//
Set<@NonNull Variable> rMiddleBottomDomainVariables = new HashSet<@NonNull Variable>(rOtherDomainVariables);
rMiddleBottomDomainVariables.removeAll(rWhenVariables);
- rMiddleBottomDomainVariables.retainAll(rMiddleDomainVariables);
+ rMiddleBottomDomainVariables.retainAll(rSharedVariables);
+// rMiddleBottomDomainVariables.removeAll(rNonUniquePatternVariables);
rMiddleBottomDomainVariables.remove(rOtherRootVariable);
//
mapVariablesToVariables(rOtherGuardDomainVariables, cOtherGuardPattern);
@@ -93,6 +77,24 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
}
}
}
+
+ private @NonNull List<@NonNull RealizedVariable> cEnforcedRootVariables; // The mapping template expression variables (the realized variable enforced by the domain pattern)
+ // except when arguments
+
+ public TopEnforceableRelationDomain2CoreMapping(@NonNull RelationDomain rEnforcedDomain, @NonNull String cMappingName) {
+ super(rEnforcedDomain, cMappingName);
+ this.cEnforcedRootVariables = new ArrayList<@NonNull RealizedVariable>(rEnforcedRootVariables.size());
+ for (@NonNull Variable rEnforcedRootVariable : rEnforcedRootVariables) {
+ if (!rWhenVariables.contains(rEnforcedRootVariable)) {
+ this.cEnforcedRootVariables.add(mapRealizedVariable(rEnforcedRootVariable));
+ }
+ }
+ }
+
+ @Override
+ protected @NonNull AbstractOtherRelationDomain2CoreDomain createOtherDomain2CoreDomain( @NonNull RelationDomain rRelationDomain) {
+ return new TopOtherRelationDomain2CoreDomain(rRelationDomain);
+ }
@Override
protected void setAttributes() {
@@ -104,7 +106,8 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
protected void where() throws CompilerChainException {
Set<@NonNull Variable> rEnforcedBottomDomainVariables = new HashSet<@NonNull Variable>(rEnforcedDomainVariables);
rEnforcedBottomDomainVariables.removeAll(rWhenVariables);
- rEnforcedBottomDomainVariables.removeAll(rMiddleDomainVariables);
+ rEnforcedBottomDomainVariables.removeAll(rSharedVariables);
+// rEnforcedBottomDomainVariables.removeAll(rNonUniquePatternVariables);
//
Set<@NonNull Predicate> rPredicatesWithVariableBindings = selectPredicatesThatReferToVariables(rPredicates, rEnforcedBottomDomainVariables);
Set<@NonNull Predicate> rPredicatesWithoutVariableBindings = new HashSet<@NonNull Predicate>(rPredicates);
@@ -112,6 +115,8 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
//
Set<@NonNull Variable> rEnforcedDomainGuardVariables = new HashSet<@NonNull Variable>(rEnforcedDomainVariables);
rEnforcedDomainGuardVariables.retainAll(rWhenVariables);
+ rEnforcedBottomDomainVariables.removeAll(rSharedVariables);
+// rEnforcedBottomDomainVariables.removeAll(rNonUniquePatternVariables);
//
List<@NonNull Variable> nonWhenRootVariables2 = rEnforcedRootVariables;
nonWhenRootVariables2.removeAll(rWhenVariables);
@@ -120,12 +125,14 @@ import org.eclipse.qvtd.pivot.qvttemplate.TemplateExp;
mapPredicatesToPredicates(rPredicatesWithVariableBindings);
mapVariablesToVariables(rEnforcedDomainGuardVariables, cEnforcedGuardPattern);
mapVariablesToVariables(rMiddleBottomDomainVariables, cMiddleBottomPattern);
- mapOtherDomainsToDomainsVariablesAndPatterns();
+ for (@NonNull AbstractOtherRelationDomain2CoreDomain otherDomain2coreDomain : otherDomain2coreDomains) {
+ otherDomain2coreDomain.mapOtherDomainToDomainVariablesAndPatterns();
+ }
// Invoked here so the variables are instantiated
mapDomainVariablesToMiddleVariableAssignments(rOtherDomainVariables);
mapWhenPatternToGuardPatterns();
mapEnforcedDomain(rPredicatesWithoutVariableBindings, rEnforcedBottomDomainVariables);
- mapRelationImplemantationToEnforcementOperation();
+ mapRelationImplementationToEnforcementOperation();
}
}
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/qvtrsrc/SimplerRelToCorePivotizedBeautyfied.qvtr b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/qvtrsrc/SimplerRelToCorePivotizedBeautyfied.qvtr
index 6c27ad5ff..62f3b81b8 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/qvtrsrc/SimplerRelToCorePivotizedBeautyfied.qvtr
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/qvtrsrc/SimplerRelToCorePivotizedBeautyfied.qvtr
@@ -20,7 +20,7 @@ import qvtcore : 'platform:/resource/org.eclipse.qvtd.pivot.qvtcore/model
-transformation relToCore(relations:{qvtrelation,qvttemplate,qvtbase,pivotocl}, core:{qvtcore,qvtcorebase,qvtbase,pivotocl}) -- HHR Use Pivot metamodels
+transformation org::eclipse::qvtd::compiler::qvtr::relToCore(relations:{qvtrelation,qvttemplate,qvtbase,pivotocl}, core:{qvtcore,qvtcorebase,qvtbase,pivotocl}) -- HHR Use Pivot metamodels
{
key qvtcore::Mapping{name, transformation};
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/AllQVTrelationTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/AllQVTrelationTests.java
index 7b42baf97..7a8afcf68 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/AllQVTrelationTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/AllQVTrelationTests.java
@@ -41,7 +41,7 @@ public class AllQVTrelationTests extends TestCase
// result.addTestSuite(UsageTests.class);
// }
if (!EMFPlugin.IS_ECLIPSE_RUNNING) { // FIXME should work as plugin test too
-// result.addTestSuite(QVTrCompilerTests.class);
+ result.addTestSuite(QVTrCompilerTests.class);
}
return result;
}
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
index 94a8cbf85..cc1b1b675 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/QVTrCompilerTests.java
@@ -397,18 +397,18 @@ public class QVTrCompilerTests extends LoadTestCase
myQVT.addUsedGenPackage("org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.genmodel", "//qvtbase");
myQVT.addUsedGenPackage("org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.genmodel", "//qvtrelation");
myQVT.addUsedGenPackage("org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.genmodel", "//qvttemplate");
- Transformation asTransformation = myQVT.compileTransformation("SimplerRelToCorePivotizedBeautyfied.qvtr", "core", projectTestName, "http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/rel2core/SeqToStm");
- Class<? extends Transformer> txClass = myQVT.createGeneratedClass(asTransformation, "SimplerRelToCorePivotizedBeautyfied.genmodel");
+ Transformation asTransformation = myQVT.compileTransformation("RelToCore.qvtr", "core", projectTestName, "http://www.eclipse.org/qvtd/xtext/qvtrelation/tests/rel2core/RelToCore");
+ Class<? extends Transformer> txClass = myQVT.createGeneratedClass(asTransformation, "RelToCore.genmodel");
JavaSourceFileObject.compileClasses("../" + PROJECT_NAME + "/test-gen/" + projectTestName.replace(".", "/"), "../" + PROJECT_NAME + "/bin");
// myQVT.installClassName(projectTestName + ".SeqMM.SeqMMPackage");
// myQVT.installClassName(projectTestName + ".PSeqToStm.PSeqToStmPackage");
//
myQVT.createGeneratedExecutor(txClass);
- myQVT.loadInput("relations", "SimplerRelToCorePivotizedBeautyfied.qvtras");
+ myQVT.loadInput("relations", "Rel2Core.qvtras");
myQVT.executeTransformation();
// myQVT.getResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
// myQVT.getEnvironmentFactory().getMetamodelManager().getASResourceSet().getResourceFactoryRegistry().getExtensionToFactoryMap().put("ecore", new EcoreResourceFactoryImpl());
- myQVT.saveOutput("core", "Rel2Core_CG.ecore", "Rel2Core_expected.ecore", PivotNormalizer.INSTANCE);
+ myQVT.saveOutput("core", "Rel2Core_CG.oclas", "Rel2Core_expected.oclas", PivotNormalizer.INSTANCE);
//
// myQVT.createGeneratedExecutor(txClass);
// myQVT.loadInput("seqDgm", "SeqUM.xmi");
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/SimplerRelToCorePivotizedBeautyfied.qvtr b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/RelToCore.qvtr
index b98dcda2e..d7f06204a 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/SimplerRelToCorePivotizedBeautyfied.qvtr
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/RelToCore.qvtr
@@ -20,50 +20,112 @@ import qvtcore : 'platform:/resource/org.eclipse.qvtd.pivot.qvtcore/model
-transformation org::eclipse::qvtd::xtext::qvtrelation::tests::rel2core::relToCore(relations:{qvtrelation,qvttemplate,qvtbase,pivotocl}, core:{qvtcore,qvtcorebase,qvtbase,pivotocl}) -- HHR Use Pivot metamodels
+transformation org::eclipse::qvtd::xtext::qvtrelation2::tests::rel2core::relToCore(relations:{qvtrelation,qvttemplate,qvtbase,pivotocl}, core:{qvtcore,qvtcorebase,qvtbase,pivotocl}) -- HHR Use Pivot metamodels
{
-- Rule 1: Corresponding to each relation there exists a trace class in core.
-- The trace class contains a property corresponding to each object node in the
-- pattern of each domain of the relation.
--
+ top relation PackageToTracePackage
+ {
+ packageName:String;
+ domain relations
+ relationsPackage:Package {
+ name = packageName
+ };
+ enforce domain core
+ tracePackage:Package {
+ name = packageName
+ };
+ }
+
+ top relation NestedPackageToTracePackage
+ {
+ packageName:String;
+ domain relations
+ relationsParent:Package {
+ ownedPackages = relationsChild:Package {}
+ };
+ enforce domain core
+ traceParent:Package {
+ ownedPackages = traceChild:Package {}
+ };
+ when {
+ PackageToTracePackage(relationsParent, traceParent);
+ PackageToTracePackage(relationsChild, traceChild);
+ }
+ }
+
+/* top relation TransformationToTracePackage
+ {
+ domain relations
+ rTransformation:Transformation {
+ name = transformationName:String{},
+ owningPackage = rParent:Package{}
+ };
+ enforce domain core
+ tracePackage:Package {
+ name = 'T'+transformationName,
+ owningPackage = traceParent:Package{}
+ };
+ when {
+ PackageToTracePackage(rParent, traceParent);
+ }
+ }
+
top relation RelationToTraceClass
{
- relationName:String;
- rootVariableName:String;
domain relations
- _'relation':Relation {
- name = relationName,
+ rRelation: Relation {
+ name = relationName:String{},
+ _'transformation' = rParent:Transformation{}
+ };
+ enforce domain
+ core traceClass:Class {
+ name = 'T'+relationName,
+ owningPackage = traceParent:Package{}
+ };
+ when {
+ TransformationToTracePackage(rParent, traceParent);
+ }
+ }
+
+ relation RootVariableToTraceClassProperty
+ {
+ domain relations
+ rRelation: Relation {
domain = relationDomain:RelationDomain {
pattern = relationDomainPattern:DomainPattern {
templateExpression = rootTemplateExp:TemplateExp {
bindsTo = rootVariable:Variable {
- name = rootVariableName,
+ name = rootVariableName:String{},
type = rootVariableType:Class {}
}
}
}
}
};
- enforce domain
- core traceClass:Class {
- name = 'T'+relationName,
- ownedProperties = traceClassProperty:pivotocl::Property {
- name = rootVariableName,
- type = rootVariableType
- }
+ enforce domain core
+ traceProperty:Property {
+ owningClass = traceClass:Class{},
+ name = rootVariableName,
+ type = rootVariableType
};
-/* where {
+ when {
+ RelationToTraceClass(rRelation, traceClass);
+ }
+ where {
-- CollectionTemplateToTraceClassProps(rootTemplateExp, traceClass);
- ObjectTemplateToTraceClassProps(rootTemplateExp, traceClass);
- } */
- }
+-- ObjectTemplateToTraceClassProps(rootTemplateExp, traceClass);
+ }
+ } */
/* relation CollectionTemplateToTraceClassProps
{
variableName: String;
domain relations
- t:CollectionTemplateExp {
- member = ms:Set(OCLExpression) {
+ collectionTemplateExp:CollectionTemplateExp {
+ member = members:Set(OCLExpression) {
templateExp:TemplateExp {
bindsTo = templateVariable:Variable {
name = variableName,
@@ -89,8 +151,8 @@ transformation org::eclipse::qvtd::xtext::qvtrelation::tests::rel2core::relToCor
{
variableName: String;
domain relations
- t:ObjectTemplateExp {
- part = pt:PropertyTemplateItem {
+ objectTemplateExp:ObjectTemplateExp {
+ part = propertyTemplateItem:PropertyTemplateItem {
value = templateExp:TemplateExp {
bindsTo = templateVariable:Variable {
name = variableName,
@@ -108,7 +170,7 @@ transformation org::eclipse::qvtd::xtext::qvtrelation::tests::rel2core::relToCor
};
where {
-- CollectionTemplateToTraceClassProps(templateExp, traceClass);
- ObjectTemplateToTraceClassProps(templateExp, traceClass);
+-- ObjectTemplateToTraceClassProps(templateExp, traceClass);
}
} */
} \ No newline at end of file
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core.qvtras b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core.qvtras
new file mode 100644
index 000000000..988e096a9
--- /dev/null
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core.qvtras
@@ -0,0 +1,8143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<qvtr:RelationModel 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/2015/Pivot"
+ xmlns:qvtb="http://www.eclipse.org/qvt/2015/QVTbase" xmlns:qvtr="http://www.eclipse.org/qvt/2015/QVTrelation" xmlns:qvtt="http://www.eclipse.org/qvt/2015/QVTtemplate"
+ xsi:schemaLocation="http://www.eclipse.org/ocl/2015/Pivot java://org.eclipse.ocl.pivot.PivotPackage http://www.eclipse.org/qvt/2015/QVTbase java://org.eclipse.qvtd.pivot.qvtbase.QVTbasePackage http://www.eclipse.org/qvt/2015/QVTrelation java://org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage http://www.eclipse.org/qvt/2015/QVTtemplate java://org.eclipse.qvtd.pivot.qvttemplate.QVTtemplatePackage"
+ name="SimplerRelToCorePivotizedBeautyfied.qvtr" externalURI="platform:/resource/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/internal/qvtr2qvtc/qvtrsrc/SimplerRelToCorePivotizedBeautyfied.qvtr">
+ <ownedImports name="pivotocl" importedNamespace="pivot:Package ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#P.pivot"/>
+ <ownedImports name="qvtbase" importedNamespace="pivot:Package ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#P.qvtbase"/>
+ <ownedImports name="qvttemplate" importedNamespace="pivot:Package ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#P.qvttemplate"/>
+ <ownedImports name="qvtrelation" importedNamespace="pivot:Package ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#P.qvtrelation"/>
+ <ownedImports name="qvtcorebase" importedNamespace="pivot:Package ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#P.qvtcorebase"/>
+ <ownedImports name="qvtcore" importedNamespace="pivot:Package ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#P.qvtcore"/>
+ <ownedPackages xmi:id="P.org" name="org">
+ <ownedPackages xmi:id="P.org.eclipse" name="eclipse">
+ <ownedPackages xmi:id="P.org.eclipse.qvtd" name="qvtd">
+ <ownedPackages xmi:id="P.org.eclipse.qvtd.compiler" name="compiler">
+ <ownedPackages xmi:id="P.org.eclipse.qvtd.compiler.qvtr" name="qvtr">
+ <ownedClasses xsi:type="qvtr:RelationalTransformation" xmi:id="T.org.eclipse.qvtd.compiler.qvtr.relToCore" name="relToCore"
+ superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement">
+ <ownedOperations xsi:type="qvtb:Function" xmi:id="o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation"
+ name="getSharedDomainVars" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedParameters xmi:id="p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation" name="r"
+ isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <queryExpression xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:IfExp" type="#//@ownedPackages.1/@ownedClasses.3">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedResult"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.intersection..$$.Collection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.4" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.OrderedSet.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedBody/@ownedElse/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </ownedArguments>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.1" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.union..ocl.Collection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.4" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.OrderedSet.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.0/@queryExpression/@ownedBody/@ownedThen/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </ownedArguments>
+ </ownedThen>
+ </ownedBody>
+ <ownedIterators name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="vars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </queryExpression>
+ </ownedOperations>
+ <ownedOperations xsi:type="qvtb:Function" xmi:id="o.org.eclipse.qvtd.compiler.qvtr.relToCore.getWhenVars..qvtrelation.Relation"
+ name="getWhenVars" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedParameters xmi:id="p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getWhenVars..qvtrelation.Relation" name="r" isRequired="false"
+ type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <queryExpression xsi:type="pivot:LetExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1">
+ <ownedIn xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getWhenVars..qvtrelation.Relation"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:IfExp" type="#//@ownedPackages.1/@ownedClasses.3">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedResult"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.intersection..$$.Collection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.4" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.OrderedSet.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedBody/@ownedElse/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </ownedArguments>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.1" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.union..ocl.Collection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.4" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.OrderedSet.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.1/@queryExpression/@ownedIn/@ownedBody/@ownedThen/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </ownedArguments>
+ </ownedThen>
+ </ownedBody>
+ <ownedIterators name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="vars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedIn>
+ <ownedVariable name="vs" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedVariable>
+ </queryExpression>
+ </ownedOperations>
+ <ownedOperations xsi:type="qvtb:Function" xmi:id="o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"
+ name="getVarsOfExp" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedParameters xmi:id="p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression" name="e" isRequired="false"
+ type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <queryExpression xsi:type="pivot:LetExp" type="#//@ownedPackages.1/@ownedClasses.8">
+ <ownedIn xsi:type="pivot:IfExp" type="#//@ownedPackages.1/@ownedClasses.8">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:IfExp" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:IfExp" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:IfExp" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedVariable"/>
+ <ownedThen xsi:type="pivot:LetExp" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedIn xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedVariable"/>
+ <ownedArguments xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.9" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationCallExp.argument">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedElse/@ownedElse/@ownedThen/@ownedVariable"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedElse/@ownedElse/@ownedThen/@ownedIn/@ownedArguments.0/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedElse/@ownedElse/@ownedThen/@ownedIn/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="avs" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedArguments>
+ </ownedIn>
+ <ownedVariable name="rc" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ </ownedInit>
+ </ownedVariable>
+ </ownedThen>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedVariable"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression">
+ <ownedArguments xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"/>
+ </ownedSource>
+ </ownedArguments>
+ </ownedArguments>
+ </ownedThen>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:LetExp" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedIn xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedVariable"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression">
+ <ownedArguments xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedThen/@ownedVariable"/>
+ </ownedArguments>
+ </ownedArguments>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.9" referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.ownedArguments">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedThen/@ownedVariable"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedThen/@ownedIn/@ownedArguments.0/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedIn/@ownedElse/@ownedThen/@ownedIn/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="avs" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedArguments>
+ </ownedIn>
+ <ownedVariable name="oc" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ </ownedInit>
+ </ownedVariable>
+ </ownedThen>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.8" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.2/@queryExpression/@ownedVariable"/>
+ <ownedArguments xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ </ownedSource>
+ </ownedArguments>
+ </ownedThen>
+ </ownedIn>
+ <ownedVariable name="vs" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedVariable>
+ </queryExpression>
+ </ownedOperations>
+ <ownedOperations xsi:type="qvtb:Function" xmi:id="o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set"
+ name="filterOutPredicatesThatReferToVars" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedParameters xmi:id="p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set"
+ name="rpSet" type="#//@ownedPackages.1/@ownedClasses.10"/>
+ <ownedParameters xmi:id="p1o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set"
+ name="ownrdVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <queryExpression xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set"/>
+ <ownedBody xsi:type="pivot:IfExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getVarsOfExp..pivot.OCLExpression">
+ <ownedArguments xsi:type="pivot:PropertyCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.3/@queryExpression/@ownedIterators.0"/>
+ </ownedArguments>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#p1o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set"/>
+ </ownedSource>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.3/@queryExpression/@ownedResult"/>
+ <ownedThen xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.3/@queryExpression/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.3/@queryExpression/@ownedIterators.0"/>
+ </ownedThen>
+ </ownedBody>
+ <ownedIterators name="p" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="fpSet" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </queryExpression>
+ </ownedOperations>
+ <ownedOperations xsi:type="qvtb:Function" xmi:id="o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"
+ name="isVarBoundToSomeOtherTemplate" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedParameters xmi:id="p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"
+ name="rootTe" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <ownedParameters xmi:id="p1o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"
+ name="skipTe" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <ownedParameters xmi:id="p2o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"
+ name="v" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <queryExpression xsi:type="pivot:IfExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#p1o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:IfExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#p2o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ </ownedCondition>
+ <ownedElse xsi:type="pivot:IteratorExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.exists..T">
+ <ownedSource xsi:type="pivot:IteratorExp" type="#//@ownedPackages.1/@ownedClasses.11" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Bag.select..T">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.11" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.12" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#p0o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.4/@queryExpression/@ownedElse/@ownedElse/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.collect..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsKindOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.4/@queryExpression/@ownedElse/@ownedElse/@ownedSource/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </ownedBody>
+ <ownedIterators name="pe" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Bag.select..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable">
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@ownedOperations.4/@queryExpression/@ownedElse/@ownedElse/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </ownedArguments>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#p1o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#p2o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable"/>
+ </ownedBody>
+ <ownedIterators name="pet" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.exists..T"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="false"/>
+ </queryExpression>
+ </ownedOperations>
+ <modelParameter xmi:id="qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" name="relations" usedPackage="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#P.qvtrelation ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#P.qvttemplate ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#P.qvtbase ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#P.pivot"/>
+ <modelParameter xmi:id="qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" name="core" usedPackage="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#P.qvtcore ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#P.qvtcorebase ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#P.qvtbase ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#P.pivot"/>
+ <rule xsi:type="qvtr:Relation" name="RelationalTransformationToMappingTransformation" isTopLevel="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationalTransformationToMappingTransformation.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Transformation.modelParameter">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationalTransformationToMappingTransformation.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Transformation.modelParameter">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="rtn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="rtm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="up" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="mt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="mtm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RelationToTraceClass" isTopLevel="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationToTraceClass.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationToTraceClass.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.9">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="T"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.0"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Class.ownedProperties">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.7"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="vn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="rdp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="t" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="tv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="c" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="rc" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.8"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="SubTemplateToTraceClassProps">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.SubTemplateToTraceClassProps.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.SubTemplateToTraceClassProps.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.6">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Class.ownedProperties">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.5"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="vn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="t" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="tv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="c" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="rc" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.6"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="TopLevelRelationToMappingForChecking" isTopLevel="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.TopLevelRelationToMappingForChecking.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:IteratorExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.exists..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@domain.0/@pattern.0/@templateExpression/@where/@ownedSource/@ownedIterators.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </ownedBody>
+ <ownedIterators name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.exists..T"/>
+ </ownedSource>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.4"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.isTopLevel">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.3"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.TopLevelRelationToMappingForChecking.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.10">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.15">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.3"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.10"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.13"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"
+ rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.15">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="allDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSet">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.13" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Bag.collect..T">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.14" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.collect..T">
+ <ownedSource xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.15" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="acc" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.collect..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0/@ownedInit/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Bag.collect..T"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="mbVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ </ownedInit>
+ </variable>
+ <variable name="unsharedWhereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.8"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.7"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.5"/>
+ </ownedInit>
+ </variable>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="whereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="vs" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="tcv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="_5" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.14"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.11"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IfExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.6"/>
+ </ownedCondition>
+ <ownedElse xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.6"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.1"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.1"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedThen>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.12"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.10"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RWherePatternToMPattern">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWherePatternToMPattern.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.1">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWherePatternToMPattern.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ </pattern>
+ </domain>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="wherep" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="mp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="UnsharedWhenVarsToMgVars">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.UnsharedWhenVarsToMgVars.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.2">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.0"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.2">
+ <member xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.1"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.UnsharedWhenVarsToMgVars.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="unsharedWhenVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="_1" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="mgVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.0"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5/@variable.4"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="DomainVarsSharedWithWhenToDgVars">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.DomainVarsSharedWithWhenToDgVars.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.2">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.0"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.2">
+ <member xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.1"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.DomainVarsSharedWithWhenToDgVars.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="domainVarsSharedWithWhen" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="_1" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="dgVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.0"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6/@variable.4"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="DomainBottomUnSharedVarsToDbVars">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.DomainBottomUnSharedVarsToDbVars.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.2">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.0"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.2">
+ <member xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.1"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.DomainBottomUnSharedVarsToDbVars.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="domainBottomUnSharedVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="_1" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="dbVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.0"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7/@variable.4"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="TopLevelRelationToMappingForEnforcement" isTopLevel="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.TopLevelRelationToMappingForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.20 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.22 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.23 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.24 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.25 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.26 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.27 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.28">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.13"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.isTopLevel">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.9"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.15" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.20"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.288" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.28">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.10"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.22"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.11"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.23"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.13"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.24"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.25"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.26"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.27"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </member>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.TopLevelRelationToMappingForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.29">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.29 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.30 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.31 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.32 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.33 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.34 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.35 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.36 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.37 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.38 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.39">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.29"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.4"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.9"/>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.10"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.30"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.29"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.31"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.32"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"
+ rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.34">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.33"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.35"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.10"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.36"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.11"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.23"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.37"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.35"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.38"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.39"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="allDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSet">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.13" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Bag.collect..T">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.14" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.collect..T">
+ <ownedSource xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.15" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="acc" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.collect..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.0/@ownedInit/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Bag.collect..T"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="domainBottomUnSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.25"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.17"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.14"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainVarsSharedWithWhen" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.25"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.17"/>
+ </ownedInit>
+ </variable>
+ <variable name="mbVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="oppositeDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1">
+ <ownedInit xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.8"/>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.1" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.union..ocl.Collection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.5/@ownedInit/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.4" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.OrderedSet.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.5/@ownedInit/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.5/@ownedInit/@ownedBody/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="d" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="vars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedInit>
+ </variable>
+ <variable name="predicatesWithVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set">
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.17" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.12"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.1"/>
+ </ownedInit>
+ </variable>
+ <variable name="predicatesWithoutVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.17" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.12"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.6"/>
+ </ownedInit>
+ </variable>
+ <variable name="rOppositeDomains" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rpSet" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.17">
+ <ownedInit xsi:type="pivot:IteratorExp" type="#//@ownedPackages.1/@ownedClasses.17" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.reject..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.17" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.12/@ownedInit/@ownedIterators.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ </ownedBody>
+ <ownedIterators name="p" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.reject..T"/>
+ </ownedInit>
+ </variable>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ </ownedInit>
+ </variable>
+ <variable name="unsharedWhenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.0"/>
+ </ownedInit>
+ </variable>
+ <variable name="unsharedWhereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.18"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.17"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.14"/>
+ </ownedInit>
+ </variable>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="whereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rds" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="up" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="dp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="tev" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_9" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="vs" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="tcv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="_5" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mtev" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.13"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.4"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.33"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.30"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.37"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.27"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.39"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IfExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.16"/>
+ </ownedCondition>
+ <ownedElse xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.16"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.3"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.3"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedThen>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.18" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.6"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.31"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.26"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.38"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.31"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.29"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.19"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.21"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.8/@variable.31"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="InvokedRelationToMappingForChecking" isTopLevel="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.InvokedRelationToMappingForChecking.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.14">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:IteratorExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.exists..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@domain.0/@pattern.0/@templateExpression/@where/@ownedSource/@ownedIterators.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </ownedBody>
+ <ownedIterators name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.exists..T"/>
+ </ownedSource>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.5"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.isTopLevel">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="false"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.3"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.relationCallExp">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.pivot.OCLExpression.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtbase.Pattern.whereOwner">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.InvokedRelationToMappingForChecking.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.15">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.17 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.20">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.3"/>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.4"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.15"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.17"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.18"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"
+ rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.20">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="allDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSet">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.13" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Bag.collect..T">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.14" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.collect..T">
+ <ownedSource xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.15" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="acc" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.collect..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.0/@ownedInit/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Bag.collect..T"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="mbVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="irn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ </ownedInit>
+ </variable>
+ <variable name="unsharedWhereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.9"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.8"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.6"/>
+ </ownedInit>
+ </variable>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="whereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="ri" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ <variable name="p" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="ir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="vs" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="tcv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="_5" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.19"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.16"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.14"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.11"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.16"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IfExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.7"/>
+ </ownedCondition>
+ <ownedElse xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.7"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.1"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.1"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedThen>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.4">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.17"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.9/@variable.15"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="InvokedRelationToMappingForEnforcement" isTopLevel="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.InvokedRelationToMappingForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.21 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.22 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.23 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.24 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.25 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.27 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.28 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.29 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.30 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.31 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.32 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.33">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.18"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.isTopLevel">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="false"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.13"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.relationCallExp">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.21"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.pivot.OCLExpression.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.22"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.23"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtbase.Pattern.whereOwner">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.24"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.14"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.15" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.25"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.288" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.33">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.15"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.27"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.16"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.28"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.18"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.29"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.30"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.31"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.32"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </member>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.InvokedRelationToMappingForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.34">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.34 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.35 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.36 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.37 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.38 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.39 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.40 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.41 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.42 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.43 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.44">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.34"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.19"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.13"/>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.14"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.15"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.35"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.34"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.36"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.37"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"
+ rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.39">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.38"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.40"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.15"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.41"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.16"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.28"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.19"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.42"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.43"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.44"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.40"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="allDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSet">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.13" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Bag.collect..T">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.14" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.collect..T">
+ <ownedSource xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.15" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="acc" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.0/@ownedInit/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.collect..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.0/@ownedInit/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Bag.collect..T"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="domainBottomUnSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.excluding..ocl.OclAny">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.30"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.8"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.32"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainTopVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.30"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.32"/>
+ </ownedInit>
+ </variable>
+ <variable name="oppositeDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1">
+ <ownedInit xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.6"/>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.1" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.union..ocl.Collection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.3/@ownedInit/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.4" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.OrderedSet.collect..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.3/@ownedInit/@ownedIterators.0"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.3/@ownedInit/@ownedBody/@ownedArguments.0/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.OrderedSet.collect..T"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="d" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="vars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedInit>
+ </variable>
+ <variable name="predicatesWithVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set">
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.17" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.7"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.1"/>
+ </ownedInit>
+ </variable>
+ <variable name="predicatesWithoutVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.17" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.7"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.4"/>
+ </ownedInit>
+ </variable>
+ <variable name="rOppositeDomains" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="rpSet" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.17">
+ <ownedInit xsi:type="pivot:IteratorExp" type="#//@ownedPackages.1/@ownedClasses.17" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.reject..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.17" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.7/@ownedInit/@ownedIterators.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ </ownedBody>
+ <ownedIterators name="p" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.reject..T"/>
+ </ownedInit>
+ </variable>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ </ownedInit>
+ </variable>
+ <variable name="unsharedWhenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.11"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.0"/>
+ </ownedInit>
+ </variable>
+ <variable name="unsharedWhereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.UniqueCollection.union..ocl.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.12"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.8"/>
+ </ownedInit>
+ </variable>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="whereVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.where">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="irn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="mbVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="ri" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ <variable name="p" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="ir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rds" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="up" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="dp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="tev" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_13" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="vs" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="tcv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="_5" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="dgVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.18"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.19"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.38"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IfExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.10"/>
+ </ownedCondition>
+ <ownedElse xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.10"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.17"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.17"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedThen>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.18" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.4"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.36"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.35"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.24"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.21"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.35"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.2"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.43"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.31"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.44"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.1" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.36"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.24"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.34"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.20"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.26"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.10/@variable.36"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMDomainForChecking">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDomainForChecking.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.14">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isCheckable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.5"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.13"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDomainForChecking.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.15">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.17 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.20">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.15"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.17"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isCheckable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.18"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.11"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.17"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.20"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.17"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="domainBottomUnSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.13"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.7"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.6"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainVarsSharedWithWhen" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.13"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.7"/>
+ </ownedInit>
+ </variable>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.8"/>
+ </ownedInit>
+ </variable>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.8"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="up" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="dp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.4"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.6">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.19"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.7">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.20"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.8"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.14"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.20"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.11/@variable.16"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="IROppositeDomainsToMappingForEnforcement">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.IROppositeDomainsToMappingForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.21 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.22">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.17 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.20">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.15" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.13"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.288" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.20">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.10"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.8"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isCheckable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.17"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.18"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </member>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.21">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.21"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.22">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.22"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <where xsi:type="pivot:OperationCallExp" name="&lt;>" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.14"/>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.22"/>
+ </where>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.IROppositeDomainsToMappingForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.23">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.23 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.24 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.25 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.26 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.27 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.28 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.29 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.30">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.23"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.24"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.25"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.10"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.7"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isCheckable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="false"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.26"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.27"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.28"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.29"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.30"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.23"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="c" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"/>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="domainBottomSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.excluding..ocl.OclAny">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.19"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainBottomUnSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.excluding..ocl.OclAny">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.19"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainTopVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.19"/>
+ </ownedInit>
+ </variable>
+ <variable name="mbVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.12"/>
+ </ownedInit>
+ </variable>
+ <variable name="up" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.12"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rds" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="ord" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="tev" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_8" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="ir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="dgVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="dbVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.8"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.7"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.5"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.27"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.4"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.29"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.3"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.30"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.12"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.18"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.12/@variable.28"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="TROppositeDomainsToMappingForEnforcement">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.TROppositeDomainsToMappingForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.20">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.17 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.19">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.15" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.13"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.288" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.19">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.10"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.8"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isCheckable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.17"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.18"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </part>
+ </value>
+ </part>
+ </member>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.20">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.20"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <where xsi:type="pivot:OperationCallExp" name="&lt;>" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.%60%%62%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.14"/>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.20"/>
+ </where>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.TROppositeDomainsToMappingForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.21">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.21 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.22 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.23 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.24 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.25 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.26 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.27 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.28">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.21"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.22"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.23"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.10"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.7"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isCheckable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="false"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.24"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.25"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.22"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.26"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.27"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.28"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.21"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="c" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"/>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="domainBottomSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.9"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainBottomUnSharedVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.11"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.9"/>
+ </ownedInit>
+ </variable>
+ <variable name="domainTopVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.intersection..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.17"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.11"/>
+ </ownedInit>
+ </variable>
+ <variable name="mbVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="rt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.12"/>
+ </ownedInit>
+ </variable>
+ <variable name="up" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="whenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.6">
+ <ownedInit xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.12"/>
+ </ownedSource>
+ </ownedInit>
+ </variable>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rds" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="ord" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="_7" type="#//@ownedPackages.1/@ownedClasses.15"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="dgVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="dbVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.8"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.7"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.5"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.25"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.4"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.27"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.16" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.3"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.28"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.12"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.18"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.13/@variable.26"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RWhenPatternToMGuardPattern">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWhenPatternToMGuardPattern.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.when">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWhenPatternToMGuardPattern.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ </pattern>
+ </domain>
+ <variable name="allDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="unsharedWhenVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="whenp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="whenVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.0"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSet">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.13" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Bag.collect..T">
+ <ownedSource xsi:type="pivot:IteratorExp" name="collect" type="#//@ownedPackages.1/@ownedClasses.14" isImplicit="true"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Set.collect..T">
+ <ownedSource xsi:type="pivot:IterateExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.iterate..T">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.2" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.2"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.15" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.including..T">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@where/@predicate.0/@conditionExpression/@ownedArguments.0/@ownedSource/@ownedSource/@ownedSource/@ownedResult"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@where/@predicate.0/@conditionExpression/@ownedArguments.0/@ownedSource/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </ownedArguments>
+ </ownedBody>
+ <ownedIterators name="md" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.iterate..T"/>
+ <ownedResult name="acc" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.15" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#a0i.ocl.Collection.iterate..T">
+ <ownedInit xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedResult>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.5" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@where/@predicate.0/@conditionExpression/@ownedArguments.0/@ownedSource/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Set.collect..T"/>
+ </ownedSource>
+ <ownedBody xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.6" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@where/@predicate.0/@conditionExpression/@ownedArguments.0/@ownedSource/@ownedIterators.0"/>
+ </ownedBody>
+ <ownedIterators name="1_" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isImplicit="true" representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Bag.collect..T"/>
+ </ownedSource>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.1"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.4"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.0"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.5">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.14/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RVarSetToMVarSet">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarSetToMVarSet.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.4">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.16" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.2"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.289" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.4">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarSetToMVarSet.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.7">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.5"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.7">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="rvRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="rvSeq" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="rv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="mvSet" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.6"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IfExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean">
+ <ownedCondition xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.isEmpty">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.1"/>
+ </ownedCondition>
+ <ownedElse xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.0"/>
+ </ownedElse>
+ <ownedThen xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.15/@variable.0"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </ownedThen>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RVarSetToMBVarSet">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarSetToMBVarSet.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.4">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.16" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.2"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.289" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.4">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarSetToMBVarSet.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="rvRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="rvSeq" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="rv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.6"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.16/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RVarSetToDGVarSet">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarSetToDGVarSet.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.4">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.16" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.2"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.289" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.4">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarSetToDGVarSet.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="rvRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="rvSeq" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="rv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="_2" type="#//@ownedPackages.1/@ownedClasses.16"/>
+ <variable name="dg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.6"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.16" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.17/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RVarToMVar">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarToMVar.relations" isCheckable="true"
+ isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarToMVar.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18/@variable.2"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="n" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="t" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RVarToMRealizedVar">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarToMRealizedVar.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RVarToMRealizedVar.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19/@variable.2"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="n" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="t" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RSimplePatternToMPattern">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RSimplePatternToMPattern.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.2"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ </ownedSource>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RSimplePatternToMPattern.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="rp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="pd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="re" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="mp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="mpd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.20/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RWhenRelCallToMGuard">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWhenRelCallToMGuard.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationCallExp.referredRelation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.19" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.291"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationCallExp.argument">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.20" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.5"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.293"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWhenRelCallToMGuard.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.6">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ </pattern>
+ </domain>
+ <variable name="rp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Pattern"/>
+ <variable name="pd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="dseq" type="#//@ownedPackages.1/@ownedClasses.19"/>
+ <variable name="aseq" type="#//@ownedPackages.1/@ownedClasses.20"/>
+ <variable name="mp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IteratorExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.forAll..T">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.20" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.5"/>
+ <ownedBody xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@where/@predicate.0/@conditionExpression/@ownedIterators.0"/>
+ <argument xsi:type="pivot:OperationCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OrderedCollection.at..ocl.Integer">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.19" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.4"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Integer"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OrderedCollection.indexOf..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.20" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.5"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@where/@predicate.0/@conditionExpression/@ownedIterators.0"/>
+ </ownedArguments>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.21/@variable.6"/>
+ </ownedBody>
+ <ownedIterators name="a" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.forAll..T"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RWhenRelCallArgToMGuardPredicate">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWhenRelCallArgToMGuardPredicate.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.6">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.rootVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RWhenRelCallArgToMGuardPredicate.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.16">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.2"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_v"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.9"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.PropertyCallExp.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.referredOperation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="="/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.ownedArguments">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="dvn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="tc" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="vd" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mpd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="ee" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ <variable name="pe" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"/>
+ <variable name="pve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="pep" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="eo" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"/>
+ <variable name="ave" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.22/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RInvokerToMGuard">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RInvokerToMGuard.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.0">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationCallExp.argument">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.20" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.2"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.293"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.19" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.291"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RInvokerToMGuard.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ </pattern>
+ </domain>
+ <variable name="ir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="ri" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationCallExp"/>
+ <variable name="aseq" type="#//@ownedPackages.1/@ownedClasses.20"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="dseq" type="#//@ownedPackages.1/@ownedClasses.19"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="pivot:IteratorExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredIteration="http://www.eclipse.org/ocl/2015/Library.oclas#i.ocl.Collection.forAll..T">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.20" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.2"/>
+ <ownedBody xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@where/@predicate.0/@conditionExpression/@ownedIterators.0"/>
+ <argument xsi:type="pivot:OperationCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OrderedCollection.at..ocl.Integer">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.19" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.4"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Integer"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OrderedCollection.indexOf..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.20" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.2"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@where/@predicate.0/@conditionExpression/@ownedIterators.0"/>
+ </ownedArguments>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.23/@variable.5"/>
+ </ownedBody>
+ <ownedIterators name="a" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ representedParameter="http://www.eclipse.org/ocl/2015/Library.oclas#i0i.ocl.Collection.forAll..T"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RInvokerToMGuardPredicate">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RInvokerToMGuardPredicate.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.6">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.rootVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RInvokerToMGuardPredicate.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.16">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.1"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_v"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.9"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.PropertyCallExp.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.referredOperation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="="/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.ownedArguments">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mdv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="tc" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="vn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="ir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="vd" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="ee" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ <variable name="pe" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"/>
+ <variable name="mve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="pep" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="eo" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"/>
+ <variable name="ave" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.24/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternToMDBottomPattern">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPattern.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.0">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPattern.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.rule">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMDBottomForEnforcement">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.10">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.8">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.9">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.10" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.9"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.286"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.10">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.10"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.11">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.14">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.rule">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.13"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="predicatesWithVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedInit xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set">
+ <ownedArguments xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.9"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.1"/>
+ </ownedInit>
+ </variable>
+ <variable name="remainingUnBoundDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.10"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.6" kind="Set">
+ <ownedParts xsi:type="pivot:CollectionItem" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedItem xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.8"/>
+ </ownedParts>
+ </ownedArguments>
+ </ownedInit>
+ </variable>
+ <variable name="remainingPredicatesWithoutVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10">
+ <ownedInit xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.9"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.0"/>
+ </ownedInit>
+ </variable>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="predicatesWithoutVarBindings" type="#//@ownedPackages.1/@ownedClasses.10"/>
+ <variable name="unboundDomainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.11"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.14"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.13"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.13"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26/@variable.14"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainVarToMDBottomAssignmnetForEnforcement">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainVarToMDBottomAssignmnetForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.4">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainVarToMDBottomAssignmnetForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.6">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.10">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.5"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.27/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMBottomPredicateForEnforcement">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMBottomPredicateForEnforcement.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.9">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.8">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.10" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.8"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.286"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.9">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.9"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"/>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMBottomPredicateForEnforcement.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.10">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.17">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.PropertyCallExp.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.7"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.2"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.referredOperation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="="/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.ownedArguments">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.17"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.3"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="predicatesWithVarBindings" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10"/>
+ <variable name="remainingUnBoundDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="predicatesWithoutVarBindings" type="#//@ownedPackages.1/@ownedClasses.10"/>
+ <variable name="unboundDomainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="pd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="ee" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ <variable name="pe" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"/>
+ <variable name="pve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="pep" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="eo" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"/>
+ <variable name="ave" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.1"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" name="-" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%45%..$$.UniqueCollection">
+ <ownedSource xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.9"/>
+ <ownedArguments xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.6" kind="Set">
+ <ownedParts xsi:type="pivot:CollectionItem" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedItem xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.7"/>
+ </ownedParts>
+ </ownedArguments>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.0"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.10" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.filterOutPredicatesThatReferToVars..$$.Set..$$.Set">
+ <ownedArguments xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.8"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.1"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.3"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29">
+ <argument xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.18" referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.asSequence">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.0"/>
+ </argument>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.28/@variable.10"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RPredicateSetToMBPredicateSet">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RPredicateSetToMBPredicateSet.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.4">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.18" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.1"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.295" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.4">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </member>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RPredicateSetToMBPredicateSet.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="rpRest" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.18"/>
+ <variable name="predSeq" type="#//@ownedPackages.1/@ownedClasses.18"/>
+ <variable name="rp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="re" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="_3" type="#//@ownedPackages.1/@ownedClasses.18"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.7"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.18" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.29/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMDBottomForEnforcementOfIdentityProp">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfIdentityProp.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.0">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <where xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.21" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.part">
+ <ownedSource xsi:type="pivot:OppositePropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Key"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.identifies">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.3"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5"/>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfIdentityProp.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.7">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.10">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.rule">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.9"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="c" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.7"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.7"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.7"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.0"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.30/@variable.10"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMDBottomForEnforcementOfIdentityPropObject">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfIdentityPropObject.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.11">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <where xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.21" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.part">
+ <ownedSource xsi:type="pivot:OppositePropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Key"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.identifies">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.7"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.9"/>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfIdentityPropObject.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.12">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.16">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.11"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.1"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mtv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="seqForAssignment" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.22"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="c" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="tv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.11"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.31/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternExprToMappingDomainAssignment">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingDomainAssignment.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.4">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.1"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression">
+ <where xsi:type="pivot:OperationCallExp" name="and" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.4"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.4"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </ownedSource>
+ </ownedArguments>
+ </where>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingDomainAssignment.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.9">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.32/@variable.9"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternExprToMappingDomainVarAssignment">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingDomainVarAssignment.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.7">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.0"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.3"/>
+ <ownedArguments xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.7"/>
+ </ownedArguments>
+ </ownedSource>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.1"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingDomainVarAssignment.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.13">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.realizedVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.9"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rev" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mev" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.3"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.4"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.9"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.33/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternExprToMappingDomainTemplateVarAssignment">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingDomainTemplateVarAssignment.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.7">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.0"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.3"/>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.1"/>
+ </ownedSource>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.1"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingDomainTemplateVarAssignment.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.13">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.realizedVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.9"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rev" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mev" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.3"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.4"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.9"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.34/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternExprToMappingBottomVarAssignment">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingBottomVarAssignment.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.7">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.0"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <where xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.3"/>
+ <ownedArguments xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.7"/>
+ </ownedArguments>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.1"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternExprToMappingBottomVarAssignment.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.13">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.realizedVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.9"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.9"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="rev" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mev" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.3"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.4"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.9"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.35/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMDBottomForEnforcementOfNonIdentityPropPrimitive">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfNonIdentityPropPrimitive.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.10">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.9">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <where xsi:type="pivot:OperationCallExp" name="and" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.21" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.part">
+ <ownedSource xsi:type="pivot:OppositePropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Key"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.identifies">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.6"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.8"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsKindOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.9"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"/>
+ </ownedSource>
+ </ownedArguments>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.12">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfNonIdentityPropPrimitive.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.13">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.15 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.17 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.20">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#p.qvtcore.Mapping.local">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.13"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_forNonIdentityProp"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.17"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.18"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.20"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="c" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="rdp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="rdt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="cm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="bp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.15"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.20"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.36/@variable.14"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMComposedMappingGuard">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMComposedMappingGuard.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.14">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.7">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.8">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.13">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.3"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.7"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.DomainPattern.templateExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.15">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <where xsi:type="pivot:OperationCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.isVarBoundToSomeOtherTemplate..qvttemplate.ObjectTemplateExp..qvttemplate.ObjectTemplateExp..pivot.Variable">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.13"/>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.8"/>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.15"/>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMComposedMappingGuard.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.16">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.17 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.20 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.21 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.22 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.23 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.24 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.25 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.26 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.27">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.16"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.17"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.predicate">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.18"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.20"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.CallExp.ownedSource">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.21"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.PropertyCallExp.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.22"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.5"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.5"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.referredOperation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.23"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="="/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.ownedArguments">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.24"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.5"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.25"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.26"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.3"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.11"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.guardPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.27"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.5"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mt" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="up" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="rdp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="rdt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="cm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <variable name="pd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"/>
+ <variable name="ee" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ <variable name="pe" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.PropertyCallExp"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="eo" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="cmdg" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.7"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.4"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.15"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.37/@variable.5"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainToMDBottomForEnforcementOfNonIdentityPropObject">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfNonIdentityPropObject.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.16 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.17">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.8">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.5"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.15">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.16">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.10" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.16"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.286"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.17">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.17"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:PropertyCallExp" type="#//@ownedPackages.1/@ownedClasses.21" referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.part">
+ <ownedSource xsi:type="pivot:OppositePropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Key"
+ referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Key.identifies">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.11"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.13"/>
+ </ownedSource>
+ </where>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainToMDBottomForEnforcementOfNonIdentityPropObject.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.18">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.18 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.19 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.20 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.21 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.22 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.23 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.24 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.25 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.26 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.27 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.28 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.29">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.18"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#p.qvtcore.Mapping.local">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.19"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.18"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_for_"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.15"/>
+ </ownedArguments>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.20"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.21"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.isEnforceable">
+ <value xsi:type="pivot:BooleanLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ booleanSymbol="true"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.22"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.8"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.20"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.23"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.realizedVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.24"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.25"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.26"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.3"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.27"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.3"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.28"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.24"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Area.bottomPattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.29"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.19"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tmn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="mv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="dir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="up" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="v" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="c" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="pte" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="pv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="predicatesWithoutVarBindings" type="#//@ownedPackages.1/@ownedClasses.10"/>
+ <variable name="unboundDomainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="m" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="cm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"/>
+ <variable name="mt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"/>
+ <variable name="cd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"/>
+ <variable name="mdir" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="cmdb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="mpv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.0">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationalTransformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.20"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.3"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.19">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.15"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.24"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.26">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.14"/>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.10" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.16"/>
+ <argument xsi:type="pivot:VariableExp" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.17"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.38/@variable.23"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternToMDBottomPatternComposite">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternComposite.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.10">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternComposite.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.11">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.15">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mvpte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="vte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="pte" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="vpte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.25">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.4"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.9"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.39/@variable.11"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternToMDBottomPatternSimpleUnSharedVarExpr">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternSimpleUnSharedVarExpr.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.10">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <where xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.3"/>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.10"/>
+ </ownedSource>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternSimpleUnSharedVarExpr.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.11">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.15">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mvpte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="vte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="vpte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.3"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.4"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.40/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternToMDBottomPatternSimpleSharedVarExpr">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternSimpleSharedVarExpr.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.10">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <where xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Collection.includes..ocl.OclAny">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.3"/>
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.10"/>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.2"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternSimpleSharedVarExpr.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.11">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.13 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.14 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.15">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.14"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.2"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.15"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mvpte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="sharedDomainVars" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="vte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="vpte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="pivot:OperationCallExp" name="=" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Set.%61%..ocl.OclSelf">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.0" referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.3"/>
+ <ownedArguments xsi:type="pivot:OperationCallExp" type="#//@ownedPackages.1/@ownedClasses.0" referredOperation="#o.org.eclipse.qvtd.compiler.qvtr.relToCore.getSharedDomainVars..qvtrelation.Relation">
+ <ownedArguments xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.4"/>
+ </ownedArguments>
+ </conditionExpression>
+ </predicate>
+ </when>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.10"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.41/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainPatternToMDBottomPatternSimpleNonVarExpr">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternSimpleNonVarExpr.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp">
+ <where xsi:type="pivot:OperationCallExp" name="and" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.and..ocl.Boolean">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsKindOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.6"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"/>
+ </ownedSource>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:OperationCallExp" name="not" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.Boolean.not">
+ <ownedSource xsi:type="pivot:OperationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclIsTypeOf..ocl.OclType">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.6"/>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ </ownedSource>
+ </ownedArguments>
+ </where>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.TemplateExp.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.ObjectTemplateExp.part">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.referredProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.qvttemplate.PropertyTemplateItem.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainPatternToMDBottomPatternSimpleNonVarExpr.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.7">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.11">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="mvte" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.ObjectTemplateExp"/>
+ <variable name="vte" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="pt" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"/>
+ <variable name="pp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="e" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="db" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.42/@variable.11"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RDomainVarsToTraceClassProps">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainVarsToTraceClassProps.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.8">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.rule">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.5"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285"
+ rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.8">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.pivot.Variable.templateExp">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"/>
+ </part>
+ </member>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RDomainVarsToTraceClassProps.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.9">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.12 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.13">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.6"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.13"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mdv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="dp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="dv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"/>
+ <variable name="_6" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.6"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.43/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="ROppositeDomainVarsToTraceClassProps">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.ROppositeDomainVarsToTraceClassProps.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.4">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.6 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.7">
+ <templateExpression xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.4"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.285" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.7">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#p.pivot.Variable.templateExp">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"/>
+ </part>
+ </member>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.ROppositeDomainVarsToTraceClassProps.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.8">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.12">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.8"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.assignment">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.NavigationAssignment.slotExpression">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.0"/>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.PropertyAssignment.targetProperty">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <ownedSource xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.5"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass">
+ <value xsi:type="pivot:OperationCallExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.OclAny.oclAsType..TT">
+ <ownedSource xsi:type="pivot:PropertyCallExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type"
+ referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.0"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:TypeExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ </value>
+ </part>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.Assignment.value">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.12"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.1"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="tcv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="mdv" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="domainVars" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="dv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="te" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.TemplateExp"/>
+ <variable name="_3" type="#//@ownedPackages.1/@ownedClasses.0"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="a" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.PropertyAssignment"/>
+ <variable name="ve1" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="tp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"/>
+ <variable name="ve2" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.0"/>
+ </conditionExpression>
+ </predicate>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.5"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.44/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RRelImplToMBottomEnforcementOperation">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RRelImplToMBottomEnforcementOperation.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.Relation.operationalImpl">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationImplementation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationImplementation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationImplementation.inDirectionOf">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationImplementation.impl">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.typedModel">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RRelImplToMBottomEnforcementOperation.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.7">
+ <defaultAssignment variable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.0">
+ <valueExp xsi:type="pivot:CollectionLiteralExp" type="#//@ownedPackages.1/@ownedClasses.7" kind="Set"/>
+ </defaultAssignment>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.7 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.8 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.9 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.10 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.11 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.12">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.7"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.enforcementOperation">
+ <value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.23" bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.8"
+ referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedPackages.0/@ownedClasses.297" rest="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.12">
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.9"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.EnforcementOperation.enforcementMode">
+ <value xsi:type="pivot:EnumLiteralExp" type="pivot:Enumeration ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementMode"
+ referredLiteral="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#//@ownedPackages.0/@ownedClasses.13/@ownedLiterals.0"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.EnforcementOperation.operationCallExp">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.10"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.referredOperation">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.4"/>
+ </part>
+ </value>
+ </part>
+ </member>
+ <member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.11"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.EnforcementOperation.enforcementMode">
+ <value xsi:type="pivot:EnumLiteralExp" type="pivot:Enumeration ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementMode"
+ referredLiteral="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#//@ownedPackages.0/@ownedClasses.13/@ownedLiterals.1"/>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.EnforcementOperation.operationCallExp">
+ <value xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.10"/>
+ </part>
+ </member>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="emptySet" isRequired="false" type="#//@ownedPackages.1/@ownedClasses.23"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="ri" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationImplementation"/>
+ <variable name="tm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="op" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="tm" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"/>
+ <variable name="mb" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"/>
+ <variable name="eoSet" type="#//@ownedPackages.1/@ownedClasses.23"/>
+ <variable name="eoc" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"/>
+ <variable name="oce" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ <variable name="eod" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"/>
+ <variable name="_5" type="#//@ownedPackages.1/@ownedClasses.23"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.1"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.45/@variable.10"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RRelDomainsToMOpCallArg">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RRelDomainsToMOpCallArg.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.0 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.1 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.2 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.domain">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#p.qvtrelation.RelationDomain.pattern">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <part referredProperty="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Pattern.bindsTo">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RRelDomainsToMOpCallArg.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.4">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.4 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.5 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.6">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.OperationCallExp.ownedArguments">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.VariableExp.referredVariable">
+ <value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.6"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ </part>
+ </value>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="rd" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="p" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"/>
+ <variable name="rv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <variable name="oce" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OperationCallExp"/>
+ <variable name="ar" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"/>
+ <variable name="mv" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"/>
+ <where>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.18">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.46/@variable.6"/>
+ </conditionExpression>
+ </predicate>
+ </where>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RelationToTraceClassVar">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationToTraceClassVar.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.2">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.2">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.2"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.0"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationToTraceClassVar.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.3">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.0"/>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_v"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.1"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tc" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="tcv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.2"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.47/@variable.1"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RelationDomainToTraceClassVar">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationDomainToTraceClassVar.relations"
+ isCheckable="true" isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.3 #//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.4">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.3">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.3"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.0"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.4">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.4"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.1"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RelationDomainToTraceClassVar.core"
+ isCheckable="true" isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.5">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.5">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.5"
+ referredClass="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable">
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name">
+ <value xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:OperationCallExp" name="+" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredOperation="http://www.eclipse.org/ocl/2015/Library.oclas#o.ocl.String.%43%..ocl.String">
+ <ownedSource xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.0"/>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.1"/>
+ </ownedSource>
+ <ownedArguments xsi:type="pivot:StringLiteralExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"
+ stringSymbol="_v"/>
+ </value>
+ </part>
+ <part referredProperty="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type">
+ <value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.2"/>
+ </part>
+ </templateExpression>
+ </pattern>
+ </domain>
+ <variable name="rn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="dn" isRequired="false" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#String"/>
+ <variable name="tc" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"/>
+ <variable name="r" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"/>
+ <variable name="d" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"/>
+ <variable name="tcv" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.RealizedVariable"/>
+ <when>
+ <predicate>
+ <conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#Boolean"
+ referredRelation="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.1">
+ <argument xsi:type="pivot:VariableExp" type="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.Relation"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.3"/>
+ <argument xsi:type="pivot:VariableExp" isRequired="false" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class"
+ referredVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.48/@variable.2"/>
+ </conditionExpression>
+ </predicate>
+ </when>
+ </rule>
+ <rule xsi:type="qvtr:Relation" name="RExpToMExp" isDefault="true">
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RExpToMExp.relations" isCheckable="true"
+ isEnforceable="false" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.relations" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49/@variable.0">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49/@variable.0">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49/@variable.0"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </pattern>
+ </domain>
+ <domain xsi:type="qvtr:RelationDomain" xmi:id="qD.org.eclipse.qvtd.compiler.qvtr.relToCore.RExpToMExp.core" isCheckable="true"
+ isEnforceable="true" typedModel="#qT.org.eclipse.qvtd.compiler.qvtr.relToCore.core" rootVariable="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49/@variable.1">
+ <pattern bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49/@variable.1">
+ <templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ bindsTo="#//@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedClasses.0/@rule.49/@variable.1"
+ referredClass="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </pattern>
+ </domain>
+ <variable name="re" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ <variable name="me" type="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"/>
+ </rule>
+ <ownedContext name="this"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore.oclas#T.qvtcore.Mapping"
+ part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Rule.transformation"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.GuardPattern"
+ part="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.GuardPattern.area"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.BottomPattern"
+ part="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#p.qvtcorebase.BottomPattern.area"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable" part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.TypedElement.type"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Type" part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Class" part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property" part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.Property.owningClass"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.CoreDomain"
+ part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Domain.rule"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.TypedModel"
+ part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.usedPackage ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.TypedModel.transformation"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Package" part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Transformation"
+ part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Operation" part="../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#p.pivot.NamedElement.name"/>
+ <ownedKey identifies="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ part="../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.pattern ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#p.qvtbase.Predicate.conditionExpression"/>
+ </ownedClasses>
+ </ownedPackages>
+ </ownedPackages>
+ </ownedPackages>
+ </ownedPackages>
+ </ownedPackages>
+ <ownedPackages xmi:id="P.$$" name="$$" URI="http://www.eclipse.org/ocl/2015/Orphanage" nsPrefix="orphanage">
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.24" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:BagType" name="Bag" superClasses="#//@ownedPackages.1/@ownedClasses.3" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..BagT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:OrderedSetType" name="OrderedSet" superClasses="#//@ownedPackages.1/@ownedClasses.25 #//@ownedPackages.1/@ownedClasses.26"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedSetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SequenceType" name="Sequence" superClasses="#//@ownedPackages.1/@ownedClasses.27" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SequenceT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:OrderedSetType" name="OrderedSet" superClasses="#//@ownedPackages.1/@ownedClasses.28 #//@ownedPackages.1/@ownedClasses.29"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedSetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.24" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.30" elementType="pivot:VoidType http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclVoid"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:VoidType http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclVoid" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.31" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:OrderedSetType" name="OrderedSet" superClasses="#//@ownedPackages.1/@ownedClasses.32 #//@ownedPackages.1/@ownedClasses.33"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression" isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedSetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.34" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:BagType" name="Bag" superClasses="#//@ownedPackages.1/@ownedClasses.35" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..BagT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.36" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:BagType" name="Bag" superClasses="#//@ownedPackages.1/@ownedClasses.3" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..BagT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:BagType" name="Bag" superClasses="#//@ownedPackages.1/@ownedClasses.37" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..BagT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.38" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SequenceType" name="Sequence" superClasses="#//@ownedPackages.1/@ownedClasses.27" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SequenceT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.34" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SequenceType" name="Sequence" superClasses="#//@ownedPackages.1/@ownedClasses.39" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SequenceT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SequenceType" name="Sequence" superClasses="#//@ownedPackages.1/@ownedClasses.40" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SequenceT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SequenceType" name="Sequence" superClasses="#//@ownedPackages.1/@ownedClasses.41" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SequenceT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.42" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ isNullFree="true">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SequenceType" name="Sequence" superClasses="#//@ownedPackages.1/@ownedClasses.43" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Element">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Element"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SequenceT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.44" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.3" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.45" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.45" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.3" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Variable"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.37" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.37" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.46" elementType="pivot:VoidType http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclVoid">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:VoidType http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclVoid" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.47" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.35" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.35" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.48" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.OCLExpression"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.49" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.DomainPattern"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.50" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.48" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.50" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.51" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.52" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="OrderedCollection" superClasses="#//@ownedPackages.1/@ownedClasses.53" elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Element">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Element"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..OrderedCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.54" elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Domain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:VoidType http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclVoid">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:VoidType http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclVoid" formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableDeclaration"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore.oclas#T.qvtbase.Predicate"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore.oclas#T.qvttemplate.PropertyTemplateItem"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore.oclas#T.qvtrelation.RelationDomain"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.VariableExp"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Property"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Element">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.ocl.pivot/model/Pivot.ecore.oclas#T.pivot.Element"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ <ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
+ elementType="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation">
+ <ownedBindings>
+ <ownedSubstitutions actual="pivot:Class ../../../../../../../../../../org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore.oclas#T.qvtcorebase.EnforcementOperation"
+ formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
+ </ownedBindings>
+ </ownedClasses>
+ </ownedPackages>
+</qvtr:RelationModel>
diff --git a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core_expected.ecore b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core_expected.oclas
index a6c937c2d..a6c937c2d 100644
--- a/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core_expected.ecore
+++ b/tests/org.eclipse.qvtd.xtext.qvtrelation.tests/src/org/eclipse/qvtd/xtext/qvtrelation/tests/rel2core/samples/Rel2Core_expected.oclas

Back to the top