ocl
uml
AnyType
ownedOperation
VoidType
ownedOperation
InvalidType
ownedOperation
ElementType
TypeType
ownedOperation
MessageType
ownedOperation
ownedAttribute
PrimitiveType
CollectionType
TupleType
BagType
SetType
OrderedSetType
SequenceType
ExpressionInOCL
AssociationClassCallExp
NavigationCallExp
FeatureCallExp
CallExp
OCLExpression
BooleanLiteralExp
PrimitiveLiteralExp
LiteralExp
CollectionItem
CollectionLiteralPart
CollectionLiteralExp
CollectionRange
EnumLiteralExp
IfExp
IntegerLiteralExp
NumericLiteralExp
UnlimitedNaturalLiteralExp
InvalidLiteralExp
IterateExp
LoopExp
IteratorExp
LetExp
MessageExp
NullLiteralExp
OperationCallExp
PropertyCallExp
RealLiteralExp
StateExp
StringLiteralExp
TupleLiteralExp
TupleLiteralPart
TypeExp
UnspecifiedValueExp
Variable
VariableExp
TemplateParameterType
ownedOperation
<?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/OCLUML" nsPrefix="ocl">
  <eSubpackages name="uml" nsURI="http://www.eclipse.org/ocl/1.1.0/UML" nsPrefix="ocl.uml">
    <eClassifiers xsi:type="ecore:EClass" name="AnyType">
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/feature"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/AnyType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VoidType">
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/feature"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/VoidType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InvalidType">
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/feature"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/InvalidType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="ElementType" eSuperTypes="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/ElementType"/>
    <eClassifiers xsi:type="ecore:EClass" name="TypeType">
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/feature"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/TypeType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MessageType">
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/feature"/>
      </eStructuralFeatures>
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedAttribute" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/attribute"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/MessageType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType">
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//PrimitiveType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/PrimitiveType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionType">
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/CollectionType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleType">
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/TupleType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BagType">
      <eGenericSuperTypes eClassifier="#//uml/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/BagType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SetType">
      <eGenericSuperTypes eClassifier="#//uml/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/SetType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OrderedSetType">
      <eGenericSuperTypes eClassifier="#//uml/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/OrderedSetType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="SequenceType">
      <eGenericSuperTypes eClassifier="#//uml/CollectionType"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/SequenceType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </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 platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//OpaqueExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//utilities/ExpressionInOCL">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="AssociationClassCallExp">
      <eGenericSuperTypes eClassifier="#//uml/NavigationCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/AssociationClassCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NavigationCallExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/FeatureCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/NavigationCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="FeatureCallExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/CallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/FeatureCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CallExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/CallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </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="has_type"/>
      </eAnnotations>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/OCLExpression">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/PrimitiveLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/BooleanLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/PrimitiveLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LiteralExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/LiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionItem">
      <eGenericSuperTypes eClassifier="#//uml/CollectionLiteralPart"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/CollectionItem">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true">
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/CollectionLiteralPart">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/CollectionLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="CollectionRange">
      <eGenericSuperTypes eClassifier="#//uml/CollectionLiteralPart"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/CollectionRange">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EnumLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/EnumLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//EnumerationLiteral"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IfExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/IfExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/NumericLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/IntegerLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NumericLiteralExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/PrimitiveLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/NumericLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnlimitedNaturalLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/NumericLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/UnlimitedNaturalLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="InvalidLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/InvalidLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IterateExp">
      <eGenericSuperTypes eClassifier="#//uml/LoopExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/IterateExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LoopExp" abstract="true">
      <eGenericSuperTypes eClassifier="#//uml/CallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/LoopExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="IteratorExp">
      <eGenericSuperTypes eClassifier="#//uml/LoopExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/IteratorExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="LetExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/LetExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="MessageExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/MessageExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//CallOperationAction"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//SendSignalAction"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NullLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/NullLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OperationCallExp">
      <eGenericSuperTypes eClassifier="#//uml/FeatureCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/OperationCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PropertyCallExp">
      <eGenericSuperTypes eClassifier="#//uml/NavigationCallExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/PropertyCallExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="RealLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/NumericLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/RealLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StateExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/StateExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//State"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="StringLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/PrimitiveLiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/StringLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralExp">
      <eGenericSuperTypes eClassifier="#//uml/LiteralExp"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/TupleLiteralExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TupleLiteralPart">
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/TupleLiteralPart">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TypeExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/TypeExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="UnspecifiedValueExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/UnspecifiedValueExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Variable">
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//TypedElement"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/Variable">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VariableExp">
      <eGenericSuperTypes eClassifier="#//uml/OCLExpression"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//expressions/VariableExp">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
      </eGenericSuperTypes>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TemplateParameterType">
      <eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperation" upperBound="-1"
          eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"
          containment="true">
        <eAnnotations source="subsets" references="platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier/feature"/>
      </eStructuralFeatures>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
      <eGenericSuperTypes eClassifier="ecore:EClass platform:/plugin/org.eclipse.ocl/model/OCL.ecore#//types/TemplateParameterType">
        <eTypeArguments eClassifier="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
      </eGenericSuperTypes>
    </eClassifiers>
  </eSubpackages>
</ecore:EPackage>

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