ocl
ecore
AnyType
BagType
CollectionType
ElementType
InvalidType
MessageType
OrderedSetType
PrimitiveType
SequenceType
SetType
TemplateParameterType
TupleType
TypeType
VoidType
CallOperationAction
operation
Constraint
specification
constrainedElements
stereotype
SendSignalAction
signal
ExpressionInOCL
AssociationClassCallExp
BooleanLiteralExp
CallExp
CollectionItem
CollectionLiteralExp
CollectionLiteralPart
CollectionRange
EnumLiteralExp
FeatureCallExp
IfExp
IntegerLiteralExp
UnlimitedNaturalLiteralExp
InvalidLiteralExp
IterateExp
IteratorExp
LetExp
LiteralExp
LoopExp
MessageExp
NavigationCallExp
NullLiteralExp
NumericLiteralExp
OCLExpression
OperationCallExp
PrimitiveLiteralExp
PropertyCallExp
RealLiteralExp
StateExp
StringLiteralExp
TupleLiteralExp
TupleLiteralPart
TypeExp
UnspecifiedValueExp
Variable
VariableExp
OppositePropertyCallExp
referredOppositeProperty
<?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="ocl"
    nsURI="http://www.eclipse.org/ocl/1.1.0/OCLEcore" nsPrefix="ocl">
  <eSubpackages name="ecore" nsURI="http://www.eclipse.org/ocl/1.1.0/Ecore" nsPrefix="ocl.ecore">
    <eClassifiers xsi:type="ecore:EClass" name="AnyType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/AnyType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BagType">
      <eGenericSuperTypes eClassifier="#//ecore/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/BagType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EDataType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/CollectionType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ElementType" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass OCL.ecore#//types/ElementType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InvalidType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/InvalidType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MessageType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/MessageType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OrderedSetType">
      <eGenericSuperTypes eClassifier="#//ecore/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/OrderedSetType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EDataType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/PrimitiveType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SequenceType">
      <eGenericSuperTypes eClassifier="#//ecore/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/SequenceType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SetType">
      <eGenericSuperTypes eClassifier="#//ecore/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/SetType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/TemplateParameterType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EDataType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/TupleType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/TypeType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VoidType">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName WellFormedInstanceTypeName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//types/VoidType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallOperationAction">
      <eStructuralFeatures xsi:type="ecore:EReference" name="operation" lowerBound="1"
          eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ENamedElement">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName"/>
      </eAnnotations>
      <eStructuralFeatures xsi:type="ecore:EReference" name="specification" lowerBound="1"
          containment="true">
        <eGenericType eClassifier="ecore:EClass OCL.ecore#//utilities/ExpressionInOCL">
          <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
          <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
        </eGenericType>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElements"
          upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement"/>
      <eStructuralFeatures xsi:type="ecore:EAttribute" name="stereotype" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SendSignalAction">
      <eStructuralFeatures xsi:type="ecore:EReference" name="signal" lowerBound="1"
          eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ExpressionInOCL">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="ExpressionInOcl"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//utilities/ExpressionInOCL">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AssociationClassCallExp">
      <eGenericSuperTypes eClassifier="#//ecore/NavigationCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/AssociationClassCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/PrimitiveLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/BooleanLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/CallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionItem">
      <eGenericSuperTypes eClassifier="#//ecore/CollectionLiteralPart"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/CollectionItem">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/CollectionLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/CollectionLiteralPart">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionRange">
      <eGenericSuperTypes eClassifier="#//ecore/CollectionLiteralPart"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/CollectionRange">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EnumLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/EnumLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EEnumLiteral"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureCallExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/CallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/FeatureCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IfExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/IfExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/NumericLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/IntegerLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnlimitedNaturalLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/NumericLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/UnlimitedNaturalLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InvalidLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/InvalidLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IterateExp">
      <eGenericSuperTypes eClassifier="#//ecore/LoopExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/IterateExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IteratorExp">
      <eGenericSuperTypes eClassifier="#//ecore/LoopExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/IteratorExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LetExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/LetExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LiteralExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/LiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LoopExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/CallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/LoopExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MessageExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/MessageExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="#//ecore/CallOperationAction"/>
        <eTypeArguments eClassifier="#//ecore/SendSignalAction"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NavigationCallExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/FeatureCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/NavigationCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NullLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/NullLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NumericLiteralExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/PrimitiveLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/NumericLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OCLExpression" abstract="true">
      <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
        <details key="name" value="OclExpression"/>
      </eAnnotations>
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/OCLExpression">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OperationCallExp">
      <eGenericSuperTypes eClassifier="#//ecore/FeatureCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/OperationCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//ecore/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/PrimitiveLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PropertyCallExp">
      <eGenericSuperTypes eClassifier="#//ecore/NavigationCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/PropertyCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RealLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/NumericLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/RealLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StateExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/StateExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StringLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/PrimitiveLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/StringLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralExp">
      <eGenericSuperTypes eClassifier="#//ecore/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/TupleLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralPart">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/TupleLiteralPart">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/TypeExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnspecifiedValueExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/UnspecifiedValueExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Variable">
      <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
        <details key="constraints" value="WellFormedName"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//ETypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/Variable">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VariableExp">
      <eGenericSuperTypes eClassifier="#//ecore/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass OCL.ecore#//expressions/VariableExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EClassifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OppositePropertyCallExp" eSuperTypes="#//ecore/NavigationCallExp">
      <eStructuralFeatures xsi:type="ecore:EReference" name="referredOppositeProperty"
          lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EReference"/>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

