<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
  <uml:Package xmi:id="OCL" name="OCL">
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Associations" name="OCL_Associations">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Associations-Class" name="Class"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Associations-AssociationClass" name="AssociationClass">
        <generalization xmi:id="_XpnTEH7VEeOu79LxSz8Ylw" general="OCL-OCL_Associations-Class"/>
        <ownedAttribute xmi:id="OCL-OCL_Associations-AssociationClass-unownedAttribute" name="unownedAttributes" type="OCL-OCL_Associations-Property" association="OCL-OCL_Associations-A_associationClass_unownedAttribute">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiAH7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiAX7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Associations-Property" name="Property">
        <ownedAttribute xmi:id="OCL-OCL_Associations-Property-associationClass" name="associationClass" type="OCL-OCL_Associations-AssociationClass" association="OCL-OCL_Associations-A_associationClass_unownedAttribute">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiAn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Associations-Property-implicit" name="isImplicit" type="OCL-OCL_Associations-Boolean">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiA37VEeOu79LxSz8Ylw"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpdiBH7VEeOu79LxSz8Ylw" value="false"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="OCL-OCL_Associations-A_associationClass_unownedAttribute" name="A_associationClass_unownedAttribute" memberEnd="OCL-OCL_Associations-AssociationClass-unownedAttribute OCL-OCL_Associations-Property-associationClass"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="OCL-OCL_Associations-Boolean" name="Boolean"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Classes" name="OCL_Classes">
      <packagedElement xmi:type="uml:Class" xmi:id="_0IHFYIkdEeSBZI5ewYKP9Q" name="Behavior" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Classes-Class" name="Class">
        <ownedAttribute xmi:id="_2yGVQBvWEeSIos3S87O_rg" name="owningPackage" type="_mZu_sBvWEeSIos3S87O_rg" association="__J2DUBvWEeSIos3S87O_rg">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_4GWycBvWEeSIos3S87O_rg"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_hk6zkBvbEeSIos3S87O_rg" name="superClasses" type="OCL-OCL_Classes-Class">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hk6zkRvbEeSIos3S87O_rg"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hk6zkhvbEeSIos3S87O_rg" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Classes-DataType" name="DataType">
        <generalization xmi:id="_XpnTEX7VEeOu79LxSz8Ylw" general="OCL-OCL_Classes-Class"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_Nsf90Bu-EeSIos3S87O_rg" name="Feature" isAbstract="true">
        <generalization xmi:id="_SP0YABu-EeSIos3S87O_rg" general="_Qur8cBu-EeSIos3S87O_rg"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Classes-Operation" name="Operation"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_mZu_sBvWEeSIos3S87O_rg" name="Package">
        <ownedAttribute xmi:id="_qvzBABvWEeSIos3S87O_rg" name="ownedClasses" type="OCL-OCL_Classes-Class" aggregation="composite" association="__J2DUBvWEeSIos3S87O_rg">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xbakcBvWEeSIos3S87O_rg"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_wrIXABvWEeSIos3S87O_rg" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_w3ak4BvpEeSIos3S87O_rg" name="Parameter"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Classes-Property" name="Property">
        <ownedAttribute xmi:id="OCL-OCL_Classes-Property-owningType" name="owningClass" type="OCL-OCL_Classes-Class" isDerived="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiBn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_4bQI0BswEeSM9LreJtBwBg" name="isComposite" type="OCL-OCL_PrimitiveTypes-Boolean">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_DkEQUBsxEeSM9LreJtBwBg" value="false"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_j4eg8BszEeSM9LreJtBwBg" name="defaultValueString" type="OCL-OCL_PrimitiveTypes-String">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_qZBc0BszEeSM9LreJtBwBg"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_g5FiMBs0EeSM9LreJtBwBg" name="opposite" type="OCL-OCL_Classes-Property">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_mcgHcBs0EeSM9LreJtBwBg"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Classes-Type" name="Type" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_Qur8cBu-EeSIos3S87O_rg" name="TypedElement" isAbstract="true"/>
      <packagedElement xmi:type="uml:Association" xmi:id="__J2DUBvWEeSIos3S87O_rg" memberEnd="_2yGVQBvWEeSIos3S87O_rg _qvzBABvWEeSIos3S87O_rg"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_9wkooBvpEeSIos3S87O_rg" name="A_operation_ownedParameter"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Collections" name="OCL_Collections">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-BagType" name="BagType">
        <generalization xmi:id="_XpnTNn7VEeOu79LxSz8Ylw" general="OCL-OCL_Types-CollectionType"/>
      </packagedElement>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_PHnfsBu4EeSIos3S87O_rg" name="Boolean"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-CollectionItem" name="CollectionItem">
        <generalization xmi:id="_XpnTJH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-CollectionLiteralPart"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CollectionItem-item" name="ownedItem" type="_aPMtkBu3EeSIos3S87O_rg" aggregation="composite"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Enumeration" xmi:id="OCL-OCL_Expressions-CollectionKind" name="CollectionKind">
        <ownedLiteral xmi:id="_IPg0GYgHEd-aGOJuUCcZBA" name="Collection"/>
        <ownedLiteral xmi:id="_IPg0GogHEd-aGOJuUCcZBA" name="Set"/>
        <ownedLiteral xmi:id="_IPg0G4gHEd-aGOJuUCcZBA" name="OrderedSet"/>
        <ownedLiteral xmi:id="_IPg0HIgHEd-aGOJuUCcZBA" name="Bag"/>
        <ownedLiteral xmi:id="_IPg0HYgHEd-aGOJuUCcZBA" name="Sequence"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-CollectionLiteralExp" name="CollectionLiteralExp">
        <generalization xmi:id="_XpnTI37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CollectionLiteralExp-kind" name="kind" type="OCL-OCL_Expressions-CollectionKind"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CollectionLiteralExp-part" name="ownedParts" type="OCL-OCL_Expressions-CollectionLiteralPart" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiJn7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiJ37VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-CollectionLiteralPart" name="CollectionLiteralPart" isAbstract="true">
        <generalization xmi:id="_XpdiKH7VEeOu79LxSz8Ylw" general="_i-qYEBu3EeSIos3S87O_rg"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-CollectionRange" name="CollectionRange">
        <generalization xmi:id="_XpnTJX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-CollectionLiteralPart"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CollectionRange-first" name="ownedFirst" type="_aPMtkBu3EeSIos3S87O_rg" aggregation="composite"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CollectionRange-last" name="ownedLast" type="_aPMtkBu3EeSIos3S87O_rg" aggregation="composite"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-CollectionType" name="CollectionType">
        <generalization xmi:id="_XpdiSH7VEeOu79LxSz8Ylw" general="_vJ60ABu3EeSIos3S87O_rg"/>
        <ownedAttribute xmi:id="OCL-OCL_Types-CollectionType-elementType" name="elementType" type="_2vtgsBu3EeSIos3S87O_rg"/>
        <ownedAttribute xmi:id="OCL-OCL_Types-CollectionType-lower" name="lower" type="_8LvrkBu3EeSIos3S87O_rg">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpdiRn7VEeOu79LxSz8Ylw" value="0"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Types-CollectionType-upper" name="upper" type="_8LvrkRu3EeSIos3S87O_rg">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpdiR37VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_vJ60ABu3EeSIos3S87O_rg" name="DataType"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_8LvrkBu3EeSIos3S87O_rg" name="Integer"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_aPMtkBu3EeSIos3S87O_rg" name="OCLExpression" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-OrderedSetType" name="OrderedSetType">
        <generalization xmi:id="_Xpwc8H7VEeOu79LxSz8Ylw" general="OCL-OCL_Types-CollectionType"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-SequenceType" name="SequenceType">
        <generalization xmi:id="_Xpwc8X7VEeOu79LxSz8Ylw" general="OCL-OCL_Types-CollectionType"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-SetType" name="SetType">
        <generalization xmi:id="_Xpwc8n7VEeOu79LxSz8Ylw" general="OCL-OCL_Types-CollectionType"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_2vtgsBu3EeSIos3S87O_rg" name="Type" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_i-qYEBu3EeSIos3S87O_rg" name="TypedElement" isAbstract="true">
        <ownedAttribute xmi:id="_arwRQBu4EeSIos3S87O_rg" name="isMany" type="_PHnfsBu4EeSIos3S87O_rg" isReadOnly="true" isDerived="true"/>
        <ownedAttribute xmi:id="_Luj5MBu4EeSIos3S87O_rg" name="isRequired" type="_PHnfsBu4EeSIos3S87O_rg">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_Xp30oBu4EeSIos3S87O_rg" value="true"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_8LvrkRu3EeSIos3S87O_rg" name="UnlimitedNatural"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_zth9MCyOEeS77awx34sDEA" name="OCL_Complete">
      <packagedElement xmi:type="uml:Class" xmi:id="_bVuPYCyPEeS77awx34sDEA" name="Class"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_BE8DMCyPEeS77awx34sDEA" name="CompleteClass">
        <generalization xmi:id="_FatJkCyPEeS77awx34sDEA" general="_67hN4CyOEeS77awx34sDEA"/>
        <ownedAttribute xmi:id="_MP2nACyQEeS77awx34sDEA" name="owningCompletePackage" type="_-mAioCyOEeS77awx34sDEA" association="_IbtxkCyREeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MP2nASyQEeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MP2nAiyQEeS77awx34sDEA" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_sQmcICyPEeS77awx34sDEA" name="partialClasses" type="_bVuPYCyPEeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_sQmcISyPEeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_sQmcIiyPEeS77awx34sDEA" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_tBvXIIhCEeS7_fz8n0YOtw" name="CompleteEnvironment">
        <generalization xmi:id="_tBvXIYhCEeS7_fz8n0YOtw" general="_bc5nYIhCEeS7_fz8n0YOtw"/>
        <ownedAttribute xmi:id="_dG09IIhDEeS7_fz8n0YOtw" name="ownedCompleteModel" type="_4AqmUCyOEeS77awx34sDEA" aggregation="composite" association="_7Oc4AIhDEeS7_fz8n0YOtw"/>
        <ownedAttribute xmi:id="_ooMHgIhDEeS7_fz8n0YOtw" name="ownedStandardLibrary" type="_kXs_MIhCEeS7_fz8n0YOtw" aggregation="composite" association="_8Rb_AIhDEeS7_fz8n0YOtw"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_4AqmUCyOEeS77awx34sDEA" name="CompleteModel">
        <generalization xmi:id="_JCnrcCyPEeS77awx34sDEA" general="_67hN4CyOEeS77awx34sDEA"/>
        <ownedAttribute xmi:id="_O7klUDmUEeSB95ugQCao7g" name="orphanCompletePackage" type="_TlOeADQjEeSMlP-TjpzTcA" isReadOnly="true" isDerived="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O7klUTmUEeSB95ugQCao7g"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_O7klUjmUEeSB95ugQCao7g" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_iRwNYCyPEeS77awx34sDEA" name="ownedCompletePackages" type="_-mAioCyOEeS77awx34sDEA" aggregation="composite" association="_AJ5sYCyREeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_iRwNYSyPEeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_iRwNYiyPEeS77awx34sDEA" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_9pc-YDpxEeSo6P09swtBBA" name="partialModels" type="_3pdx4DpxEeSo6P09swtBBA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_9pc-YTpxEeSo6P09swtBBA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_9pc-YjpxEeSo6P09swtBBA" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_UlEkcDmUEeSB95ugQCao7g" name="primitiveCompletePackage" type="_Je4TIDmUEeSB95ugQCao7g" isReadOnly="true" isDerived="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UlEkcTmUEeSB95ugQCao7g"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UlEkcjmUEeSB95ugQCao7g" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_vB9F8IhDEeS7_fz8n0YOtw" name="owningCompleteEnvironment" type="_tBvXIIhCEeS7_fz8n0YOtw" association="_7Oc4AIhDEeS7_fz8n0YOtw">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_vB9F8YhDEeS7_fz8n0YOtw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_vB9F8ohDEeS7_fz8n0YOtw" value="1"/>
        </ownedAttribute>
        <ownedOperation xmi:id="_ciZ4UDmdEeSB95ugQCao7g" name="getOwnedCompletePackage">
          <ownedParameter xmi:id="_ciZ4UTmdEeSB95ugQCao7g" name="result" type="_-mAioCyOEeS77awx34sDEA" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ciZ4UjmdEeSB95ugQCao7g"/>
          </ownedParameter>
          <ownedParameter xmi:id="_ciZ4UzmdEeSB95ugQCao7g" name="name" type="_VYWFYDmdEeSB95ugQCao7g">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ciZ4VDmdEeSB95ugQCao7g"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_-mAioCyOEeS77awx34sDEA" name="CompletePackage">
        <generalization xmi:id="_JSt88CyPEeS77awx34sDEA" general="_67hN4CyOEeS77awx34sDEA"/>
        <ownedAttribute xmi:id="_xR8PECyPEeS77awx34sDEA" name="ownedCompleteClasses" type="_BE8DMCyPEeS77awx34sDEA" aggregation="composite" association="_IbtxkCyREeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_xR8PESyPEeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_xR8PEiyPEeS77awx34sDEA" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_5RktMCyREeS77awx34sDEA" name="ownedCompletePackages" type="_-mAioCyOEeS77awx34sDEA" aggregation="composite" association="_PfoDwCySEeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_5RktMSyREeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_5RktMiyREeS77awx34sDEA" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_afnRUCyQEeS77awx34sDEA" name="owningCompleteModel" type="_4AqmUCyOEeS77awx34sDEA" association="_AJ5sYCyREeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_afnRUSyQEeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_afnRUiyQEeS77awx34sDEA" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_718HYCyREeS77awx34sDEA" name="owningCompletePackage" type="_-mAioCyOEeS77awx34sDEA" association="_PfoDwCySEeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_718HYSyREeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_718HYiyREeS77awx34sDEA" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_NeVo0CyPEeS77awx34sDEA" name="partialPackages" type="_Te8gYCyPEeS77awx34sDEA">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_YRBIQCyPEeS77awx34sDEA"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_YyjIACyPEeS77awx34sDEA" value="*"/>
        </ownedAttribute>
        <ownedOperation xmi:id="_F1Pj4DmdEeSB95ugQCao7g" name="getOwnedCompleteClass">
          <ownedParameter xmi:id="_JyHpIDmdEeSB95ugQCao7g" name="result" type="_BE8DMCyPEeS77awx34sDEA" direction="return">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Qdet4DmdEeSB95ugQCao7g"/>
          </ownedParameter>
          <ownedParameter xmi:id="_RVzdADmdEeSB95ugQCao7g" name="name" type="_VYWFYDmdEeSB95ugQCao7g">
            <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_RVzdATmdEeSB95ugQCao7g"/>
          </ownedParameter>
        </ownedOperation>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_bc5nYIhCEeS7_fz8n0YOtw" name="Element" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_3pdx4DpxEeSo6P09swtBBA" name="Model"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_67hN4CyOEeS77awx34sDEA" name="NamedElement" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_c7pEUCyPEeS77awx34sDEA" name="Operation"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_TlOeADQjEeSMlP-TjpzTcA" name="OrphanCompletePackage">
        <generalization xmi:id="_TlOeATQjEeSMlP-TjpzTcA" general="_-mAioCyOEeS77awx34sDEA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_Te8gYCyPEeS77awx34sDEA" name="Package"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_Je4TIDmUEeSB95ugQCao7g" name="PrimitiveCompletePackage">
        <generalization xmi:id="_Je4TITmUEeSB95ugQCao7g" general="_-mAioCyOEeS77awx34sDEA"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_kXs_MIhCEeS7_fz8n0YOtw" name="StandardLibrary">
        <generalization xmi:id="_kXs_MYhCEeS7_fz8n0YOtw" general="_bc5nYIhCEeS7_fz8n0YOtw"/>
        <ownedAttribute xmi:id="_3uYDgIhDEeS7_fz8n0YOtw" name="owningCompleteEnvironment" type="_tBvXIIhCEeS7_fz8n0YOtw" association="_8Rb_AIhDEeS7_fz8n0YOtw">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3uYDgYhDEeS7_fz8n0YOtw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3uYDgohDEeS7_fz8n0YOtw" value="1"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_VYWFYDmdEeSB95ugQCao7g" name="String"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_7Oc4AIhDEeS7_fz8n0YOtw" name="A_owningCompleteEnvironment_ownedCompleteModel" memberEnd="_vB9F8IhDEeS7_fz8n0YOtw _dG09IIhDEeS7_fz8n0YOtw"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_8Rb_AIhDEeS7_fz8n0YOtw" name="A_owningCompleteEnvironment_ownedStandardLibrary" memberEnd="_3uYDgIhDEeS7_fz8n0YOtw _ooMHgIhDEeS7_fz8n0YOtw"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_AJ5sYCyREeS77awx34sDEA" name="A_owningCompleteModel_ownedCompletePackages" memberEnd="_afnRUCyQEeS77awx34sDEA _iRwNYCyPEeS77awx34sDEA"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_IbtxkCyREeS77awx34sDEA" name="A_owningCompletePackage_ownedCompleteClasses" memberEnd="_MP2nACyQEeS77awx34sDEA _xR8PECyPEeS77awx34sDEA"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_PfoDwCySEeS77awx34sDEA" name="A_owningCompletePackage_ownedCompletePackages" memberEnd="_718HYCyREeS77awx34sDEA _5RktMCyREeS77awx34sDEA"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Constraints" name="OCL_Constraints">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Constraints-Type" name="Class">
        <ownedAttribute xmi:id="OCL-OCL_Constraints-Type-ownedInvariant" name="ownedInvariants" type="OCL-OCL_Constraints-Constraint" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiEn7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiE37VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Constraints-Constraint" name="Constraint">
        <ownedAttribute xmi:id="_QcxJMBlREeSM9LreJtBwBg" name="ownedSpecification" type="_foQQkBmAEeSM9LreJtBwBg" aggregation="composite" association="_kOeEUBzOEeSIos3S87O_rg">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_QcxJMRlREeSM9LreJtBwBg"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_gwa58BsqEeSM9LreJtBwBg" name="context" type="_cma-sBsqEeSM9LreJtBwBg" isReadOnly="true" isDerived="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_itJFUBsqEeSM9LreJtBwBg"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Constraints-ExpressionInOCL" name="ExpressionInOCL">
        <generalization xmi:id="_0Q_2MBmAEeSM9LreJtBwBg" general="_foQQkBmAEeSM9LreJtBwBg"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_foQQkBmAEeSM9LreJtBwBg" name="LanguageExpression" isAbstract="true">
        <generalization xmi:id="_4NlAgBmAEeSM9LreJtBwBg" general="_w5OpIBmAEeSM9LreJtBwBg"/>
        <ownedAttribute xmi:id="_7Qoh0BmAEeSM9LreJtBwBg" name="language" type="_Ap5skBmBEeSM9LreJtBwBg" isReadOnly="true" isDerived="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__EktgBmAEeSM9LreJtBwBg" value="1"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_GchLcBmBEeSM9LreJtBwBg" name="body" type="_Ap5skBmBEeSM9LreJtBwBg">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_GchLcRmBEeSM9LreJtBwBg"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_bRneEBzOEeSIos3S87O_rg" name="owningConstraint" type="OCL-OCL_Constraints-Constraint" association="_kOeEUBzOEeSIos3S87O_rg">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ewmGYBzOEeSIos3S87O_rg"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_cma-sBsqEeSM9LreJtBwBg" name="Namespace" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Constraints-Operation" name="Operation">
        <ownedAttribute xmi:id="OCL-OCL_Constraints-Operation-bodyExpression" name="bodyExpression" type="_foQQkBmAEeSM9LreJtBwBg" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiEX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Constraints-Property" name="Property">
        <ownedAttribute xmi:id="OCL-OCL_Constraints-Property-defaultExpression" name="ownedExpression" type="_foQQkBmAEeSM9LreJtBwBg" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiFH7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_w5OpIBmAEeSM9LreJtBwBg" name="ValueSpecification" isAbstract="true"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_Ap5skBmBEeSM9LreJtBwBg" name="String"/>
      <packagedElement xmi:type="uml:Association" xmi:id="_kOeEUBzOEeSIos3S87O_rg" name="A_specification_owningConstraint" memberEnd="_QcxJMBlREeSM9LreJtBwBg _bRneEBzOEeSIos3S87O_rg"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Expressions" name="OCL_Expressions">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-AssociationClassCallExp" name="AssociationClassCallExp">
        <generalization xmi:id="_XpnTLH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-NavigationCallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-AssociationClassCallExp-referredAssociationClass" name="referredAssociationClass" type="OCL-OCL_Associations-AssociationClass">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiNX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-BooleanLiteralExp" name="BooleanLiteralExp">
        <generalization xmi:id="_XpnTEn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-PrimitiveLiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-BooleanLiteralExp-booleanSymbol" name="booleanSymbol" type="OCL-OCL_PrimitiveTypes-Boolean"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-CallExp" name="CallExp" isAbstract="true">
        <generalization xmi:id="_XpnTE37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CallExp-source" name="ownedSource" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiFX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-CallExp-implicit" name="isImplicit" type="OCL-OCL_PrimitiveTypes-Boolean">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiFn7VEeOu79LxSz8Ylw"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpdiF37VEeOu79LxSz8Ylw" value="false"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-EnumLiteralExp" name="EnumLiteralExp">
        <generalization xmi:id="_XpnTFX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-EnumLiteralExp-referredEnumLiteral" name="referredLiteral" type="OCL-OCL_UML-EnumerationLiteral">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiGX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-ExpressionInOCL" name="ExpressionInOCL">
        <generalization xmi:id="_XpnTKH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-ValueSpecification"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ExpressionInOCL-bodyExpression" name="ownedBody" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_99uscAIiEeSCI8ZVm5C6gQ"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ExpressionInOCL-contextVariable" name="ownedContext" type="OCL-OCL_Expressions-Variable" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiK37VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ExpressionInOCL-parameterVariable" name="ownedParameters" type="OCL-OCL_Expressions-Variable" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiLX7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiLn7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ExpressionInOCL-resultVariable" name="ownedResult" type="OCL-OCL_Expressions-Variable" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiLH7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-FeatureCallExp" name="FeatureCallExp" isAbstract="true">
        <generalization xmi:id="_XpnTKn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-CallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-FeatureCallExp-isPre" name="isPre" type="OCL-OCL_PrimitiveTypes-Boolean">
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpdiL37VEeOu79LxSz8Ylw" value="false"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-IfExp" name="IfExp">
        <generalization xmi:id="_XpnTFn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-IfExp-condition" name="ownedCondition" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-IfExp-thenExpression" name="ownedThen" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-IfExp-elseExpression" name="ownedElse" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-IntegerLiteralExp" name="IntegerLiteralExp">
        <generalization xmi:id="_XpnTHX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-NumericLiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-IntegerLiteralExp-integerSymbol" name="integerSymbol" type="OCL-OCL_PrimitiveTypes-Integer"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-InvalidLiteralExp" name="InvalidLiteralExp">
        <generalization xmi:id="_XpnTKX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LiteralExp"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-IterateExp" name="IterateExp">
        <generalization xmi:id="_XpnTMH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LoopExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-IterateExp-result" name="ownedResult" type="OCL-OCL_Expressions-Variable" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiO37VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-IteratorExp" name="IteratorExp">
        <generalization xmi:id="_XpnTMX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LoopExp"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-LetExp" name="LetExp">
        <generalization xmi:id="_XpnTF37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-LetExp-in" name="ownedIn" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-LetExp-variable" name="ownedVariable" type="OCL-OCL_Expressions-Variable" aggregation="composite"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-LiteralExp" name="LiteralExp" isAbstract="true">
        <generalization xmi:id="_XpnTIH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-LoopExp" name="LoopExp" isAbstract="true">
        <generalization xmi:id="_XpnTG37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-CallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-LoopExp-body" name="ownedBody" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-LoopExp-iterator" name="ownedIterators" type="OCL-OCL_Expressions-Variable" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiIH7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiIX7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-LoopExp-referredIteration" name="referredIteration" type="OCL-OCL_Library-Iteration">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiIn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-NavigationCallExp" name="NavigationCallExp" isAbstract="true">
        <generalization xmi:id="_XpnTK37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-FeatureCallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-NavigationCallExp-qualifier" name="qualifiers" type="OCL-OCL_Expressions-OCLExpression" isOrdered="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiMn7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiM37VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-NavigationCallExp-navigationSource" name="navigationSource" type="OCL-OCL_UML-Property" isOrdered="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiNH7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-NumericLiteralExp" name="NumericLiteralExp" isAbstract="true">
        <generalization xmi:id="_XpnTIn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-PrimitiveLiteralExp"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-OCLExpression" name="OCLExpression" isAbstract="true">
        <generalization xmi:id="_XpdiGH7VEeOu79LxSz8Ylw" general="OCL-OCL_UML-TypedElement"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-OperationCallExp" name="OperationCallExp">
        <generalization xmi:id="_XpnTHn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-FeatureCallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-OperationCallExp-argument" name="ownedArguments" type="OCL-OCL_Expressions-OCLExpression" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiI37VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiJH7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-OperationCallExp-referredOperation" name="referredOperation" type="OCL-OCL_UML-Operation">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiJX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-OppositePropertyCallExp" name="OppositePropertyCallExp">
        <generalization xmi:id="_XpnTM37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-NavigationCallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-OppositePropertyCallExp-referredProperty" name="referredProperty" type="OCL-OCL_UML-Property">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiQH7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-PrimitiveLiteralExp" name="PrimitiveLiteralExp" isAbstract="true">
        <generalization xmi:id="_XpnTIX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LiteralExp"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-PropertyCallExp" name="PropertyCallExp">
        <generalization xmi:id="_XpnTGH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-NavigationCallExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-PropertyCallExp-referredProperty" name="referredProperty" type="OCL-OCL_UML-Property">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiHX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-RealLiteralExp" name="RealLiteralExp">
        <generalization xmi:id="_XpnTH37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-NumericLiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-RealLiteralExp-realSymbol" name="realSymbol" type="OCL-OCL_PrimitiveTypes-Real"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-ShadowExp" name="ShadowExp">
        <generalization xmi:id="_XpnTMn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ShadowExp-part" name="ownedParts" type="OCL-OCL_Expressions-ShadowPart" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiPH7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiPX7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ShadowExp-value" name="value" type="OCL-OCL_PrimitiveTypes-String">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiPn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-ShadowPart" name="ShadowPart">
        <generalization xmi:id="_XpdiP37VEeOu79LxSz8Ylw" general="OCL-OCL_UML-TypedElement"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ShadowPart-referredProperty" name="referredProperty" type="OCL-OCL_UML-Property"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-ShadowPart-initExpression" name="ownedInit" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-StringLiteralExp" name="StringLiteralExp">
        <generalization xmi:id="_XpnTHH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-PrimitiveLiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-StringLiteralExp-stringSymbol" name="stringSymbol" type="OCL-OCL_PrimitiveTypes-String"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-TupleLiteralExp" name="TupleLiteralExp">
        <generalization xmi:id="_XpnTJn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-LiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-TupleLiteralExp-part" name="ownedParts" type="OCL-OCL_Expressions-TupleLiteralPart" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiKX7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiKn7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-TupleLiteralPart" name="TupleLiteralPart">
        <generalization xmi:id="_XpdiMX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-VariableDeclaration"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-TupleLiteralPart-initExpression" name="ownedInit" type="OCL-OCL_Expressions-OCLExpression" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiMH7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-TypeExp" name="TypeExp">
        <generalization xmi:id="_XpnTGn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-TypeExp-referredType" name="referredType" type="OCL-OCL_UML-Type">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiH37VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-NullLiteralExp" name="NullLiteralExp">
        <generalization xmi:id="_XpnTJ37VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-PrimitiveLiteralExp"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-UnlimitedNaturalLiteralExp" name="UnlimitedNaturalLiteralExp">
        <generalization xmi:id="_XpnTFH7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-NumericLiteralExp"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-UnlimitedNaturalLiteralExp-unlimitedNaturalSymbol" name="unlimitedNaturalSymbol" type="OCL-OCL_PrimitiveTypes-UnlimitedNatural"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-UnspecifiedValueExp" name="UnspecifiedValueExp">
        <generalization xmi:id="_XpnTLn7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-ValueSpecification" name="ValueSpecification" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-Variable" name="Variable"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-VariableDeclaration" name="VariableDeclaration" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-VariableExp" name="VariableExp">
        <generalization xmi:id="_XpnTGX7VEeOu79LxSz8Ylw" general="OCL-OCL_Expressions-OCLExpression"/>
        <ownedAttribute xmi:id="OCL-OCL_Variables-VariableExp-implicit" name="isImplicit" type="OCL-OCL_PrimitiveTypes-Boolean">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpnTDn7VEeOu79LxSz8Ylw"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpnTD37VEeOu79LxSz8Ylw" value="false"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-VariableExp-referredVariable" name="referredVariable" type="OCL-OCL_Expressions-VariableDeclaration">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiHn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Library" name="OCL_Library">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Library-Iteration" name="Iteration">
        <generalization xmi:id="_XpnTNH7VEeOu79LxSz8Ylw" general="OCL-OCL_Library-Operation"/>
        <ownedAttribute xmi:id="OCL-OCL_Library-Iteration-ownedIterator" name="ownedIterators" type="OCL-OCL_Library-Parameter" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiQX7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiQn7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Library-Iteration-ownedAccumulator" name="ownedAccumulators" type="OCL-OCL_Library-Parameter" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiQ37VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiRH7VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Library-Library" name="Library">
        <generalization xmi:id="_XpnTNX7VEeOu79LxSz8Ylw" general="OCL-OCL_Library-Package"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Library-Package" name="Package"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Library-Operation" name="Operation"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Library-Parameter" name="Parameter"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_7U8PoIhFEeS7_fz8n0YOtw" name="PrimitiveType">
        <ownedAttribute xmi:id="_AK55AIhGEeS7_fz8n0YOtw" name="coercions" type="OCL-OCL_Library-Operation" isOrdered="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AK55AYhGEeS7_fz8n0YOtw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AK55AohGEeS7_fz8n0YOtw" value="*"/>
        </ownedAttribute>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_LII0oBsDEeSM9LreJtBwBg" name="OCL_Messages">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-CallOperationAction" name="CallOperationAction">
        <generalization xmi:id="_CfFesBsEEeSM9LreJtBwBg" general="_-5qQIBsDEeSM9LreJtBwBg"/>
        <ownedAttribute xmi:id="_HKescBsoEeSM9LreJtBwBg" name="operation" type="_MTk3kBsEEeSM9LreJtBwBg"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-MessageExp" name="MessageExp">
        <generalization xmi:id="_XpnTLX7VEeOu79LxSz8Ylw" general="_USzX8BsEEeSM9LreJtBwBg"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-MessageExp-argument" name="ownedArguments" type="_USzX8BsEEeSM9LreJtBwBg" isOrdered="true" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiNn7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiN37VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-MessageExp-calledOperation" name="ownedCalledOperation" type="OCL-OCL_Expressions-CallOperationAction" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiOH7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-MessageExp-sentSignal" name="ownedSentSignal" type="OCL-OCL_Expressions-SendSignalAction" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiOX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-MessageExp-target" name="ownedTarget" type="_USzX8BsEEeSM9LreJtBwBg" aggregation="composite"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-MessageType" name="MessageType">
        <generalization xmi:id="_XpnTA37VEeOu79LxSz8Ylw" general="OCL-OCL_UML-Class"/>
        <ownedAttribute xmi:id="OCL-OCL_Types-MessageType-referredSignal" name="referredSignal" type="OCL-OCL_Types-Signal">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpnTAX7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Types-MessageType-referredOperation" name="referredOperation" type="_MTk3kBsEEeSM9LreJtBwBg">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpnTAn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_-5qQIBsDEeSM9LreJtBwBg" name="NamedElement" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_USzX8BsEEeSM9LreJtBwBg" name="OCLExpression" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_MTk3kBsEEeSM9LreJtBwBg" name="Operation"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-SendSignalAction" name="SendSignalAction">
        <generalization xmi:id="_F4viIBsEEeSM9LreJtBwBg" general="_-5qQIBsDEeSM9LreJtBwBg"/>
        <ownedAttribute xmi:id="_6bBXQBsnEeSM9LreJtBwBg" name="signal" type="OCL-OCL_Types-Signal"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-Signal" name="Signal">
        <generalization xmi:id="_XpnTBn7VEeOu79LxSz8Ylw" general="_-5qQIBsDEeSM9LreJtBwBg"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_PrimitiveTypes" name="OCL_PrimitiveTypes">
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="OCL-OCL_PrimitiveTypes-Boolean" name="Boolean"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="OCL-OCL_PrimitiveTypes-Integer" name="Integer"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="OCL-OCL_PrimitiveTypes-Real" name="Real"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="OCL-OCL_PrimitiveTypes-String" name="String"/>
      <packagedElement xmi:type="uml:PrimitiveType" xmi:id="OCL-OCL_PrimitiveTypes-UnlimitedNatural" name="UnlimitedNatural"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_Uz7kgBsDEeSM9LreJtBwBg" name="OCL_States">
      <packagedElement xmi:type="uml:Class" xmi:id="_Oy9M0IkdEeSBZI5ewYKP9Q" name="Behavior" isAbstract="true">
        <ownedAttribute xmi:id="_bGNHIIkdEeSBZI5ewYKP9Q" name="owningTransition" type="_RMsEUIkdEeSBZI5ewYKP9Q" association="_eZBiwIkdEeSBZI5ewYKP9Q">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_bGNHIYkdEeSBZI5ewYKP9Q"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_j1cmcBsEEeSM9LreJtBwBg" name="NamedElement" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_kic2YBsEEeSM9LreJtBwBg" name="OCLExpression" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Expressions-StateExp" name="StateExp">
        <generalization xmi:id="_XpnTL37VEeOu79LxSz8Ylw" general="_kic2YBsEEeSM9LreJtBwBg"/>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-StateExp-referredState" name="referredState" type="OCL-OCL_Types-State">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiOn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-State" name="State">
        <generalization xmi:id="_XpnTB37VEeOu79LxSz8Ylw" general="_j1cmcBsEEeSM9LreJtBwBg"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_RMsEUIkdEeSBZI5ewYKP9Q" name="Transition">
        <ownedAttribute xmi:id="_ThDToIkdEeSBZI5ewYKP9Q" name="ownedEffect" type="_Oy9M0IkdEeSBZI5ewYKP9Q" aggregation="composite" association="_eZBiwIkdEeSBZI5ewYKP9Q">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VLHowIkdEeSBZI5ewYKP9Q"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Association" xmi:id="_eZBiwIkdEeSBZI5ewYKP9Q" name="A_ownedEffect_owningTransition" memberEnd="_ThDToIkdEeSBZI5ewYKP9Q _bGNHIIkdEeSBZI5ewYKP9Q"/>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="_LK0zkDTeEeS3ndOfdXtkXQ" name="OCL_Templates">
      <packagedElement xmi:type="uml:Class" xmi:id="_ybrj0DTeEeS3ndOfdXtkXQ" name="Class"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_MCo6cDTgEeS3ndOfdXtkXQ" name="TemplateBinding">
        <ownedAttribute xmi:id="_O981ADTgEeS3ndOfdXtkXQ" name="ownedSubstitutions" type="_fBfcADTeEeS3ndOfdXtkXQ" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_O981ATTgEeS3ndOfdXtkXQ" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UtkDMDTgEeS3ndOfdXtkXQ" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_FdaA8DTiEeS3ndOfdXtkXQ" name="templateSignature" type="_iEDtwDThEeS3ndOfdXtkXQ" isReadOnly="true" isDerived="true">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_FdaA8TTiEeS3ndOfdXtkXQ" value="1"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_FdaA8jTiEeS3ndOfdXtkXQ" value="1"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="__lMVoD3PEeSd8K7sAO40uw" name="TemplateParameter">
        <generalization xmi:id="_jaXXQD3SEeSd8K7sAO40uw" general="_W4iX4DTeEeS3ndOfdXtkXQ"/>
        <ownedAttribute xmi:id="_X-ZqQD3SEeSd8K7sAO40uw" name="constrainingClasses" type="_ybrj0DTeEeS3ndOfdXtkXQ">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_X-ZqQT3SEeSd8K7sAO40uw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ckHRID3SEeSd8K7sAO40uw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_OW7PID3REeSd8K7sAO40uw" name="lowerBound" type="_W4iX4DTeEeS3ndOfdXtkXQ">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_SM8ecD3REeSd8K7sAO40uw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_VPaJ4D3REeSd8K7sAO40uw" name="upperBound" type="_W4iX4DTeEeS3ndOfdXtkXQ">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_VPaJ4T3REeSd8K7sAO40uw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_fBfcADTeEeS3ndOfdXtkXQ" name="TemplateParameterSubstitution">
        <ownedAttribute xmi:id="_jDbncDTeEeS3ndOfdXtkXQ" name="actual" type="_W4iX4DTeEeS3ndOfdXtkXQ"/>
        <ownedAttribute xmi:id="_rpAWIDTeEeS3ndOfdXtkXQ" name="ownedWildcard" type="_W4iX4TTeEeS3ndOfdXtkXQ" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tlcNoDTeEeS3ndOfdXtkXQ"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="_iEDtwDThEeS3ndOfdXtkXQ" name="TemplateSignature"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_W4iX4DTeEeS3ndOfdXtkXQ" name="Type" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="_W4iX4TTeEeS3ndOfdXtkXQ" name="WildcardType">
        <generalization xmi:id="_W4iX4jTeEeS3ndOfdXtkXQ" general="_ybrj0DTeEeS3ndOfdXtkXQ"/>
        <ownedAttribute xmi:id="_W4iX4zTeEeS3ndOfdXtkXQ" name="lowerBound" type="_W4iX4DTeEeS3ndOfdXtkXQ">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_W4iX5DTeEeS3ndOfdXtkXQ"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="_W4iX5TTeEeS3ndOfdXtkXQ" name="upperBound" type="_W4iX4DTeEeS3ndOfdXtkXQ">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_W4iX5jTeEeS3ndOfdXtkXQ"/>
        </ownedAttribute>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Types" name="OCL_Types">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-AnyType" name="AnyType">
        <generalization xmi:id="_XpdiRX7VEeOu79LxSz8Ylw" general="OCL-OCL_UML-Class"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-InvalidType" name="InvalidType">
        <generalization xmi:id="_XpdiSX7VEeOu79LxSz8Ylw" general="OCL-OCL_UML-Class"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-LambdaType" name="LambdaType">
        <generalization xmi:id="_XpnTAH7VEeOu79LxSz8Ylw" general="OCL-OCL_UML-DataType"/>
        <ownedAttribute xmi:id="OCL-OCL_Types-LambdaType-contextType" name="contextType" type="OCL-OCL_UML-Type"/>
        <ownedAttribute xmi:id="OCL-OCL_Types-LambdaType-parameterType" name="parameterType" type="OCL-OCL_UML-Type" isOrdered="true" isUnique="false">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiSn7VEeOu79LxSz8Ylw"/>
          <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XpdiS37VEeOu79LxSz8Ylw" value="*"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Types-LambdaType-resultType" name="resultType" type="OCL-OCL_UML-Type"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-SelfType" name="SelfType">
        <generalization xmi:id="_XpnTBX7VEeOu79LxSz8Ylw" general="OCL-OCL_UML-Class"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-TupleType" name="TupleType">
        <generalization xmi:id="_XpnTCn7VEeOu79LxSz8Ylw" general="OCL-OCL_UML-DataType"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Types-VoidType" name="VoidType">
        <generalization xmi:id="_XpnTC37VEeOu79LxSz8Ylw" general="OCL-OCL_UML-Class"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_Variables" name="OCL_Variables">
      <packagedElement xmi:type="uml:Class" xmi:id="_BSdooBsGEeSM9LreJtBwBg" name="OCLExpression" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Variables-Parameter" name="Parameter">
        <generalization xmi:id="_Xpwc837VEeOu79LxSz8Ylw" general="OCL-OCL_Variables-VariableDeclaration"/>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Variables-TypedElement" name="TypedElement" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Variables-Variable" name="Variable">
        <generalization xmi:id="_Xpwc9n7VEeOu79LxSz8Ylw" general="OCL-OCL_Variables-VariableDeclaration"/>
        <ownedAttribute xmi:id="OCL-OCL_Variables-Variable-implicit" name="isImplicit" type="OCL-OCL_PrimitiveTypes-Boolean">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpnTDH7VEeOu79LxSz8Ylw"/>
          <defaultValue xmi:type="uml:LiteralString" xmi:id="_XpnTDX7VEeOu79LxSz8Ylw" value="false"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-Variable-initExpression" name="ownedInit" type="_BSdooBsGEeSM9LreJtBwBg" aggregation="composite">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiGn7VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
        <ownedAttribute xmi:id="OCL-OCL_Expressions-Variable-representedParameter" name="representedParameter" type="OCL-OCL_UML-Parameter">
          <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XpdiG37VEeOu79LxSz8Ylw"/>
        </ownedAttribute>
      </packagedElement>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_Variables-VariableDeclaration" name="VariableDeclaration" isAbstract="true">
        <generalization xmi:id="_Xpwc9X7VEeOu79LxSz8Ylw" general="OCL-OCL_Variables-TypedElement"/>
      </packagedElement>
    </packagedElement>
    <packagedElement xmi:type="uml:Package" xmi:id="OCL-OCL_UML" name="OCL_UML">
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-Class" name="Class"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-DataType" name="DataType"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-EnumerationLiteral" name="EnumerationLiteral"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-NamedElement" name="NamedElement" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-Operation" name="Operation"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-Parameter" name="Parameter"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-Property" name="Property"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-Type" name="Type" isAbstract="true"/>
      <packagedElement xmi:type="uml:Class" xmi:id="OCL-OCL_UML-TypedElement" name="TypedElement" isAbstract="true"/>
    </packagedElement>
    <profileApplication xmi:id="_YWO1EH9cEeOrlIuDtf7a6A">
      <eAnnotations xmi:id="_YWO1EX9cEeOrlIuDtf7a6A" source="http://www.eclipse.org/uml2/2.0.0/UML">
        <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
      </eAnnotations>
      <appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
    </profileApplication>
  </uml:Package>
  <Ecore:EReference xmi:id="_b3swsH9cEeOrlIuDtf7a6A" isTransient="true" isVolatile="true" isResolveProxies="false"/>
  <Ecore:EReference xmi:id="_pxI0MENFEeSgQZUbTRZNbQ" isTransient="true" base_Property="_O7klUDmUEeSB95ugQCao7g" isResolveProxies="false"/>
  <Ecore:EReference xmi:id="_tmbDsENFEeSgQZUbTRZNbQ" isTransient="true" base_Property="_UlEkcDmUEeSB95ugQCao7g" isResolveProxies="false"/>
</xmi:XMI>
