blob: ed9d91776b3adad733b36f0926236fda320ca3df [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<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="QVTCore" name="QVTCore" nsURI="http://schema.omg.org/spec/QVT/1.1/qvtcore.xml" nsPrefix="qvtcore">
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.Area" name="Area" abstract="true">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Area.bottomPattern" name="bottomPattern" lowerBound="1" eType="QVTCore.BottomPattern" containment="true" resolveProxies="false" eOpposite="QVTCore.BottomPattern.area"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Area.guardPattern" name="guardPattern" lowerBound="1" eType="QVTCore.GuardPattern" containment="true" resolveProxies="false" eOpposite="QVTCore.GuardPattern.area"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.Assignment" name="Assignment" abstract="true">
<eSuperTypes href="EMOF.ecore#EMOF.Element"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Assignment.bottomPattern" name="bottomPattern" lowerBound="1" eType="QVTCore.BottomPattern" transient="true" resolveProxies="false" eOpposite="QVTCore.BottomPattern.assignment"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTCore.Assignment.isDefault" name="isDefault">
<eType xsi:type="ecore:EDataType" href="EMOF.ecore#PrimitiveTypes.Boolean"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Assignment.value" name="value" lowerBound="1" containment="true" resolveProxies="false">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="valueAssignment"/>
</eAnnotations>
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.OclExpression"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.BottomPattern" name="BottomPattern" eSuperTypes="QVTCore.CorePattern">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.BottomPattern.area" name="area" lowerBound="1" eType="QVTCore.Area" transient="true" resolveProxies="false" eOpposite="QVTCore.Area.bottomPattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.BottomPattern.assignment" name="assignment" ordered="false" upperBound="-1" eType="QVTCore.Assignment" containment="true" resolveProxies="false" eOpposite="QVTCore.Assignment.bottomPattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.BottomPattern.enforcementOperation" name="enforcementOperation" ordered="false" upperBound="-1" eType="QVTCore.EnforcementOperation" containment="true" resolveProxies="false" eOpposite="QVTCore.EnforcementOperation.bottomPattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.BottomPattern.realizedVariable" name="realizedVariable" ordered="false" upperBound="-1" eType="QVTCore.RealizedVariable" containment="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.CoreDomain" name="CoreDomain">
<eSuperTypes href="QVTBase.ecore#QVTBase.Domain"/>
<eSuperTypes href="#QVTCore.Area"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.CorePattern" name="CorePattern">
<eSuperTypes href="QVTBase.ecore#QVTBase.Pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.CorePattern.variable" name="variable" ordered="false" upperBound="-1" containment="true" resolveProxies="false">
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.Variable"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" xmi:id="QVTCore.EnforcementMode" name="EnforcementMode">
<eLiterals xmi:id="QVTCore.EnforcementMode.Creation" name="Creation"/>
<eLiterals xmi:id="QVTCore.EnforcementMode.Deletion" name="Deletion" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.EnforcementOperation" name="EnforcementOperation">
<eSuperTypes href="EMOF.ecore#EMOF.Element"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.EnforcementOperation.bottomPattern" name="bottomPattern" eType="QVTCore.BottomPattern" transient="true" resolveProxies="false" eOpposite="QVTCore.BottomPattern.enforcementOperation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTCore.EnforcementOperation.enforcementMode" name="enforcementMode" eType="QVTCore.EnforcementMode"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.EnforcementOperation.operationCallExp" name="operationCallExp" lowerBound="1" containment="true" resolveProxies="false">
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.OperationCallExp"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.GuardPattern" name="GuardPattern" eSuperTypes="QVTCore.CorePattern">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.GuardPattern.area" name="area" lowerBound="1" eType="QVTCore.Area" transient="true" resolveProxies="false" eOpposite="QVTCore.Area.guardPattern"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.Mapping" name="Mapping">
<eSuperTypes href="QVTBase.ecore#QVTBase.Rule"/>
<eSuperTypes href="#QVTCore.Area"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Mapping.context" name="context" eType="QVTCore.Mapping" transient="true" resolveProxies="false" eOpposite="QVTCore.Mapping.local"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Mapping.local" name="local" ordered="false" upperBound="-1" eType="QVTCore.Mapping" containment="true" resolveProxies="false" eOpposite="QVTCore.Mapping.context"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Mapping.refinement" name="refinement" ordered="false" upperBound="-1" eType="QVTCore.Mapping" eOpposite="QVTCore.Mapping.specification"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.Mapping.specification" name="specification" ordered="false" upperBound="-1" eType="QVTCore.Mapping" eOpposite="QVTCore.Mapping.refinement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.PropertyAssignment" name="PropertyAssignment" eSuperTypes="QVTCore.Assignment">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.PropertyAssignment.slotExpression" name="slotExpression" lowerBound="1" containment="true" resolveProxies="false">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="slotAssignment"/>
</eAnnotations>
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.OclExpression"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.PropertyAssignment.targetProperty" name="targetProperty" lowerBound="1">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="assignment"/>
</eAnnotations>
<eType xsi:type="ecore:EClass" href="EMOF.ecore#EMOF.Property"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.RealizedVariable" name="RealizedVariable">
<eSuperTypes href="EssentialOCL.ecore#EssentialOCL.Variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTCore.VariableAssignment" name="VariableAssignment" eSuperTypes="QVTCore.Assignment">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTCore.VariableAssignment.targetVariable" name="targetVariable" lowerBound="1">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="assignment"/>
</eAnnotations>
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.Variable"/>
</eStructuralFeatures>
</eClassifiers>
</ecore:EPackage>