{"directed":true,"nodes":[{"nsPrefix":"ocl","nsURI":"http://www.eclipse.org/ocl/1.1.0/OCLEcore","name":"ocl","id":0,"eClass":"EPackage"},{"nsPrefix":"ocl.ecore","nsURI":"http://www.eclipse.org/ocl/1.1.0/Ecore","name":"ecore","id":1,"eClass":"EPackage"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AnyType","instanceClass":null,"abstract":false,"id":2,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BagType","instanceClass":null,"abstract":false,"id":3,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionType","instanceClass":null,"abstract":false,"id":4,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ElementType","instanceClass":null,"abstract":false,"id":5,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidType","instanceClass":null,"abstract":false,"id":6,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageType","instanceClass":null,"abstract":false,"id":7,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OrderedSetType","instanceClass":null,"abstract":false,"id":8,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveType","instanceClass":null,"abstract":false,"id":9,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SequenceType","instanceClass":null,"abstract":false,"id":10,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SetType","instanceClass":null,"abstract":false,"id":11,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TemplateParameterType","instanceClass":null,"abstract":false,"id":12,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleType","instanceClass":null,"abstract":false,"id":13,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeType","instanceClass":null,"abstract":false,"id":14,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VoidType","instanceClass":null,"abstract":false,"id":15,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallOperationAction","instanceClass":null,"abstract":false,"id":16,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Constraint","instanceClass":null,"abstract":false,"id":17,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"SendSignalAction","instanceClass":null,"abstract":false,"id":18,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"ExpressionInOCL","instanceClass":null,"abstract":false,"id":19,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"AssociationClassCallExp","instanceClass":null,"abstract":false,"id":20,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"BooleanLiteralExp","instanceClass":null,"abstract":false,"id":21,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CallExp","instanceClass":null,"abstract":true,"id":22,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionItem","instanceClass":null,"abstract":false,"id":23,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralExp","instanceClass":null,"abstract":false,"id":24,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionLiteralPart","instanceClass":null,"abstract":true,"id":25,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"CollectionRange","instanceClass":null,"abstract":false,"id":26,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"EnumLiteralExp","instanceClass":null,"abstract":false,"id":27,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"FeatureCallExp","instanceClass":null,"abstract":true,"id":28,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IfExp","instanceClass":null,"abstract":false,"id":29,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IntegerLiteralExp","instanceClass":null,"abstract":false,"id":30,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnlimitedNaturalLiteralExp","instanceClass":null,"abstract":false,"id":31,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"InvalidLiteralExp","instanceClass":null,"abstract":false,"id":32,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IterateExp","instanceClass":null,"abstract":false,"id":33,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"IteratorExp","instanceClass":null,"abstract":false,"id":34,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LetExp","instanceClass":null,"abstract":false,"id":35,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LiteralExp","instanceClass":null,"abstract":true,"id":36,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"LoopExp","instanceClass":null,"abstract":true,"id":37,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"MessageExp","instanceClass":null,"abstract":false,"id":38,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NavigationCallExp","instanceClass":null,"abstract":true,"id":39,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NullLiteralExp","instanceClass":null,"abstract":false,"id":40,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"NumericLiteralExp","instanceClass":null,"abstract":true,"id":41,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OCLExpression","instanceClass":null,"abstract":true,"id":42,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OperationCallExp","instanceClass":null,"abstract":false,"id":43,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PrimitiveLiteralExp","instanceClass":null,"abstract":true,"id":44,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"PropertyCallExp","instanceClass":null,"abstract":false,"id":45,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"RealLiteralExp","instanceClass":null,"abstract":false,"id":46,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StateExp","instanceClass":null,"abstract":false,"id":47,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"StringLiteralExp","instanceClass":null,"abstract":false,"id":48,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralExp","instanceClass":null,"abstract":false,"id":49,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TupleLiteralPart","instanceClass":null,"abstract":false,"id":50,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"TypeExp","instanceClass":null,"abstract":false,"id":51,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"UnspecifiedValueExp","instanceClass":null,"abstract":false,"id":52,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"Variable","instanceClass":null,"abstract":false,"id":53,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"VariableExp","instanceClass":null,"abstract":false,"id":54,"interface":false,"eClass":"EClass"},{"instanceTypeName":null,"defaultValue":null,"instanceClassName":null,"name":"OppositePropertyCallExp","instanceClass":null,"abstract":false,"id":55,"interface":false,"eClass":"EClass"},{"id":56,"eClass":"EGenericType"},{"id":57,"eClass":"EGenericType"},{"id":58,"eClass":"EGenericType"},{"id":59,"eClass":"EGenericType"},{"id":60,"eClass":"EGenericType"},{"id":61,"eClass":"EGenericType"},{"id":62,"eClass":"EGenericType"},{"id":63,"eClass":"EGenericType"},{"id":64,"eClass":"EGenericType"},{"id":65,"eClass":"EGenericType"},{"id":66,"eClass":"EGenericType"},{"id":67,"eClass":"EGenericType"},{"id":68,"eClass":"EGenericType"},{"id":69,"eClass":"EGenericType"},{"id":70,"eClass":"EGenericType"},{"id":71,"eClass":"EGenericType"},{"id":72,"eClass":"EGenericType"},{"id":73,"eClass":"EGenericType"},{"id":74,"eClass":"EGenericType"},{"id":75,"eClass":"EGenericType"},{"id":76,"eClass":"EGenericType"},{"id":77,"eClass":"EGenericType"},{"id":78,"eClass":"EGenericType"},{"id":79,"eClass":"EGenericType"},{"id":80,"eClass":"EGenericType"},{"id":81,"eClass":"EGenericType"},{"id":82,"eClass":"EGenericType"},{"id":83,"eClass":"EGenericType"},{"id":84,"eClass":"EGenericType"},{"id":85,"eClass":"EGenericType"},{"id":86,"eClass":"EGenericType"},{"id":87,"eClass":"EGenericType"},{"id":88,"eClass":"EGenericType"},{"id":89,"eClass":"EGenericType"},{"id":90,"eClass":"EGenericType"},{"id":91,"eClass":"EGenericType"},{"id":92,"eClass":"EGenericType"},{"id":93,"eClass":"EGenericType"},{"id":94,"eClass":"EGenericType"},{"id":95,"eClass":"EGenericType"},{"id":96,"eClass":"EGenericType"},{"id":97,"eClass":"EGenericType"},{"id":98,"eClass":"EGenericType"},{"id":99,"eClass":"EGenericType"},{"id":100,"eClass":"EGenericType"},{"id":101,"eClass":"EGenericType"},{"id":102,"eClass":"EGenericType"},{"id":103,"eClass":"EGenericType"},{"id":104,"eClass":"EGenericType"},{"id":105,"eClass":"EGenericType"},{"id":106,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"operation","changeable":true,"resolveProxies":true,"lowerBound":1,"id":107,"derived":false},{"id":108,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":true,"unsettable":false,"transient":false,"unique":true,"name":"specification","changeable":true,"resolveProxies":true,"lowerBound":1,"id":109,"derived":false},{"container":false,"ordered":true,"upperBound":-1,"defaultValue":null,"volatile":false,"many":true,"required":false,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"constrainedElements","changeable":true,"resolveProxies":true,"lowerBound":0,"id":110,"derived":false},{"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":false,"eClass":"EAttribute","defaultValueLiteral":null,"unsettable":false,"transient":false,"unique":true,"name":"stereotype","changeable":true,"lowerBound":0,"iD":false,"id":111,"derived":false},{"id":112,"eClass":"EGenericType"},{"id":113,"eClass":"EGenericType"},{"id":114,"eClass":"EGenericType"},{"id":115,"eClass":"EGenericType"},{"id":116,"eClass":"EGenericType"},{"id":117,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"signal","changeable":true,"resolveProxies":true,"lowerBound":1,"id":118,"derived":false},{"id":119,"eClass":"EGenericType"},{"id":120,"eClass":"EGenericType"},{"id":121,"eClass":"EGenericType"},{"id":122,"eClass":"EGenericType"},{"id":123,"eClass":"EGenericType"},{"id":124,"eClass":"EGenericType"},{"id":125,"eClass":"EGenericType"},{"id":126,"eClass":"EGenericType"},{"id":127,"eClass":"EGenericType"},{"id":128,"eClass":"EGenericType"},{"id":129,"eClass":"EGenericType"},{"id":130,"eClass":"EGenericType"},{"id":131,"eClass":"EGenericType"},{"id":132,"eClass":"EGenericType"},{"id":133,"eClass":"EGenericType"},{"id":134,"eClass":"EGenericType"},{"id":135,"eClass":"EGenericType"},{"id":136,"eClass":"EGenericType"},{"id":137,"eClass":"EGenericType"},{"id":138,"eClass":"EGenericType"},{"id":139,"eClass":"EGenericType"},{"id":140,"eClass":"EGenericType"},{"id":141,"eClass":"EGenericType"},{"id":142,"eClass":"EGenericType"},{"id":143,"eClass":"EGenericType"},{"id":144,"eClass":"EGenericType"},{"id":145,"eClass":"EGenericType"},{"id":146,"eClass":"EGenericType"},{"id":147,"eClass":"EGenericType"},{"id":148,"eClass":"EGenericType"},{"id":149,"eClass":"EGenericType"},{"id":150,"eClass":"EGenericType"},{"id":151,"eClass":"EGenericType"},{"id":152,"eClass":"EGenericType"},{"id":153,"eClass":"EGenericType"},{"id":154,"eClass":"EGenericType"},{"id":155,"eClass":"EGenericType"},{"id":156,"eClass":"EGenericType"},{"id":157,"eClass":"EGenericType"},{"id":158,"eClass":"EGenericType"},{"id":159,"eClass":"EGenericType"},{"id":160,"eClass":"EGenericType"},{"id":161,"eClass":"EGenericType"},{"id":162,"eClass":"EGenericType"},{"id":163,"eClass":"EGenericType"},{"id":164,"eClass":"EGenericType"},{"id":165,"eClass":"EGenericType"},{"id":166,"eClass":"EGenericType"},{"id":167,"eClass":"EGenericType"},{"id":168,"eClass":"EGenericType"},{"id":169,"eClass":"EGenericType"},{"id":170,"eClass":"EGenericType"},{"id":171,"eClass":"EGenericType"},{"id":172,"eClass":"EGenericType"},{"id":173,"eClass":"EGenericType"},{"id":174,"eClass":"EGenericType"},{"id":175,"eClass":"EGenericType"},{"id":176,"eClass":"EGenericType"},{"id":177,"eClass":"EGenericType"},{"id":178,"eClass":"EGenericType"},{"id":179,"eClass":"EGenericType"},{"id":180,"eClass":"EGenericType"},{"id":181,"eClass":"EGenericType"},{"id":182,"eClass":"EGenericType"},{"id":183,"eClass":"EGenericType"},{"id":184,"eClass":"EGenericType"},{"id":185,"eClass":"EGenericType"},{"id":186,"eClass":"EGenericType"},{"id":187,"eClass":"EGenericType"},{"id":188,"eClass":"EGenericType"},{"id":189,"eClass":"EGenericType"},{"id":190,"eClass":"EGenericType"},{"id":191,"eClass":"EGenericType"},{"id":192,"eClass":"EGenericType"},{"id":193,"eClass":"EGenericType"},{"id":194,"eClass":"EGenericType"},{"id":195,"eClass":"EGenericType"},{"id":196,"eClass":"EGenericType"},{"id":197,"eClass":"EGenericType"},{"id":198,"eClass":"EGenericType"},{"id":199,"eClass":"EGenericType"},{"id":200,"eClass":"EGenericType"},{"id":201,"eClass":"EGenericType"},{"id":202,"eClass":"EGenericType"},{"id":203,"eClass":"EGenericType"},{"id":204,"eClass":"EGenericType"},{"id":205,"eClass":"EGenericType"},{"id":206,"eClass":"EGenericType"},{"id":207,"eClass":"EGenericType"},{"id":208,"eClass":"EGenericType"},{"id":209,"eClass":"EGenericType"},{"id":210,"eClass":"EGenericType"},{"id":211,"eClass":"EGenericType"},{"id":212,"eClass":"EGenericType"},{"id":213,"eClass":"EGenericType"},{"id":214,"eClass":"EGenericType"},{"id":215,"eClass":"EGenericType"},{"id":216,"eClass":"EGenericType"},{"id":217,"eClass":"EGenericType"},{"id":218,"eClass":"EGenericType"},{"id":219,"eClass":"EGenericType"},{"id":220,"eClass":"EGenericType"},{"id":221,"eClass":"EGenericType"},{"id":222,"eClass":"EGenericType"},{"id":223,"eClass":"EGenericType"},{"id":224,"eClass":"EGenericType"},{"id":225,"eClass":"EGenericType"},{"id":226,"eClass":"EGenericType"},{"id":227,"eClass":"EGenericType"},{"id":228,"eClass":"EGenericType"},{"id":229,"eClass":"EGenericType"},{"id":230,"eClass":"EGenericType"},{"id":231,"eClass":"EGenericType"},{"id":232,"eClass":"EGenericType"},{"id":233,"eClass":"EGenericType"},{"id":234,"eClass":"EGenericType"},{"id":235,"eClass":"EGenericType"},{"id":236,"eClass":"EGenericType"},{"id":237,"eClass":"EGenericType"},{"id":238,"eClass":"EGenericType"},{"id":239,"eClass":"EGenericType"},{"id":240,"eClass":"EGenericType"},{"id":241,"eClass":"EGenericType"},{"id":242,"eClass":"EGenericType"},{"id":243,"eClass":"EGenericType"},{"container":false,"ordered":true,"upperBound":1,"defaultValue":null,"volatile":false,"many":false,"required":true,"eClass":"EReference","defaultValueLiteral":null,"containment":false,"unsettable":false,"transient":false,"unique":true,"name":"referredOppositeProperty","changeable":true,"resolveProxies":true,"lowerBound":1,"id":244,"derived":false},{"id":245,"eClass":"EGenericType"},{"id":246,"eClass":"EGenericType"}],"links":[{"source":0,"target":1},{"source":1,"target":2},{"source":1,"target":3},{"source":1,"target":4},{"source":1,"target":5},{"source":1,"target":6},{"source":1,"target":7},{"source":1,"target":8},{"source":1,"target":9},{"source":1,"target":10},{"source":1,"target":11},{"source":1,"target":12},{"source":1,"target":13},{"source":1,"target":14},{"source":1,"target":15},{"source":1,"target":16},{"source":1,"target":17},{"source":1,"target":18},{"source":1,"target":19},{"source":1,"target":20},{"source":1,"target":21},{"source":1,"target":22},{"source":1,"target":23},{"source":1,"target":24},{"source":1,"target":25},{"source":1,"target":26},{"source":1,"target":27},{"source":1,"target":28},{"source":1,"target":29},{"source":1,"target":30},{"source":1,"target":31},{"source":1,"target":32},{"source":1,"target":33},{"source":1,"target":34},{"source":1,"target":35},{"source":1,"target":36},{"source":1,"target":37},{"source":1,"target":38},{"source":1,"target":39},{"source":1,"target":40},{"source":1,"target":41},{"source":1,"target":42},{"source":1,"target":43},{"source":1,"target":44},{"source":1,"target":45},{"source":1,"target":46},{"source":1,"target":47},{"source":1,"target":48},{"source":1,"target":49},{"source":1,"target":50},{"source":1,"target":51},{"source":1,"target":52},{"source":1,"target":53},{"source":1,"target":54},{"source":1,"target":55},{"source":1,"target":0},{"source":2,"target":1},{"source":2,"target":56},{"source":2,"target":57},{"source":57,"target":58},{"source":3,"target":1},{"source":3,"target":4},{"source":3,"target":59},{"source":3,"target":60},{"source":59,"target":4},{"source":60,"target":61},{"source":60,"target":62},{"source":4,"target":1},{"source":4,"target":63},{"source":4,"target":64},{"source":64,"target":65},{"source":64,"target":66},{"source":5,"target":1},{"source":5,"target":67},{"source":5,"target":68},{"source":6,"target":1},{"source":6,"target":69},{"source":6,"target":70},{"source":70,"target":71},{"source":7,"target":1},{"source":7,"target":72},{"source":7,"target":73},{"source":73,"target":74},{"source":73,"target":75},{"source":73,"target":76},{"source":8,"target":1},{"source":8,"target":4},{"source":8,"target":77},{"source":8,"target":78},{"source":77,"target":4},{"source":78,"target":79},{"source":78,"target":80},{"source":9,"target":1},{"source":9,"target":81},{"source":9,"target":82},{"source":82,"target":83},{"source":10,"target":1},{"source":10,"target":4},{"source":10,"target":84},{"source":10,"target":85},{"source":84,"target":4},{"source":85,"target":86},{"source":85,"target":87},{"source":11,"target":1},{"source":11,"target":4},{"source":11,"target":88},{"source":11,"target":89},{"source":88,"target":4},{"source":89,"target":90},{"source":89,"target":91},{"source":12,"target":1},{"source":12,"target":92},{"source":12,"target":93},{"source":93,"target":94},{"source":13,"target":1},{"source":13,"target":95},{"source":13,"target":96},{"source":13,"target":97},{"source":97,"target":98},{"source":97,"target":99},{"source":14,"target":1},{"source":14,"target":100},{"source":14,"target":101},{"source":101,"target":102},{"source":101,"target":103},{"source":15,"target":1},{"source":15,"target":104},{"source":15,"target":105},{"source":105,"target":106},{"source":16,"target":1},{"source":16,"target":107},{"source":107,"target":108},{"source":107,"target":16},{"source":17,"target":1},{"source":17,"target":109},{"source":17,"target":110},{"source":17,"target":111},{"source":17,"target":112},{"source":109,"target":113},{"source":109,"target":17},{"source":113,"target":114},{"source":113,"target":115},{"source":110,"target":116},{"source":110,"target":17},{"source":111,"target":117},{"source":111,"target":17},{"source":18,"target":1},{"source":18,"target":118},{"source":118,"target":119},{"source":118,"target":18},{"source":19,"target":1},{"source":19,"target":120},{"source":120,"target":121},{"source":120,"target":122},{"source":20,"target":1},{"source":20,"target":39},{"source":20,"target":123},{"source":20,"target":124},{"source":123,"target":39},{"source":124,"target":125},{"source":124,"target":126},{"source":21,"target":1},{"source":21,"target":44},{"source":21,"target":127},{"source":21,"target":128},{"source":127,"target":44},{"source":128,"target":129},{"source":22,"target":1},{"source":22,"target":42},{"source":22,"target":130},{"source":22,"target":131},{"source":130,"target":42},{"source":131,"target":132},{"source":23,"target":1},{"source":23,"target":25},{"source":23,"target":133},{"source":23,"target":134},{"source":133,"target":25},{"source":134,"target":135},{"source":24,"target":1},{"source":24,"target":36},{"source":24,"target":136},{"source":24,"target":137},{"source":136,"target":36},{"source":137,"target":138},{"source":25,"target":1},{"source":25,"target":139},{"source":25,"target":140},{"source":140,"target":141},{"source":26,"target":1},{"source":26,"target":25},{"source":26,"target":142},{"source":26,"target":143},{"source":142,"target":25},{"source":143,"target":144},{"source":27,"target":1},{"source":27,"target":36},{"source":27,"target":145},{"source":27,"target":146},{"source":145,"target":36},{"source":146,"target":147},{"source":146,"target":148},{"source":28,"target":1},{"source":28,"target":22},{"source":28,"target":149},{"source":28,"target":150},{"source":149,"target":22},{"source":150,"target":151},{"source":29,"target":1},{"source":29,"target":42},{"source":29,"target":152},{"source":29,"target":153},{"source":152,"target":42},{"source":153,"target":154},{"source":30,"target":1},{"source":30,"target":41},{"source":30,"target":155},{"source":30,"target":156},{"source":155,"target":41},{"source":156,"target":157},{"source":31,"target":1},{"source":31,"target":41},{"source":31,"target":158},{"source":31,"target":159},{"source":158,"target":41},{"source":159,"target":160},{"source":32,"target":1},{"source":32,"target":36},{"source":32,"target":161},{"source":32,"target":162},{"source":161,"target":36},{"source":162,"target":163},{"source":33,"target":1},{"source":33,"target":37},{"source":33,"target":164},{"source":33,"target":165},{"source":164,"target":37},{"source":165,"target":166},{"source":165,"target":167},{"source":34,"target":1},{"source":34,"target":37},{"source":34,"target":168},{"source":34,"target":169},{"source":168,"target":37},{"source":169,"target":170},{"source":169,"target":171},{"source":35,"target":1},{"source":35,"target":42},{"source":35,"target":172},{"source":35,"target":173},{"source":172,"target":42},{"source":173,"target":174},{"source":173,"target":175},{"source":36,"target":1},{"source":36,"target":42},{"source":36,"target":176},{"source":36,"target":177},{"source":176,"target":42},{"source":177,"target":178},{"source":37,"target":1},{"source":37,"target":22},{"source":37,"target":179},{"source":37,"target":180},{"source":179,"target":22},{"source":180,"target":181},{"source":180,"target":182},{"source":38,"target":1},{"source":38,"target":42},{"source":38,"target":183},{"source":38,"target":184},{"source":183,"target":42},{"source":184,"target":185},{"source":184,"target":186},{"source":184,"target":187},{"source":186,"target":16},{"source":187,"target":18},{"source":39,"target":1},{"source":39,"target":28},{"source":39,"target":188},{"source":39,"target":189},{"source":188,"target":28},{"source":189,"target":190},{"source":189,"target":191},{"source":40,"target":1},{"source":40,"target":36},{"source":40,"target":192},{"source":40,"target":193},{"source":192,"target":36},{"source":193,"target":194},{"source":41,"target":1},{"source":41,"target":44},{"source":41,"target":195},{"source":41,"target":196},{"source":195,"target":44},{"source":196,"target":197},{"source":42,"target":1},{"source":42,"target":198},{"source":42,"target":199},{"source":199,"target":200},{"source":43,"target":1},{"source":43,"target":28},{"source":43,"target":201},{"source":43,"target":202},{"source":201,"target":28},{"source":202,"target":203},{"source":202,"target":204},{"source":44,"target":1},{"source":44,"target":36},{"source":44,"target":205},{"source":44,"target":206},{"source":205,"target":36},{"source":206,"target":207},{"source":45,"target":1},{"source":45,"target":39},{"source":45,"target":208},{"source":45,"target":209},{"source":208,"target":39},{"source":209,"target":210},{"source":209,"target":211},{"source":46,"target":1},{"source":46,"target":41},{"source":46,"target":212},{"source":46,"target":213},{"source":212,"target":41},{"source":213,"target":214},{"source":47,"target":1},{"source":47,"target":42},{"source":47,"target":215},{"source":47,"target":216},{"source":215,"target":42},{"source":216,"target":217},{"source":216,"target":218},{"source":48,"target":1},{"source":48,"target":44},{"source":48,"target":219},{"source":48,"target":220},{"source":219,"target":44},{"source":220,"target":221},{"source":49,"target":1},{"source":49,"target":36},{"source":49,"target":222},{"source":49,"target":223},{"source":222,"target":36},{"source":223,"target":224},{"source":223,"target":225},{"source":50,"target":1},{"source":50,"target":226},{"source":50,"target":227},{"source":227,"target":228},{"source":227,"target":229},{"source":51,"target":1},{"source":51,"target":42},{"source":51,"target":230},{"source":51,"target":231},{"source":230,"target":42},{"source":231,"target":232},{"source":52,"target":1},{"source":52,"target":42},{"source":52,"target":233},{"source":52,"target":234},{"source":233,"target":42},{"source":234,"target":235},{"source":53,"target":1},{"source":53,"target":236},{"source":53,"target":237},{"source":237,"target":238},{"source":237,"target":239},{"source":54,"target":1},{"source":54,"target":42},{"source":54,"target":240},{"source":54,"target":241},{"source":240,"target":42},{"source":241,"target":242},{"source":241,"target":243},{"source":55,"target":1},{"source":55,"target":39},{"source":55,"target":244},{"source":55,"target":245},{"source":244,"target":246},{"source":244,"target":55},{"source":245,"target":39}],"multigraph":true}