blob: cedf6a3d9a08ddee91f4a6852e681b2fdbd1f879 [file] [log] [blame]
<?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="QVTBase"
nsURI="http://www.eclipse.org/qvt/1.0/QVTBase" nsPrefix="eqvtb">
<eClassifiers xsi:type="ecore:EClass" name="Domain" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="TypedModelExistsWarning&#xD;&#xA;TypedModelDefinedByTransformation&#xD;&#xA;CheckableOrEnforceable&#xD;&#xA;&#xD;&#xA;"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isCheckable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
unsettable="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isEnforceable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
unsettable="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rule" lowerBound="1" eType="#//Rule"
transient="true" eOpposite="#//Rule/domain"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="typedModel" eType="#//TypedModel"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="IsSideEffectFree&#xD;&#xA;EveryFunctionParameterIsAFunctionParameter"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="queryExpression" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionParameter" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"/>
<eClassifiers xsi:type="ecore:EClass" name="Pattern" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="NoVariableIsAFunctionParameter"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="predicate" ordered="false"
upperBound="-1" eType="#//Predicate" containment="true" eOpposite="#//Predicate/pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindsTo" ordered="false"
upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="ConditionExpressionIsBoolean&#xD;&#xA;ExternalVariablesAreBoundByPattern"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="conditionExpression" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="pattern" lowerBound="1"
eType="#//Pattern" transient="true" eOpposite="#//Pattern/predicate"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Rule" abstract="true" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="OverridesIsCompatible&#xD;&#xA;OverridesDefinedByTransformation&#xD;&#xA;DomainNamesAreUnique&#xD;&#xA;DomainTypedModelsMatchModelParameters"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="domain" upperBound="-1"
eType="#//Domain" containment="true" eOpposite="#//Domain/rule"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="overrides" eType="#//Rule">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="overriden"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="transformation" eType="#//Transformation"
transient="true" resolveProxies="false" eOpposite="#//Transformation/rule"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transformation" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="WellFormedNsURI&#xD;&#xA;WellFormedNsPrefix&#xD;&#xA;UniqueNsURIs&#xD;&#xA;ExtendsIsAcyclic&#xD;&#xA;ModelParameterNamesAreCompatibleWithExtension&#xD;&#xA;EveryModelParameterUsedPackagesIsCompatibleWithExtension&#xD;&#xA;ModelParameterNamesAreUnique&#xD;&#xA;RuleNamesAreUnique&#xD;&#xA;SynthesizedTypesAreOwned&#xD;&#xA;"/>
</eAnnotations>
<eOperations name="getFunction" lowerBound="1" eType="#//Function">
<eParameters name="name" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eOperations>
<eOperations name="getModelParameter" lowerBound="1" eType="#//TypedModel">
<eParameters name="name" lowerBound="1" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTag" ordered="false"
upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelParameter" upperBound="-1"
eType="#//TypedModel" containment="true" eOpposite="#//TypedModel/transformation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rule" ordered="false" upperBound="-1"
eType="#//Rule" containment="true" eOpposite="#//Rule/transformation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" eType="#//Transformation">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="extendedBy"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedModel" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="constraints" value="DependsOnIsAcyclic&#xD;&#xA;DependsOnAreModelParameters"/>
</eAnnotations>
<eStructuralFeatures xsi:type="ecore:EReference" name="transformation" lowerBound="1"
eType="#//Transformation" transient="true" eOpposite="#//Transformation/modelParameter"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="usedPackage" ordered="false"
lowerBound="1" upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" ordered="false"
upperBound="-1" eType="#//TypedModel">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="dependent"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
</ecore:EPackage>