| <?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" xmi:id="P-qvtbase" name="qvtbase" nsURI="http://www.eclipse.org/qvt/2015/QVTbase" |
| nsPrefix="qvtb"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> |
| <details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> |
| <details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/> |
| </eAnnotations> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-BaseModel" name="BaseModel" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Model"/> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-CompoundTargetElement" name="CompoundTargetElement" |
| eSuperTypes="#T-qvtbase-TargetElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-CompoundTargetElement-ownedTargetElements" |
| name="ownedTargetElements" lowerBound="2" upperBound="-1" eType="#T-qvtbase-SimpleTargetElement" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Domain" name="Domain" abstract="true" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ReferringElement"> |
| <eOperations name="validateNameIsTypedModelName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="NameIsTypedModelName"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	typedModel <> null implies name = typedModel.name

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateTypedModelIsTransformationModelParameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="TypedModelIsTransformationModelParameter"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	oclContainer().oclIsKindOf(Transformation) and typedModel <> null implies
	oclContainer().oclAsType(Transformation).modelParameter->includes(typedModel)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-Domain-isCheckable" |
| name="isCheckable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="A checkable domain may be selected as the target of a transformation in check mode. An enforceable domain is always checkable. A not-checkable domain cannot be selected as the target of a transformation. See Bug 549776.See Bug 549776."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-Domain-isEnforceable" |
| name="isEnforceable" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| unsettable="true"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="An enforceable domain may be selected as the target of a transformation in check or enforce mode. An enforceable domain is always checkable. A not-checkable domain cannot be selected as the target of a transformation. See Bug 549776."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Domain-rule" |
| name="rule" lowerBound="1" eType="#T-qvtbase-Rule" transient="true" eOpposite="#F-qvtbase-Rule-domain"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Domain-typedModel" |
| name="typedModel" eType="#T-qvtbase-TypedModel"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Function" name="Function" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Operation"> |
| <eOperations name="validateParametersAreFunctionParameter" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ParametersAreFunctionParameter"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	ownedParameters->forAll(oclIsKindOf(FunctionParameter))

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateReturnTypeIsQueryType" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ReturnTypeIsQueryType"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	queryExpression <> null implies queryExpression.type?.conformsTo(type)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Function-queryExpression" |
| name="queryExpression" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression" |
| volatile="true" transient="true" derived="true" resolveProxies="false"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-FunctionBody" name="FunctionBody" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ExpressionInOCL"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="FunctionBody refines ExpressionInOCL to avoid the inconvenience of a timely setType() by deriving the type from the bodyExpression. See Bug 481664."/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-FunctionParameter" name="FunctionParameter" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Parameter"/> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Pattern" name="Pattern" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Pattern-predicate" |
| name="predicate" ordered="false" upperBound="-1" eType="#T-qvtbase-Predicate" |
| containment="true" eOpposite="#F-qvtbase-Predicate-pattern"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Pattern-bindsTo" |
| name="bindsTo" ordered="false" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Predicate" name="Predicate" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element"> |
| <eOperations name="validateConditionIsBoolean" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ConditionIsBoolean"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
conditionExpression.type = Boolean

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Predicate-conditionExpression" |
| name="conditionExpression" lowerBound="1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="predicate"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Predicate-pattern" |
| name="pattern" lowerBound="1" eType="#T-qvtbase-Pattern" transient="true" |
| eOpposite="#F-qvtbase-Pattern-predicate"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Rule" name="Rule" abstract="true" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement"> |
| <eOperations name="validateDomainNameIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="DomainNameIsUnique"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	domain->isUnique(name)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateAtLeastOneDomainIsCheckableOrEnforceable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="AtLeastOneDomainIsCheckableOrEnforceable"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	domain->notEmpty() implies domain->exists(isCheckable or isEnforceable)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateNoOverridesCycle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="NoOverridesCycle"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	overridden->closure(overridden)->excludes(self)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateAbstractRuleIsOverridden" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="AbstractRuleIsOverridden"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	isAbstract implies overrides->notEmpty()

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateOverridingRuleOverridesAllDomains" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="OverridingRuleOverridesAllDomains"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	overridden <> null implies
	overridden.domain->forAll(od | self.domain.name->includes(od.name))

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Rule-domain" |
| name="domain" upperBound="-1" eType="#T-qvtbase-Domain" containment="true" |
| eOpposite="#F-qvtbase-Domain-rule"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-Rule-isAbstract" |
| name="isAbstract" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| defaultValueLiteral="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Rule-overridden" |
| name="overridden" eType="#T-qvtbase-Rule" eOpposite="#F-qvtbase-Rule-overrides"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Rule-overrides" |
| name="overrides" upperBound="-1" eType="#T-qvtbase-Rule" eOpposite="#F-qvtbase-Rule-overridden"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Rule-transformation" |
| name="transformation" eType="#T-qvtbase-Transformation" transient="true" resolveProxies="false" |
| eOpposite="#F-qvtbase-Transformation-rule"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-SimpleTargetElement" name="SimpleTargetElement" |
| eSuperTypes="#T-qvtbase-TargetElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-SimpleTargetElement-typedModel" |
| name="typedModel" lowerBound="1" eType="#T-qvtbase-TypedModel"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-SimpleTargetElement-iterates" |
| name="iterates" ordered="false" upperBound="-1" eType="#T-qvtbase-TypedModel"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The set of typed models whose elements are also part of this TypedModel. An input TypedModel that iterates an output TypedModel specfies a fixed point iteration."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-SimpleTargetElement-kind" |
| name="kind" lowerBound="1" eType="#T-qvtbase-TargetElementKind"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Target" name="Target" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Target-owningTransformation" |
| name="owningTransformation" lowerBound="1" eType="#T-qvtbase-Transformation" |
| transient="true" eOpposite="#F-qvtbase-Transformation-ownedTargets"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Target-ownedTargetElements" |
| name="ownedTargetElements" ordered="false" lowerBound="2" upperBound="-1" |
| eType="#T-qvtbase-TargetElement" containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-TargetElement" name="TargetElement" |
| abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element"/> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-Transformation" name="Transformation" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Class"> |
| <eOperations name="getFunction" lowerBound="1" eType="#T-qvtbase-Function"> |
| <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eOperations> |
| <eOperations name="getModelParameter" lowerBound="1" eType="#T-qvtbase-TypedModel"> |
| <eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> |
| </eOperations> |
| <eOperations name="validateContextTypeIsTransformation" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ContextTypeIsTransformation"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	ownedContext <> null implies ownedContext.type.oclIsKindOf(Transformation)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateExtendedTypedModelIsExtended" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ExtendedTypedModelIsExtended"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	_extends <> null implies
	_extends.modelParameter->forAll(etm |
		self.modelParameter->select(name = etm.name).usedPackage->includesAll(etm.usedPackage)
	)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateModelParameterIsUnique" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ModelParameterIsUnique"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	modelParameter->isUnique(name)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eOperations name="validateNoExtendsCycle" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="NoExtendsCycle"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	_extends->closure(_extends)->excludes(self)

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Transformation-ownedTag" |
| name="ownedTag" ordered="false" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Annotation" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Transformation-modelParameter" |
| name="modelParameter" upperBound="-1" eType="#T-qvtbase-TypedModel" containment="true" |
| eOpposite="#F-qvtbase-TypedModel-transformation"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Transformation-ownedTargets" |
| name="ownedTargets" ordered="false" upperBound="-1" eType="#T-qvtbase-Target" |
| containment="true" eOpposite="#F-qvtbase-Target-owningTransformation"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The set of typed models that need to be checked/enforced before this TypedModel can be checked/enforced."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Transformation-rule" |
| name="rule" ordered="false" upperBound="-1" eType="#T-qvtbase-Rule" containment="true" |
| eOpposite="#F-qvtbase-Rule-transformation"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Transformation-extends" |
| name="extends" eType="#T-qvtbase-Transformation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="extendedBy"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-Transformation-ownedContext" |
| name="ownedContext" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Parameter" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="T-qvtbase-TypedModel" name="TypedModel" |
| eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement"> |
| <eOperations name="validateExclusivePrimitiveThisTrace" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"> |
| <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <details key="originalName" value="ExclusivePrimitiveThisTrace"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"> |
| <details key="body" value="
	if isPrimitive then 1 else 0 endif + if isThis then 1 else 0 endif + if isTrace then 1 else 0 endif <= 1

"/> |
| </eAnnotations> |
| <eParameters name="diagnostics" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/> |
| <eParameters name="context"> |
| <eGenericType eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EMap"> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| <eTypeArguments eClassifier="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/> |
| </eGenericType> |
| </eParameters> |
| </eOperations> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-TypedModel-transformation" |
| name="transformation" lowerBound="1" eType="#T-qvtbase-Transformation" transient="true" |
| eOpposite="#F-qvtbase-Transformation-modelParameter"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-TypedModel-usedPackage" |
| name="usedPackage" ordered="false" upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Package"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-TypedModel-dependsOn" |
| name="dependsOn" ordered="false" upperBound="-1" eType="#T-qvtbase-TypedModel"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="dependent"/> |
| </eAnnotations> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The set of typed models that need to be checked/enforced before this TypedModel can be checked/enforced."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-TypedModel-ownedContext" |
| name="ownedContext" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Parameter" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-TypedModel-isPrimitive" |
| name="isPrimitive" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| defaultValueLiteral="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The TypedModel is for a primitive domain. It may be added automatically."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-TypedModel-isThis" |
| name="isThis" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| defaultValueLiteral="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The TypedModel is for the transformation instance trace. It may be added automatically."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="F-qvtbase-TypedModel-isTrace" |
| name="isTrace" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean" |
| defaultValueLiteral="false"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The TypedModel is for the execution trace. It may be added automatically."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="F-qvtbase-TypedModel-iterates" |
| name="iterates" ordered="false" upperBound="-1" eType="#T-qvtbase-TypedModel"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> |
| <details key="documentation" value="The set of typed models whose elements are also part of this TypedModel. An input TypedModel that iterates an output TypedModel specfies a fixed point iteration."/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" xmi:id="T-qvtbase-TargetElementKind" name="TargetElementKind"> |
| <eLiterals xmi:id="L-qvtbase-TargetElementKind-INPUT" name="INPUT"/> |
| <eLiterals xmi:id="L-qvtbase-TargetElementKind-VIA" name="VIA"/> |
| <eLiterals xmi:id="L-qvtbase-TargetElementKind-OUTPUT" name="OUTPUT"/> |
| </eClassifiers> |
| </ecore:EPackage> |