blob: 9e16cdaa301bf4ecf0bc34e50799cc3ea946d351 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.0.0/UML" xmi:id="_hO-tEMZDEduM7oj0_aZo5A" name="RandL">
<packagedElement xmi:type="uml:Class" xmi:id="_hO-tEcZDEduM7oj0_aZo5A" name="ServiceLevel">
<ownedAttribute xmi:id="_hO-tEsZDEduM7oj0_aZo5A" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tE8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-tFMZDEduM7oj0_aZo5A" name="availableServices" type="_hO-tz8ZDEduM7oj0_aZo5A" association="_hO-uM8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-tFcZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tFsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-tF8ZDEduM7oj0_aZo5A" name="Membership" type="_hPIf78ZDEduM7oj0_aZo5A" association="_hPIgVcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-tGMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tGcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-tGsZDEduM7oj0_aZo5A" name="program" type="_hO-uuMZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgu8ZDEduM7oj0_aZo5A"/>
<ownedOperation xmi:id="_hO-tG8ZDEduM7oj0_aZo5A" name="invariant_ServiceLevel14" visibility="public">
<eAnnotations xmi:id="_hO-tHMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tHcZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'a', 'b', 'c', 'c', 'd', 'e' }->indexOf('c') = 3"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tHsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tH8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tIMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tIcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tIsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tI8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tJMZDEduM7oj0_aZo5A" name="invariant_ServiceLevel15" visibility="public">
<eAnnotations xmi:id="_hO-tJcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tJsZDEduM7oj0_aZo5A" key="invariant" value="OrderedSet{'a', 'b', 'c', 'd' }->insertAt(3, 'X') = OrderedSet{'a', 'b', 'X', 'c', 'd' }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tJ8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tKMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tKcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tKsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tK8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tLMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tLcZDEduM7oj0_aZo5A" name="invariant_ServiceLevel6" visibility="public">
<eAnnotations xmi:id="_hO-tLsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tL8ZDEduM7oj0_aZo5A" key="invariant" value="Sequence{Set{1, 2 }, Set{2, 3 }, Set{4, 5, 6 } }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tMMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tMcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tMsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tM8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tNMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tNcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tNsZDEduM7oj0_aZo5A" name="invariant_ServiceLevel7" visibility="public">
<eAnnotations xmi:id="_hO-tN8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tOMZDEduM7oj0_aZo5A" key="invariant" value="Sequence{2, 1, 2, 3, 5, 6, 4 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tOcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tOsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tO8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tPMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tPcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tPsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tP8ZDEduM7oj0_aZo5A" name="invariant_ServiceLevel3" visibility="public">
<eAnnotations xmi:id="_hO-tQMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tQcZDEduM7oj0_aZo5A" key="invariant" value="Set{1, 2, 3, 4, 5, 6 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tQsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tQ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tRMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tRcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tRsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tR8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tSMZDEduM7oj0_aZo5A" name="invariant_ServiceLevel16" visibility="public">
<eAnnotations xmi:id="_hO-tScZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tSsZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'a', 'b', 'c', 'c', 'd', 'e' }->subSequence(3, 5) = Sequence{'c', 'c', 'd' }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tS8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tTMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tTcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tTsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tT8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tUMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tUcZDEduM7oj0_aZo5A" name="invariant_ServiceLevel5" visibility="public">
<eAnnotations xmi:id="_hO-tUsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tU8ZDEduM7oj0_aZo5A" key="invariant" value="Bag{1, 1, 2, 2, 4, 5, 6 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tVMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tVcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tVsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tV8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tWMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tWcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tWsZDEduM7oj0_aZo5A" name="invariant_ServiceLevel1" visibility="public">
<eAnnotations xmi:id="_hO-tW8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tXMZDEduM7oj0_aZo5A" key="invariant" value="self.program.partners->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tXcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tXsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tX8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tYMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tYcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tYsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tY8ZDEduM7oj0_aZo5A" name="invariant_ServiceLevel4" visibility="public">
<eAnnotations xmi:id="_hO-tZMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tZcZDEduM7oj0_aZo5A" key="invariant" value="Bag{Set{1, 2 }, Set{1, 2 }, Set{4, 5, 6 } }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tZsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tZ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-taMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tacZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tasZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ta8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tbMZDEduM7oj0_aZo5A" name="invariant_ServiceLevel13" visibility="public">
<eAnnotations xmi:id="_hO-tbcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tbsZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'a', 'b', 'c', 'c', 'd', 'e' }->at(3) = 'c'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tb8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tcMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tccZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tcsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tc8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tdMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tdcZDEduM7oj0_aZo5A" name="invariant_ServiceLevel19" visibility="public">
<eAnnotations xmi:id="_hO-tdsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-td8ZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'a', 'b', 'c', 'c', 'd', 'e' }->prepend('X') = Sequence{'X', 'a', 'b', 'c', 'c', 'd', 'e' }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-teMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tecZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tesZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-te8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tfMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tfcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tfsZDEduM7oj0_aZo5A" name="invariant_ServiceLevel10" visibility="public">
<eAnnotations xmi:id="_hO-tf8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tgMZDEduM7oj0_aZo5A" key="invariant" value="Set{1, 4, 7, 10 }->symmetricDifference(Set{4, 5, 7 }) = Set{1, 5, 10 }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tgcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tgsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tg8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-thMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-thcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-thsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-th8ZDEduM7oj0_aZo5A" name="invariant_ServiceLevel2" visibility="public">
<eAnnotations xmi:id="_hO-tiMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-ticZDEduM7oj0_aZo5A" key="invariant" value="Set{Set{1, 2 }, Set{2, 3 }, Set{4, 5, 6 } }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tisZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ti8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tjMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tjcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tjsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tj8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tkMZDEduM7oj0_aZo5A" name="invariant_ServiceLevel8" visibility="public">
<eAnnotations xmi:id="_hO-tkcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tksZDEduM7oj0_aZo5A" key="invariant" value="Set{1, 4, 7, 10 } - Set{4, 7 } = Set{1, 10 }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tk8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tlMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tlcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tlsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tl8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tmMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tmcZDEduM7oj0_aZo5A" name="invariant_ServiceLevel12" visibility="public">
<eAnnotations xmi:id="_hO-tmsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tm8ZDEduM7oj0_aZo5A" key="invariant" value="OrderedSet{'a', 'b', 'c', 'd' }->last() = 'd'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tnMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tncZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tnsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tn8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-toMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tocZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tosZDEduM7oj0_aZo5A" name="invariant_ServiceLevel11" visibility="public">
<eAnnotations xmi:id="_hO-to8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tpMZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'a', 'b', 'c', 'c', 'd', 'e' }->first() = 'a'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tpcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tpsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tp8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tqMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tqcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tqsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tq8ZDEduM7oj0_aZo5A" name="invariant_ServiceLevel18" visibility="public">
<eAnnotations xmi:id="_hO-trMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-trcZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'a', 'b', 'c', 'c', 'd', 'e' }->append('X') = Sequence{'a', 'b', 'c', 'c', 'd', 'e', 'X' }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-trsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tr8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tsMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tscZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tssZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ts8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-ttMZDEduM7oj0_aZo5A" name="invariant_ServiceLevel17" visibility="public">
<eAnnotations xmi:id="_hO-ttcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-ttsZDEduM7oj0_aZo5A" key="invariant" value="OrderedSet{'a', 'b', 'c', 'd' }->subOrderedSet(2, 3) = OrderedSet{'b', 'c' }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tt8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tuMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tucZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tusZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tu8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tvMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-tvcZDEduM7oj0_aZo5A" name="invariant_ServiceLevel9" visibility="public">
<eAnnotations xmi:id="_hO-tvsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tv8ZDEduM7oj0_aZo5A" key="invariant" value="OrderedSet{12, 9, 6, 3 } - Set{1, 3, 2 } = OrderedSet{12, 9, 6 }"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-twMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-twcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-twsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tw8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-txMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-txcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-txsZDEduM7oj0_aZo5A" name="mgOCLArithSimplifierTest" visibility="public">
<eAnnotations xmi:id="_hO-tx8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-tyMZDEduM7oj0_aZo5A" key="invariant" value="Sequence{1 + 0, 3 + (4+5)}->at(1+0)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-tycZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tysZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ty8ZDEduM7oj0_aZo5A" name="paramA" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#ELong"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tzMZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-tzcZDEduM7oj0_aZo5A" name="paramB" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDouble"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-tzsZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hO-tz8ZDEduM7oj0_aZo5A" name="Service">
<ownedAttribute xmi:id="_hO-t0MZDEduM7oj0_aZo5A" name="description" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t0cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t0sZDEduM7oj0_aZo5A" name="condition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t08ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t1MZDEduM7oj0_aZo5A" name="pointsBurned" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t1cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t1sZDEduM7oj0_aZo5A" name="serviceNr" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t18ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t2MZDEduM7oj0_aZo5A" name="pointsEarned" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t2cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t2sZDEduM7oj0_aZo5A" name="level" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true" association="_hO-uM8ZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t28ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t3MZDEduM7oj0_aZo5A" name="partner" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgwcZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t3cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t3sZDEduM7oj0_aZo5A" name="LoyaltyAccount" type="_hPIgVsZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgosZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t38ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-t4MZDEduM7oj0_aZo5A" name="transactions" type="_hO-uesZDEduM7oj0_aZo5A" association="_hPIgvsZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-t4cZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t4sZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hO-t48ZDEduM7oj0_aZo5A" name="post_upgradePointsEarned_1" visibility="public">
<eAnnotations xmi:id="_hO-t5MZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-t5cZDEduM7oj0_aZo5A" key="body" value="self.calcPoints() = self.calcPoints() + amount"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-t5sZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t58ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-t6MZDEduM7oj0_aZo5A" name="amount" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t6cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-t6sZDEduM7oj0_aZo5A" name="invariant_Service4" visibility="public">
<eAnnotations xmi:id="_hO-t68ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-t7MZDEduM7oj0_aZo5A" key="invariant" value="'Anneke '.concat('and Jos') = 'Anneke and Jos'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-t7cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t7sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-t78ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t8MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-t8cZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t8sZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-t88ZDEduM7oj0_aZo5A" name="invariant_Service1" visibility="public">
<eAnnotations xmi:id="_hO-t9MZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-t9cZDEduM7oj0_aZo5A" key="invariant" value="self.pointsEarned > 0 implies not ( self.pointsBurned = 0 )"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-t9sZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t98ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-t-MZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t-cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-t-sZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-t-8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-t_MZDEduM7oj0_aZo5A" name="invariant_Service7" visibility="public">
<eAnnotations xmi:id="_hO-t_cZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-t_sZDEduM7oj0_aZo5A" key="invariant" value="'Anneke and Jos'.substring(12, 14) = 'Jos'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-t_8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uAMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uAcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uAsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uA8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uBMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uBcZDEduM7oj0_aZo5A" name="invariant_Service6" visibility="public">
<eAnnotations xmi:id="_hO-uBsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uB8ZDEduM7oj0_aZo5A" key="invariant" value="'Anneke'.toLower() = 'anneke'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uCMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uCcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uCsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uC8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uDMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uDcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uDsZDEduM7oj0_aZo5A" name="calcPoints" visibility="public" isQuery="true">
<ownedParameter xmi:id="_hO-uD8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uEMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uEcZDEduM7oj0_aZo5A" name="invariant_Service2" visibility="public">
<eAnnotations xmi:id="_hO-uEsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uE8ZDEduM7oj0_aZo5A" key="invariant" value="'Anneke'.size() = 6"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uFMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uFcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uFsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uF8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uGMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uGcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uGsZDEduM7oj0_aZo5A" name="invariant_Service3" visibility="public">
<eAnnotations xmi:id="_hO-uG8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uHMZDEduM7oj0_aZo5A" key="invariant" value="( 'Anneke' = 'Jos' ) = false"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uHcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uHsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uH8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uIMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uIcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uIsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uI8ZDEduM7oj0_aZo5A" name="upgradePointsEarned" visibility="public">
<eAnnotations xmi:id="_hO-uJMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hO-uJcZDEduM7oj0_aZo5A" key="body" value="// TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_upgradePointsEarned_1(amount ); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uJsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uJ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uKMZDEduM7oj0_aZo5A" name="amount" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uKcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uKsZDEduM7oj0_aZo5A" name="invariant_Service5" visibility="public">
<eAnnotations xmi:id="_hO-uK8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uLMZDEduM7oj0_aZo5A" key="invariant" value="'Anneke'.toUpper() = 'ANNEKE'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uLcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uLsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uL8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uMMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uMcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uMsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hO-uM8ZDEduM7oj0_aZo5A" memberEnd="_hO-t2sZDEduM7oj0_aZo5A _hO-tFMZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Class" xmi:id="_hO-uNMZDEduM7oj0_aZo5A" name="ProgramPartner">
<ownedAttribute xmi:id="_hO-uNcZDEduM7oj0_aZo5A" name="programs" type="_hO-uuMZDEduM7oj0_aZo5A" association="_hPIgusZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uNsZDEduM7oj0_aZo5A" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uN8ZDEduM7oj0_aZo5A" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uOMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uOcZDEduM7oj0_aZo5A" name="numberOfCustomers" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uOsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uO8ZDEduM7oj0_aZo5A" name="deliveredServices" type="_hO-tz8ZDEduM7oj0_aZo5A" association="_hPIgwcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uPMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uPcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hO-uPsZDEduM7oj0_aZo5A" name="invariant_ProgramPartner1" visibility="public">
<eAnnotations xmi:id="_hO-uP8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uQMZDEduM7oj0_aZo5A" key="invariant" value="self.programs.partners->select(p : ProgramPartner | p &lt;> self)->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uQcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uQsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uQ8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uRMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uRcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uRsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uR8ZDEduM7oj0_aZo5A" name="getBurningTransactions" visibility="public">
<eAnnotations xmi:id="_hO-uSMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uScZDEduM7oj0_aZo5A" key="body" value="self.deliveredServices.transactions->iterate(t : Transaction; resultSet : Set( Transaction) = Set{ } | if t.oclIsTypeOf(Burning) then resultSet->including(t) else resultSet endif)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uSsZDEduM7oj0_aZo5A" type="_hO-uesZDEduM7oj0_aZo5A" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uS8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uTMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uTcZDEduM7oj0_aZo5A" name="invariant_totalPoints" visibility="public">
<eAnnotations xmi:id="_hO-uTsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uT8ZDEduM7oj0_aZo5A" key="invariant" value="deliveredServices.transactions.points->sum() &lt; 10000"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uUMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uUcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uUsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uU8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uVMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uVcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uVsZDEduM7oj0_aZo5A" name="invariant_nrOfParticipants2" visibility="public">
<eAnnotations xmi:id="_hO-uV8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uWMZDEduM7oj0_aZo5A" key="invariant" value="numberOfCustomers = programs.participants->asSet()->size()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uWcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uWsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uW8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uXMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uXcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uXsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uX8ZDEduM7oj0_aZo5A" name="invariant_nrOfParticipants" visibility="public">
<eAnnotations xmi:id="_hO-uYMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uYcZDEduM7oj0_aZo5A" key="invariant" value="numberOfCustomers = programs.participants->size()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uYsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uY8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uZMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uZcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uZsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uZ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uaMZDEduM7oj0_aZo5A" name="invariant_totalPointsEarning" visibility="public">
<eAnnotations xmi:id="_hO-uacZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uasZDEduM7oj0_aZo5A" key="invariant" value="deliveredServices.transactions->select(oclIsTypeOf(Earning)).points->sum() &lt; 10000"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-ua8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ubMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ubcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ubsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ub8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ucMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-uccZDEduM7oj0_aZo5A" name="invariant_totalPointsEarning2" visibility="public">
<eAnnotations xmi:id="_hO-ucsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uc8ZDEduM7oj0_aZo5A" key="invariant" value="deliveredServices.transactions->select(oclIsTypeOf(Earning)).points->sum() &lt; 10000"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-udMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-udcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-udsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ud8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ueMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uecZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hO-uesZDEduM7oj0_aZo5A" name="Transaction">
<ownedAttribute xmi:id="_hO-ue8ZDEduM7oj0_aZo5A" name="card" type="_hPIfaMZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIf7sZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ufMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-ufcZDEduM7oj0_aZo5A" name="account" type="_hPIgVsZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgpMZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ufsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uf8ZDEduM7oj0_aZo5A" name="points" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ugMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-ugcZDEduM7oj0_aZo5A" name="amount" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDoubleObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ugsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-ug8ZDEduM7oj0_aZo5A" name="generatedBy" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgvsZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uhMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uhcZDEduM7oj0_aZo5A" name="date" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgv8ZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uhsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hO-uh8ZDEduM7oj0_aZo5A" name="invariant_Transaction1" visibility="public">
<eAnnotations xmi:id="_hO-uiMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uicZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsKindOf(Transaction) = true"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uisZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ui8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ujMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ujcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ujsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uj8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-ulcZDEduM7oj0_aZo5A" name="invariant_Transaction4" visibility="public">
<eAnnotations xmi:id="_hO-ulsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-ul8ZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsKindOf(Burning) = false"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-umMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-umcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-umsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-um8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-unMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uncZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-unsZDEduM7oj0_aZo5A" name="invariant_Transaction3" visibility="public">
<eAnnotations xmi:id="_hO-un8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uoMZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsTypeOf(Burning) = false"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uocZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uosZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-uo8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-upMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-upcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-upsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-up8ZDEduM7oj0_aZo5A" name="invariant_Transaction2" visibility="public">
<eAnnotations xmi:id="_hO-uqMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uqcZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsTypeOf(Transaction) = true"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-uqsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uq8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-urMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-urcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-ursZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ur8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-usMZDEduM7oj0_aZo5A" name="program" visibility="public">
<ownedParameter xmi:id="_hO-uscZDEduM7oj0_aZo5A" type="_hO-uuMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ussZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-us8ZDEduM7oj0_aZo5A" name="getProgram" visibility="public">
<eAnnotations xmi:id="_hO-utMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hO-utcZDEduM7oj0_aZo5A" key="body" value="// TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_getProgram_1(); &#xA; throw new UnsupportedOperationException(); &#xA; "/>
</eAnnotations>
<eAnnotations xmi:id="_hO-ukcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uksZDEduM7oj0_aZo5A" key="body" value="self.card.membership.programs"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-utsZDEduM7oj0_aZo5A" type="_hO-uuMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ut8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hO-uuMZDEduM7oj0_aZo5A" name="LoyaltyProgram">
<ownedAttribute xmi:id="_hO-uucZDEduM7oj0_aZo5A" name="participants" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgtcZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hO-uusZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uu8ZDEduM7oj0_aZo5A" key="derive" value="memberships.participants"/>
</eAnnotations>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uvMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uvcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uvsZDEduM7oj0_aZo5A" name="isSaving" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hO-uv8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uwMZDEduM7oj0_aZo5A" key="derive" value="partners.deliveredServices->forAll(pointsEarned = 0)"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uwcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uwsZDEduM7oj0_aZo5A" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uw8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uxMZDEduM7oj0_aZo5A" name="sortedAccounts" type="_hPIgVsZDEduM7oj0_aZo5A" isOrdered="true" isUnique="false" isReadOnly="true" isDerived="true" aggregation="composite" association="_hPIguMZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hO-uxcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-uxsZDEduM7oj0_aZo5A" key="derive" value="self.memberships.account->sortedBy(number)"/>
</eAnnotations>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-ux8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uyMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uycZDEduM7oj0_aZo5A" name="partners" type="_hO-uNMZDEduM7oj0_aZo5A" association="_hPIgusZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uysZDEduM7oj0_aZo5A" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uy8ZDEduM7oj0_aZo5A" name="levels" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgu8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uzMZDEduM7oj0_aZo5A" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hO-uzcZDEduM7oj0_aZo5A" name="memberships" type="_hPIf78ZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgvMZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-uzsZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-uz8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hO-u0MZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram20" visibility="public">
<eAnnotations xmi:id="_hO-u0cZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-u0sZDEduM7oj0_aZo5A" key="invariant" value="participants->forAll(age() &lt;= 70)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-u08ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u1MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u1cZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u1sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u18ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u2MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-u2cZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram1" visibility="public">
<eAnnotations xmi:id="_hO-u2sZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-u28ZDEduM7oj0_aZo5A" key="invariant" value="partners.deliveredServices->forAll(pointsEarned = 0) and memberships.card->forAll(goodThru = Date::fromYMD(2000, 1, 1)) and participants->forAll(age() > 55)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-u3MZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u3cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u3sZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u38ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u4MZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u4cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-u4sZDEduM7oj0_aZo5A" name="pre_enroll_3" visibility="public">
<eAnnotations xmi:id="_hO-u48ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-u5MZDEduM7oj0_aZo5A" key="body" value="not self.participants->includes(c)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-u5cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u5sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u58ZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u6MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-u6cZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram12" visibility="public">
<eAnnotations xmi:id="_hO-u6sZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-u68ZDEduM7oj0_aZo5A" key="invariant" value="Bag{1, 3, 4, 3, 5 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-u7MZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u7cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u7sZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u78ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u8MZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u8cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-u8sZDEduM7oj0_aZo5A" name="post_enroll_2" visibility="public">
<eAnnotations xmi:id="_hO-u88ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-u9MZDEduM7oj0_aZo5A" key="body" value="self.participants = self.participants->including(c)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-u9cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u9sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u98ZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u-MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-u-cZDEduM7oj0_aZo5A" name="post_addService_1" visibility="public">
<eAnnotations xmi:id="_hO-u-sZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-u-8ZDEduM7oj0_aZo5A" key="body" value="self.partners->collect( i_ProgramPartner : ProgramPartner | i_ProgramPartner.deliveredServices )->includes(s)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-u_MZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u_cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-u_sZDEduM7oj0_aZo5A" name="l" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-u_8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vAMZDEduM7oj0_aZo5A" name="p" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vAcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vAsZDEduM7oj0_aZo5A" name="s" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vA8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vBMZDEduM7oj0_aZo5A" name="enroll" visibility="public">
<eAnnotations xmi:id="_hO-vBcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hO-vBsZDEduM7oj0_aZo5A" key="body" value="assert pre_enroll_1(c ); &#xA; assert pre_enroll_2(c ); &#xA; assert pre_enroll_3(c ); &#xA; assert pre_enroll_4(c ); &#xA; // TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_enroll_1(c ); &#xA; assert post_enroll_2(c ); &#xA; assert post_enroll_3(c ); &#xA; assert post_enroll_4(c ); &#xA; assert post_enroll_5(c ); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vB8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vCMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vCcZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vCsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vC8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram14" visibility="public">
<eAnnotations xmi:id="_hO-vDMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vDcZDEduM7oj0_aZo5A" key="invariant" value="Sequence{1 .. 10 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vDsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vD8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vEMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vEcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vEsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vE8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vFMZDEduM7oj0_aZo5A" name="post_enroll_5" visibility="public">
<eAnnotations xmi:id="_hO-vFcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vFsZDEduM7oj0_aZo5A" key="body" value="self.memberships->select( m : Membership | m.participants = c )->forAll( i_Membership : Membership | i_Membership.account->asSet()->notEmpty() and i_Membership.account.points = 0 )"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vF8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vGMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vGcZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vGsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vG8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram2" visibility="public">
<eAnnotations xmi:id="_hO-vHMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vHcZDEduM7oj0_aZo5A" key="invariant" value="partners.deliveredServices->forAll(pointsEarned = 0)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vHsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vH8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vIMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vIcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vIsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vI8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vJMZDEduM7oj0_aZo5A" name="selectPopularPartners" visibility="public">
<eAnnotations xmi:id="_hO-vJcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hO-vJsZDEduM7oj0_aZo5A" key="body" value="// TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_selectPopularPartners_1(d ); &#xA; throw new UnsupportedOperationException(); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vJ8ZDEduM7oj0_aZo5A" type="_hO-uNMZDEduM7oj0_aZo5A" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-vKMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vKcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vKsZDEduM7oj0_aZo5A" name="d" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vK8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vLMZDEduM7oj0_aZo5A" name="getServicesByLevel" visibility="public">
<eAnnotations xmi:id="_hO-vLcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vLsZDEduM7oj0_aZo5A" key="body" value="levels->select(name = levelName).availableServices->asSet()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vL8ZDEduM7oj0_aZo5A" type="_hO-tz8ZDEduM7oj0_aZo5A" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-vMMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vMcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vMsZDEduM7oj0_aZo5A" name="levelName" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vM8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vNMZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram16" visibility="public">
<eAnnotations xmi:id="_hO-vNcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vNsZDEduM7oj0_aZo5A" key="invariant" value="self.participants->size() &lt; 10000"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vN8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vOMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vOcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vOsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vO8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vPMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vPcZDEduM7oj0_aZo5A" name="post_enroll_4" visibility="public">
<eAnnotations xmi:id="_hO-vPsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vP8ZDEduM7oj0_aZo5A" key="body" value="self.participants = self.participants->including(c)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vQMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vQcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vQsZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vQ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vRMZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram19" visibility="public">
<eAnnotations xmi:id="_hO-vRcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vRsZDEduM7oj0_aZo5A" key="invariant" value="self.memberships.account->isUnique(number)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vR8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vSMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vScZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vSsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vS8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vTMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vTcZDEduM7oj0_aZo5A" name="post_enroll_3" visibility="public">
<eAnnotations xmi:id="_hO-vTsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vT8ZDEduM7oj0_aZo5A" key="body" value="self.participants = self.participants->including(c)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vUMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vUcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vUsZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vU8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vVMZDEduM7oj0_aZo5A" name="addService" visibility="public">
<eAnnotations xmi:id="_hO-vVcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hO-vVsZDEduM7oj0_aZo5A" key="body" value="assert pre_addService_1(l, p, s ); &#xA; assert pre_addService_2(l, p, s ); &#xA; // TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_addService_1(l, p, s ); &#xA; assert post_addService_2(l, p, s ); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vV8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vWMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vWcZDEduM7oj0_aZo5A" name="l" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vWsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vW8ZDEduM7oj0_aZo5A" name="p" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vXMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vXcZDEduM7oj0_aZo5A" name="s" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vXsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vX8ZDEduM7oj0_aZo5A" name="pre_enroll_4" visibility="public">
<eAnnotations xmi:id="_hO-vYMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vYcZDEduM7oj0_aZo5A" key="body" value="not self.participants->includes(c)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vYsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vY8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vZMZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vZcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vb8ZDEduM7oj0_aZo5A" name="post_addTransaction_1" visibility="public">
<eAnnotations xmi:id="_hO-vcMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vccZDEduM7oj0_aZo5A" key="body" value="let acc : LoyaltyAccount = self.memberships->collect( i_Membership : Membership | i_Membership.account )->select( a : LoyaltyAccount | a.number = accNr )->any( i_LoyaltyAccount : LoyaltyAccount | true ) in let newT : Transaction = self.partners->select( p : ProgramPartner | p.name = pName )->collect( i_ProgramPartner : ProgramPartner | i_ProgramPartner.deliveredServices )->select( s : Service | s.serviceNr = servId )->collect( i_Service : Service | i_Service.transactions )->select( i_Transaction : Transaction | (i_Transaction.date = d) and i_Transaction.amount = amnt )->any( i_Transaction : Transaction | true ) in let card : CustomerCard = self.memberships->select( m : Membership | m.account.number = accNr )->collect( i_Membership : Membership | i_Membership.card )->any( i_CustomerCard : CustomerCard | true ) in acc.points = acc.points + newT.points "/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vcsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vc8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vdMZDEduM7oj0_aZo5A" name="pName" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vdcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vdsZDEduM7oj0_aZo5A" name="amnt" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDoubleObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vd8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-veMZDEduM7oj0_aZo5A" name="servId" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vecZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vesZDEduM7oj0_aZo5A" name="d" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-ve8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vfMZDEduM7oj0_aZo5A" name="accNr" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vfcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vfsZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram10" visibility="public">
<eAnnotations xmi:id="_hO-vf8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vgMZDEduM7oj0_aZo5A" key="invariant" value="Sequence{1, 3, 45, 2, 3 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vgcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vgsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vg8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vhMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vhcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vhsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vh8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram21" visibility="public">
<eAnnotations xmi:id="_hO-viMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vicZDEduM7oj0_aZo5A" key="invariant" value="self.participants->forAll(c1 | self.participants->forAll(c2 | c1 &lt;> c2 implies c1.name &lt;> c2.name))"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-visZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vi8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vjMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vjcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vjsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vj8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vkMZDEduM7oj0_aZo5A" name="addTransaction" visibility="public">
<eAnnotations xmi:id="_hO-vkcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hO-vksZDEduM7oj0_aZo5A" key="body" value="// TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_addTransaction_1(pName, amnt, servId, d, accNr ); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vk8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vlMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vlcZDEduM7oj0_aZo5A" name="pName" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vlsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vl8ZDEduM7oj0_aZo5A" name="amnt" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDoubleObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vmMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vmcZDEduM7oj0_aZo5A" name="servId" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vmsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vm8ZDEduM7oj0_aZo5A" name="d" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vnMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vncZDEduM7oj0_aZo5A" name="accNr" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vnsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vn8ZDEduM7oj0_aZo5A" name="pre_enroll_1" visibility="public">
<eAnnotations xmi:id="_hO-voMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vocZDEduM7oj0_aZo5A" key="body" value="c.name &lt;> ''"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vosZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vo8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vpMZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vpcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vpsZDEduM7oj0_aZo5A" name="invariant_multipleIterators" visibility="public">
<eAnnotations xmi:id="_hO-vp8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vqMZDEduM7oj0_aZo5A" key="invariant" value="self.participants->forAll(c1, c2 | c1 &lt;> c2 implies c1.name &lt;> c2.name)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vqcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vqsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vq8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vrMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vrcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vrsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vr8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram3" visibility="public">
<eAnnotations xmi:id="_hO-vsMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vscZDEduM7oj0_aZo5A" key="invariant" value="memberships.card->forAll(goodThru = Date::fromYMD(2000, 1, 1))"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vssZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vs8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vtMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vtcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vtsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vt8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vuMZDEduM7oj0_aZo5A" name="getServices" visibility="public">
<eAnnotations xmi:id="_hO-vucZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vusZDEduM7oj0_aZo5A" key="body" value="if partners->includes(pp) then pp.deliveredServices else Set{ } endif"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vu8ZDEduM7oj0_aZo5A" type="_hO-tz8ZDEduM7oj0_aZo5A" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hO-vvMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vvcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vvsZDEduM7oj0_aZo5A" name="pp" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vv8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vwMZDEduM7oj0_aZo5A" name="invariant_noAccounts" visibility="public">
<eAnnotations xmi:id="_hO-vwcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vwsZDEduM7oj0_aZo5A" key="invariant" value="partners.deliveredServices->forAll(pointsEarned = 0 and pointsBurned = 0) implies memberships.account->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vw8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vxMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vxcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vxsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vx8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vyMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-vycZDEduM7oj0_aZo5A" name="post_addService_2" visibility="public">
<eAnnotations xmi:id="_hO-vysZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-vy8ZDEduM7oj0_aZo5A" key="body" value="self.levels->collect( i_ServiceLevel : ServiceLevel | i_ServiceLevel.availableServices )->includes(s)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-vzMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vzcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-vzsZDEduM7oj0_aZo5A" name="l" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-vz8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v0MZDEduM7oj0_aZo5A" name="p" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v0cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v0sZDEduM7oj0_aZo5A" name="s" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v08ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-v1MZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram13" visibility="public">
<eAnnotations xmi:id="_hO-v1cZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-v1sZDEduM7oj0_aZo5A" key="invariant" value="Sequence{1 .. ( 6 + 4 ) }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-v18ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v2MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v2cZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v2sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v28ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v3MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-v3cZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram4" visibility="public">
<eAnnotations xmi:id="_hO-v3sZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-v38ZDEduM7oj0_aZo5A" key="invariant" value="participants->forAll(age() > 55)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-v4MZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v4cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v4sZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v48ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v5MZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v5cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-v5sZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram5" visibility="public">
<eAnnotations xmi:id="_hO-v58ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-v6MZDEduM7oj0_aZo5A" key="invariant" value="levels->includesAll(memberships.currentLevel)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-v6cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v6sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v68ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v7MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v7cZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v7sZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-v9sZDEduM7oj0_aZo5A" name="invariant_minServices" visibility="public">
<eAnnotations xmi:id="_hO-v98ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-v-MZDEduM7oj0_aZo5A" key="invariant" value="partners.deliveredServices->size() >= 1"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-v-cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v-sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v-8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v_MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-v_cZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-v_sZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-v_8ZDEduM7oj0_aZo5A" name="pre_addService_2" visibility="public">
<eAnnotations xmi:id="_hO-wAMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-wAcZDEduM7oj0_aZo5A" key="body" value="self.levels->includes(l)"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-wAsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-wA8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-wBMZDEduM7oj0_aZo5A" name="l" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-wBcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-wBsZDEduM7oj0_aZo5A" name="p" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-wB8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-wCMZDEduM7oj0_aZo5A" name="s" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-wCcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hO-wCsZDEduM7oj0_aZo5A" name="invariant_firstLevel" visibility="public">
<eAnnotations xmi:id="_hO-wC8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hO-wDMZDEduM7oj0_aZo5A" key="invariant" value="levels->first().name = 'Silver'"/>
</eAnnotations>
<ownedParameter xmi:id="_hO-wDcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-wDsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hO-wD8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hO-wEMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeEMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeEcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeEsZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram9" visibility="public">
<eAnnotations xmi:id="_hPIeE8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeFMZDEduM7oj0_aZo5A" key="invariant" value="OrderedSet{'apple', 'orange', 'strawberry', 'pear' }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeFcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeFsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeF8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeGMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeGcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeGsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeG8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram17" visibility="public">
<eAnnotations xmi:id="_hPIeHMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeHcZDEduM7oj0_aZo5A" key="invariant" value="self.memberships.account->isUnique(acc | acc.number)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeHsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeH8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeIMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeIcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeIsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeI8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeJMZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram11" visibility="public">
<eAnnotations xmi:id="_hPIeJcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeJsZDEduM7oj0_aZo5A" key="invariant" value="Sequence{'ape', 'nut' }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeJ8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeKMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeKcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeKsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeK8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeLMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeLcZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram7" visibility="public">
<eAnnotations xmi:id="_hPIeLsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeL8ZDEduM7oj0_aZo5A" key="invariant" value="Set{1, 2, 5, 88 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeMMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeMcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeMsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeM8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeNMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeNcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeNsZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram18" visibility="public">
<eAnnotations xmi:id="_hPIeN8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeOMZDEduM7oj0_aZo5A" key="invariant" value="self.memberships.account->isUnique(acc : LoyaltyAccount | acc.number)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeOcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeOsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeO8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIePMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIePcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIePsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeP8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram15" visibility="public">
<eAnnotations xmi:id="_hPIeQMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeQcZDEduM7oj0_aZo5A" key="invariant" value="Sequence{1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeQsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeQ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeRMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeRcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeRsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeR8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeSMZDEduM7oj0_aZo5A" name="enrollAndCreateCustomer" visibility="public">
<eAnnotations xmi:id="_hPIeScZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hPIeSsZDEduM7oj0_aZo5A" key="body" value="assert pre_enrollAndCreateCustomer_1(n, d ); &#xA; // TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_enrollAndCreateCustomer_1(n, d ); &#xA; throw new UnsupportedOperationException(); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeS8ZDEduM7oj0_aZo5A" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeTMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeTcZDEduM7oj0_aZo5A" name="n" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeTsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeT8ZDEduM7oj0_aZo5A" name="d" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeUMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeUcZDEduM7oj0_aZo5A" name="pre_addService_1" visibility="public">
<eAnnotations xmi:id="_hPIeUsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeU8ZDEduM7oj0_aZo5A" key="body" value="self.partners->includes(p)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeVMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeVcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeVsZDEduM7oj0_aZo5A" name="l" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeV8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeWMZDEduM7oj0_aZo5A" name="p" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeWcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeWsZDEduM7oj0_aZo5A" name="s" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeW8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeXMZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram6" visibility="public">
<eAnnotations xmi:id="_hPIeXcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeXsZDEduM7oj0_aZo5A" key="invariant" value="self.levels->exists(name = 'basic')"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeX8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeYMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeYcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeYsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeY8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeZMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIeZcZDEduM7oj0_aZo5A" name="getServices" visibility="public">
<eAnnotations xmi:id="_hPIeZsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIeZ8ZDEduM7oj0_aZo5A" key="body" value="partners.deliveredServices->asSet()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeaMZDEduM7oj0_aZo5A" type="_hO-tz8ZDEduM7oj0_aZo5A" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIeacZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeasZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIea8ZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram8" visibility="public">
<eAnnotations xmi:id="_hPIebMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIebcZDEduM7oj0_aZo5A" key="invariant" value="Set{'apple', 'orange', 'strawberry' }->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIebsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeb8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIecMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeccZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIecsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIec8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIedMZDEduM7oj0_aZo5A" name="post_enroll_1" visibility="public">
<eAnnotations xmi:id="_hPIedcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIedsZDEduM7oj0_aZo5A" key="body" value="self.participants = self.participants->including(c)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIed8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeeMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeecZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeesZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIee8ZDEduM7oj0_aZo5A" name="pre_enrollAndCreateCustomer_1" visibility="public">
<eAnnotations xmi:id="_hPIefMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIefcZDEduM7oj0_aZo5A" key="body" value="true"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIefsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIef8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIegMZDEduM7oj0_aZo5A" name="n" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIegcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIegsZDEduM7oj0_aZo5A" name="d" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeg8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIehMZDEduM7oj0_aZo5A" name="invariant_knownServiceLevel" visibility="public">
<eAnnotations xmi:id="_hPIehcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIehsZDEduM7oj0_aZo5A" key="invariant" value="levels->includesAll(memberships.currentLevel)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIeh8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeiMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeicZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeisZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIei8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIejMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIejcZDEduM7oj0_aZo5A" name="pre_enroll_2" visibility="public">
<eAnnotations xmi:id="_hPIejsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIej8ZDEduM7oj0_aZo5A" key="body" value="c.name &lt;> ''"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIekMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIekcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeksZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIek8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIelMZDEduM7oj0_aZo5A" name="invariant_LoyaltyProgram22" visibility="public">
<eAnnotations xmi:id="_hPIelcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIelsZDEduM7oj0_aZo5A" key="invariant" value="self.memberships.account->one(number &lt; 10000)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIel8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIemMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIemcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIemsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIem8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIenMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIencZDEduM7oj0_aZo5A" name="Customer">
<ownedAttribute xmi:id="_hPIensZDEduM7oj0_aZo5A" name="cards" type="_hPIfaMZDEduM7oj0_aZo5A" association="_hPIf7cZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIen8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeoMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIeocZDEduM7oj0_aZo5A" name="isMale" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeosZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIeo8ZDEduM7oj0_aZo5A" name="title" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIepMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIepcZDEduM7oj0_aZo5A" name="age" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIepsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIep8ZDEduM7oj0_aZo5A" name="gender" visibility="public" type="_hPIgrsZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeqMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIeqcZDEduM7oj0_aZo5A" name="name" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeqsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIeq8ZDEduM7oj0_aZo5A" name="initial" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIerMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIercZDEduM7oj0_aZo5A" key="derive" value="name.substring(1, 1)"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIersZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIer8ZDEduM7oj0_aZo5A" name="loyalToCompanies" type="_hO-uNMZDEduM7oj0_aZo5A" isUnique="false" isReadOnly="true" isDerived="true" aggregation="composite" association="_hPIgscZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hPIesMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIescZDEduM7oj0_aZo5A" key="derive" value="programs.partners"/>
</eAnnotations>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIessZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIes8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIetMZDEduM7oj0_aZo5A" name="wellUsedCards" type="_hPIfaMZDEduM7oj0_aZo5A" isReadOnly="true" isDerived="true" aggregation="composite" association="_hPIgs8ZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hPIetcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIetsZDEduM7oj0_aZo5A" key="derive" value="cards->select(transactions.points->sum() > 10000)"/>
</eAnnotations>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIet8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeuMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIeucZDEduM7oj0_aZo5A" name="dateOfBirth" visibility="public" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeusZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIeu8ZDEduM7oj0_aZo5A" name="programs" type="_hO-uuMZDEduM7oj0_aZo5A" association="_hPIgtcZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hPIevMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIevcZDEduM7oj0_aZo5A" key="derive" value="memberships.programs"/>
</eAnnotations>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIevsZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIev8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIewMZDEduM7oj0_aZo5A" name="memberships" type="_hPIf78ZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgtsZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIewcZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIewsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hPIew8ZDEduM7oj0_aZo5A" name="invariant_Customer10" visibility="public">
<eAnnotations xmi:id="_hPIexMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIexcZDEduM7oj0_aZo5A" key="invariant" value="self.programs->collect(partners)->collectNested(deliveredServices)->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIexsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIex8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeyMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIeycZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIeysZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIey8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIezMZDEduM7oj0_aZo5A" name="invariant_Customer3" visibility="public">
<eAnnotations xmi:id="_hPIezcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIezsZDEduM7oj0_aZo5A" key="invariant" value="self.name = 'Edward'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIez8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe0MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe0cZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe0sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe08ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe1MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIe1cZDEduM7oj0_aZo5A" name="age" visibility="public" isQuery="true">
<ownedParameter xmi:id="_hPIe1sZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe18ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIe2MZDEduM7oj0_aZo5A" name="birthdayHappens" visibility="public">
<eAnnotations xmi:id="_hPIe2cZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hPIe2sZDEduM7oj0_aZo5A" key="body" value="// TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_birthdayHappens_1(); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hPIe28ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe3MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIe3cZDEduM7oj0_aZo5A" name="cardsForProgram" visibility="public">
<eAnnotations xmi:id="_hPIe3sZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIe38ZDEduM7oj0_aZo5A" key="body" value="p.memberships.card"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIe4MZDEduM7oj0_aZo5A" type="_hPIfaMZDEduM7oj0_aZo5A" isOrdered="true" isUnique="false" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIe4cZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe4sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe48ZDEduM7oj0_aZo5A" name="p" type="_hO-uuMZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe5MZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIe5cZDEduM7oj0_aZo5A" name="invariant_Customer7" visibility="public">
<eAnnotations xmi:id="_hPIe5sZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIe58ZDEduM7oj0_aZo5A" key="invariant" value="gender = Gender::male implies title = 'Mr.'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIe6MZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe6cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe6sZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe68ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe7MZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe7cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIe7sZDEduM7oj0_aZo5A" name="invariant_Customer5" visibility="public">
<eAnnotations xmi:id="_hPIe78ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIe8MZDEduM7oj0_aZo5A" key="invariant" value="self.title = 'Mr.'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIe8cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe8sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe88ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe9MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIe9cZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIe9sZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIe_MZDEduM7oj0_aZo5A" name="invariant_Customer9" visibility="public">
<eAnnotations xmi:id="_hPIe_cZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIe_sZDEduM7oj0_aZo5A" key="invariant" value="memberships.account->reject( not ( points > 0 ))->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIe_8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfAMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfAcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfAsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfA8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfBMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfBcZDEduM7oj0_aZo5A" name="invariant_Customer8" visibility="public">
<eAnnotations xmi:id="_hPIfBsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfB8ZDEduM7oj0_aZo5A" key="invariant" value="memberships.account->select(points > 0)->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfCMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfCcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfCsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfC8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfDMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfDcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfDsZDEduM7oj0_aZo5A" name="invariant_Customer6" visibility="public">
<eAnnotations xmi:id="_hPIfD8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfEMZDEduM7oj0_aZo5A" key="invariant" value="self.name = 'Edward' and self.title = 'Mr.'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfEcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfEsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfE8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfFMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfFcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfFsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfF8ZDEduM7oj0_aZo5A" name="invariant_Customer11" visibility="public">
<eAnnotations xmi:id="_hPIfGMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfGcZDEduM7oj0_aZo5A" key="invariant" value="Set{1, 2, 3 }->iterate(i : Integer; sum : Integer = 0 | sum + i) = 0"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfGsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfG8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfHMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfHcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfHsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfH8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfIMZDEduM7oj0_aZo5A" name="invariant_Customer4" visibility="public">
<eAnnotations xmi:id="_hPIfIcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfIsZDEduM7oj0_aZo5A" key="invariant" value="self.name = 'Edward'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfI8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfJMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfJcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfJsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfJ8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfKMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfKcZDEduM7oj0_aZo5A" name="invariant_myInvariant23" visibility="public">
<eAnnotations xmi:id="_hPIfKsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfK8ZDEduM7oj0_aZo5A" key="invariant" value="self.name = 'Edward'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfLMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfLcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfLsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfL8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfMMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfMcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfMsZDEduM7oj0_aZo5A" name="invariant_Customer2" visibility="public">
<eAnnotations xmi:id="_hPIfM8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfNMZDEduM7oj0_aZo5A" key="invariant" value="name = 'Edward'"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfNcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfNsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfN8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfOMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfOcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfOsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfO8ZDEduM7oj0_aZo5A" name="invariant_Customer12" visibility="public">
<eAnnotations xmi:id="_hPIfPMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfPcZDEduM7oj0_aZo5A" key="invariant" value="programs->size() = cards->select(valid = true)->size()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfPsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfP8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfQMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfQcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfQsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfQ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfRMZDEduM7oj0_aZo5A" name="invariant_sizesAgree" visibility="public">
<eAnnotations xmi:id="_hPIfRcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfRsZDEduM7oj0_aZo5A" key="invariant" value="programs->size() = cards->select(valid = true)->size()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfR8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfSMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfScZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfSsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfS8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfTMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfTcZDEduM7oj0_aZo5A" name="invariant_Customer1" visibility="public">
<eAnnotations xmi:id="_hPIfTsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfT8ZDEduM7oj0_aZo5A" key="invariant" value="cards->select(valid = true)->size() > 1"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfUMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfUcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfUsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfU8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfVMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfVcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfVsZDEduM7oj0_aZo5A" name="invariant_ANY" visibility="public">
<eAnnotations xmi:id="_hPIfV8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfWMZDEduM7oj0_aZo5A" key="invariant" value="self.memberships.account->any(number &lt; 10000)->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfWcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfWsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfW8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfXMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfXcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfXsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfX8ZDEduM7oj0_aZo5A" name="invariant_ofAge" visibility="public">
<eAnnotations xmi:id="_hPIfYMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfYcZDEduM7oj0_aZo5A" key="invariant" value="age >= 18"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfYsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfY8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfZMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfZcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfZsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfZ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIfaMZDEduM7oj0_aZo5A" name="CustomerCard">
<ownedAttribute xmi:id="_hPIfacZDEduM7oj0_aZo5A" name="valid" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIfasZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfa8ZDEduM7oj0_aZo5A" key="derive" value="true"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfbMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIfbcZDEduM7oj0_aZo5A" name="printedName" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIfbsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfb8ZDEduM7oj0_aZo5A" key="derive" value="owner.title.concat(' ').concat(owner.name)"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfcMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIfccZDEduM7oj0_aZo5A" name="color" visibility="public" type="_hPIf6MZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfcsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIfc8ZDEduM7oj0_aZo5A" name="myLevel" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true" isReadOnly="true" isDerived="true" aggregation="composite" association="_hPIf68ZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hPIfdMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfdcZDEduM7oj0_aZo5A" key="derive" value="membership.currentLevel"/>
</eAnnotations>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfdsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIfd8ZDEduM7oj0_aZo5A" name="owner" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIf7cZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfeMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIfecZDEduM7oj0_aZo5A" name="transactions" type="_hO-uesZDEduM7oj0_aZo5A" association="_hPIf7sZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIfesZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfe8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIffMZDEduM7oj0_aZo5A" name="membership" type="_hPIf78ZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgpcZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIffcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIffsZDEduM7oj0_aZo5A" name="goodThru" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgqsZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIff8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIfgMZDEduM7oj0_aZo5A" name="validFrom" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgrMZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfgcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hPIfgsZDEduM7oj0_aZo5A" name="invariant_CustomerCard3" visibility="public">
<eAnnotations xmi:id="_hPIfg8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfhMZDEduM7oj0_aZo5A" key="invariant" value="self.owner.programs->size() > 0"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfhcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfhsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfh8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfiMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIficZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfisZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfi8ZDEduM7oj0_aZo5A" name="getTransactions" visibility="public">
<eAnnotations xmi:id="_hPIfjMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfjcZDEduM7oj0_aZo5A" key="body" value="transactions->select(date.isAfter(from) and date.isBefore(until))"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfjsZDEduM7oj0_aZo5A" type="_hO-uesZDEduM7oj0_aZo5A" direction="return">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIfj8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfkMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfkcZDEduM7oj0_aZo5A" name="from" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfksZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfk8ZDEduM7oj0_aZo5A" name="until" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIflMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIflcZDEduM7oj0_aZo5A" name="invariant_THIS" visibility="public">
<eAnnotations xmi:id="_hPIflsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfl8ZDEduM7oj0_aZo5A" key="invariant" value="let correctDate : Boolean = self.validFrom.isBefore(Date::now) and self.goodThru.isAfter(Date::now) in if valid then correctDate = false else correctDate = true endif"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfmMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfmcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfmsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfm8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfnMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfncZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfnsZDEduM7oj0_aZo5A" name="getTotalPoints" visibility="public">
<eAnnotations xmi:id="_hPIfn8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfoMZDEduM7oj0_aZo5A" key="body" value="transactions->select(date.isAfter(d)).points->sum()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfocZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfosZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfo8ZDEduM7oj0_aZo5A" name="d" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfpMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfpcZDEduM7oj0_aZo5A" name="invariant_CustomerCard1" visibility="public">
<eAnnotations xmi:id="_hPIfpsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfp8ZDEduM7oj0_aZo5A" key="invariant" value="goodThru.isAfter(Date::now)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfqMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfqcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfqsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfq8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfrMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfrcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfrsZDEduM7oj0_aZo5A" name="invariant_ofAge" visibility="public">
<eAnnotations xmi:id="_hPIfr8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfsMZDEduM7oj0_aZo5A" key="invariant" value="owner.age >= 18"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfscZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfssZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfs8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIftMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIftcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIftsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIft8ZDEduM7oj0_aZo5A" name="invariant_CustomerCard2" visibility="public">
<eAnnotations xmi:id="_hPIfuMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfucZDEduM7oj0_aZo5A" key="invariant" value="self.owner.dateOfBirth.isBefore(Date::now)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfusZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfu8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfvMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfvcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfvsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfv8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfwMZDEduM7oj0_aZo5A" name="invariant_checkDates" visibility="public">
<eAnnotations xmi:id="_hPIfwcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfwsZDEduM7oj0_aZo5A" key="invariant" value="validFrom.isBefore(goodThru)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfw8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfxMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfxcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfxsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfx8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfyMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIfycZDEduM7oj0_aZo5A" name="invariant_CustomerCard4" visibility="public">
<eAnnotations xmi:id="_hPIfysZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIfy8ZDEduM7oj0_aZo5A" key="invariant" value="self.transactions->select(points > 100)->notEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIfzMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfzcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIfzsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIfz8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf0MZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf0cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIf0sZDEduM7oj0_aZo5A" name="Date">
<ownedAttribute xmi:id="_hPIf08ZDEduM7oj0_aZo5A" name="day" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf1MZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_-ur-ENJREdu2SZQwB5ueUg" name="now" isStatic="true" isReadOnly="true"/>
<ownedOperation xmi:id="_hPIf1cZDEduM7oj0_aZo5A" name="isBefore" visibility="public" isStatic="true" isQuery="true">
<ownedParameter xmi:id="_hPIf1sZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf18ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf2MZDEduM7oj0_aZo5A" name="t" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf2cZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIf2sZDEduM7oj0_aZo5A" name="isAfter" visibility="public" isStatic="true" isQuery="true">
<ownedParameter xmi:id="_hPIf28ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf3MZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf3cZDEduM7oj0_aZo5A" name="t" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf3sZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIf38ZDEduM7oj0_aZo5A" name="fromYMD" visibility="public" isStatic="true" isQuery="true">
<ownedParameter xmi:id="_hPIf4MZDEduM7oj0_aZo5A" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf4cZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf4sZDEduM7oj0_aZo5A" name="k" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf48ZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf5MZDEduM7oj0_aZo5A" name="i" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf5cZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf5sZDEduM7oj0_aZo5A" name="j" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf58ZDEduM7oj0_aZo5A" value="1"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_hPIf6MZDEduM7oj0_aZo5A" name="Color">
<ownedLiteral xmi:id="_hPIf6cZDEduM7oj0_aZo5A" name="silver"/>
<ownedLiteral xmi:id="_hPIf6sZDEduM7oj0_aZo5A" name="gold"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIf68ZDEduM7oj0_aZo5A" memberEnd="_hPIfc8ZDEduM7oj0_aZo5A _hPIf7MZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIf7MZDEduM7oj0_aZo5A" type="_hPIfaMZDEduM7oj0_aZo5A" association="_hPIf68ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIf7cZDEduM7oj0_aZo5A" memberEnd="_hPIensZDEduM7oj0_aZo5A _hPIfd8ZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIf7sZDEduM7oj0_aZo5A" memberEnd="_hO-ue8ZDEduM7oj0_aZo5A _hPIfecZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIf78ZDEduM7oj0_aZo5A" name="Membership">
<ownedAttribute xmi:id="_hPIf8MZDEduM7oj0_aZo5A" name="membershipAttr" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf8cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIf8sZDEduM7oj0_aZo5A" name="currentLevel" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgVcZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf88ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIf9MZDEduM7oj0_aZo5A" name="account" type="_hPIgVsZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgo8ZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf9cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIf9sZDEduM7oj0_aZo5A" name="card" type="_hPIfaMZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgpcZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf98ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIf-MZDEduM7oj0_aZo5A" name="participants" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgpsZDEduM7oj0_aZo5A"/>
<ownedAttribute xmi:id="_hPIf-cZDEduM7oj0_aZo5A" name="programs" type="_hO-uuMZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgqMZDEduM7oj0_aZo5A"/>
<ownedOperation xmi:id="_hPIf-sZDEduM7oj0_aZo5A" name="invariant_Membership4" visibility="public">
<eAnnotations xmi:id="_hPIf-8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIf_MZDEduM7oj0_aZo5A" key="invariant" value="account->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIf_cZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIf_sZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIf_8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgAMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgAcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgAsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgA8ZDEduM7oj0_aZo5A" name="getCurrentLevelName" visibility="public">
<eAnnotations xmi:id="_hPIgBMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgBcZDEduM7oj0_aZo5A" key="body" value="currentLevel.name"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgBsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgB8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgCMZDEduM7oj0_aZo5A" name="invariant_correctCard" visibility="public">
<eAnnotations xmi:id="_hPIgCcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgCsZDEduM7oj0_aZo5A" key="invariant" value="participants.cards->includes(self.card)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgC8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgDMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgDcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgDsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgD8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgEMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgEcZDEduM7oj0_aZo5A" name="invariant_Membership3" visibility="public">
<eAnnotations xmi:id="_hPIgEsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgE8ZDEduM7oj0_aZo5A" key="invariant" value="programs.levels->includes(currentLevel)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgFMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgFcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgFsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgF8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgGMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgGcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgGsZDEduM7oj0_aZo5A" name="invariant_Membership5" visibility="public">
<eAnnotations xmi:id="_hPIgG8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgHMZDEduM7oj0_aZo5A" key="invariant" value="programs.levels->includes(currentLevel)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgHcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgHsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgH8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgIMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgIcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgIsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgI8ZDEduM7oj0_aZo5A" name="invariant_Membership2" visibility="public">
<eAnnotations xmi:id="_hPIgJMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgJcZDEduM7oj0_aZo5A" key="invariant" value="participants.cards.membership->includes(self)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgJsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgJ8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgKMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgKcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgKsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgK8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgLMZDEduM7oj0_aZo5A" name="invariant_noEarnings" visibility="public">
<eAnnotations xmi:id="_hPIgLcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgLsZDEduM7oj0_aZo5A" key="invariant" value="programs.partners.deliveredServices->forAll(pointsEarned = 0) implies account->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgL8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgMMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgMcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgMsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgM8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgNMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgNcZDEduM7oj0_aZo5A" name="invariant_Membership1" visibility="public">
<eAnnotations xmi:id="_hPIgNsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgN8ZDEduM7oj0_aZo5A" key="invariant" value="account.points >= 0 or account->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgOMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgOcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgOsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgO8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgPMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgPcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgPsZDEduM7oj0_aZo5A" name="invariant_noEarnings2" visibility="public">
<eAnnotations xmi:id="_hPIgP8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgQMZDEduM7oj0_aZo5A" key="invariant" value="programs.isSaving implies account->isEmpty()"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgQcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgQsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgQ8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgRMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgRcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgRsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgR8ZDEduM7oj0_aZo5A" name="membershipOper" visibility="public">
<ownedParameter xmi:id="_hPIgSMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgScZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgSsZDEduM7oj0_aZo5A" name="c" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgS8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgTMZDEduM7oj0_aZo5A" name="invariant_levelAndColor" visibility="public">
<eAnnotations xmi:id="_hPIgTcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgTsZDEduM7oj0_aZo5A" key="invariant" value="currentLevel.name = 'Silver' implies card.color = Color::silver and currentLevel.name = 'Gold' implies card.color = Color::gold"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgT8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgUMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgUcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgUsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgU8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgVMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgVcZDEduM7oj0_aZo5A" memberEnd="_hO-tF8ZDEduM7oj0_aZo5A _hPIf8sZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIgVsZDEduM7oj0_aZo5A" name="LoyaltyAccount">
<ownedAttribute xmi:id="_hPIgV8ZDEduM7oj0_aZo5A" name="totalPointsEarned" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIgWMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgWcZDEduM7oj0_aZo5A" key="derive" value="transactions->select(oclIsTypeOf(Earning)).points->sum()"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgWsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgW8ZDEduM7oj0_aZo5A" name="points" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIgXMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgXcZDEduM7oj0_aZo5A" key="derive" value="0"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgXsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgX8ZDEduM7oj0_aZo5A" name="number" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgYMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgYcZDEduM7oj0_aZo5A" name="usedServices" type="_hO-tz8ZDEduM7oj0_aZo5A" association="_hPIgosZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIgYsZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgY8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgZMZDEduM7oj0_aZo5A" name="membership" type="_hPIf78ZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIgo8ZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgZcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgZsZDEduM7oj0_aZo5A" name="transactions" type="_hO-uesZDEduM7oj0_aZo5A" association="_hPIgpMZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIgZ8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgaMZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hPIgacZDEduM7oj0_aZo5A" name="pre_isEmpty_1" visibility="public">
<eAnnotations xmi:id="_hPIgasZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIga8ZDEduM7oj0_aZo5A" key="body" value="true"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgbMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgbcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgbsZDEduM7oj0_aZo5A" name="getCustomerName" visibility="public">
<eAnnotations xmi:id="_hPIgb8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgcMZDEduM7oj0_aZo5A" key="body" value="membership.card.owner.name"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgccZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgcsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgc8ZDEduM7oj0_aZo5A" name="invariant_transactions" visibility="public">
<eAnnotations xmi:id="_hPIgdMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgdcZDEduM7oj0_aZo5A" key="invariant" value="transactions.points->exists(p : Integer | p = 500)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgdsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgd8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgeMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgecZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgesZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIge8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgfMZDEduM7oj0_aZo5A" name="isEmpty" visibility="public">
<eAnnotations xmi:id="_hPIgfcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_hPIgfsZDEduM7oj0_aZo5A" key="body" value="assert pre_isEmpty_1(); &#xA; // TODO: implement this method &#xA; // Ensure that you remove @generated or mark it @generated NOT body &#xA; assert post_isEmpty_1(); &#xA; throw new UnsupportedOperationException(); &#xA; "/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgf8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIggMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIggcZDEduM7oj0_aZo5A" name="invariant_points" visibility="public">
<eAnnotations xmi:id="_hPIggsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgg8ZDEduM7oj0_aZo5A" key="invariant" value="points > 0 implies transactions->exists(t | t.points > 0)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIghMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIghcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIghsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgh8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgiMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgicZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgisZDEduM7oj0_aZo5A" name="invariant_oneOwner" visibility="public">
<eAnnotations xmi:id="_hPIgi8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIgjMZDEduM7oj0_aZo5A" key="invariant" value="transactions.card.owner->asSet()->size() = 1"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIgjcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgjsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgj8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgkMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgkcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgksZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgk8ZDEduM7oj0_aZo5A" name="burn" visibility="public">
<ownedParameter xmi:id="_hPIglMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIglcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIglsZDEduM7oj0_aZo5A" name="i" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgl8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIgmMZDEduM7oj0_aZo5A" name="earn" visibility="public">
<ownedParameter xmi:id="_hPIgmcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgmsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIgm8ZDEduM7oj0_aZo5A" name="i" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgnMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgosZDEduM7oj0_aZo5A" memberEnd="_hO-t3sZDEduM7oj0_aZo5A _hPIgYcZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgo8ZDEduM7oj0_aZo5A" memberEnd="_hPIgZMZDEduM7oj0_aZo5A _hPIf9MZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgpMZDEduM7oj0_aZo5A" memberEnd="_hO-ufcZDEduM7oj0_aZo5A _hPIgZsZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgpcZDEduM7oj0_aZo5A" memberEnd="_hPIf9sZDEduM7oj0_aZo5A _hPIffMZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgpsZDEduM7oj0_aZo5A" memberEnd="_hPIf-MZDEduM7oj0_aZo5A _hPIgp8ZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgp8ZDEduM7oj0_aZo5A" type="_hPIf78ZDEduM7oj0_aZo5A" association="_hPIgpsZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgqMZDEduM7oj0_aZo5A" memberEnd="_hPIf-cZDEduM7oj0_aZo5A _hPIgqcZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgqcZDEduM7oj0_aZo5A" type="_hPIf78ZDEduM7oj0_aZo5A" association="_hPIgqMZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgqsZDEduM7oj0_aZo5A" memberEnd="_hPIffsZDEduM7oj0_aZo5A _hPIgq8ZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgq8ZDEduM7oj0_aZo5A" type="_hPIfaMZDEduM7oj0_aZo5A" association="_hPIgqsZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgrMZDEduM7oj0_aZo5A" memberEnd="_hPIfgMZDEduM7oj0_aZo5A _hPIgrcZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgrcZDEduM7oj0_aZo5A" type="_hPIfaMZDEduM7oj0_aZo5A" association="_hPIgrMZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_hPIgrsZDEduM7oj0_aZo5A" name="Gender">
<ownedLiteral xmi:id="_hPIgr8ZDEduM7oj0_aZo5A" name="male"/>
<ownedLiteral xmi:id="_hPIgsMZDEduM7oj0_aZo5A" name="female"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgscZDEduM7oj0_aZo5A" memberEnd="_hPIer8ZDEduM7oj0_aZo5A _hPIgssZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgssZDEduM7oj0_aZo5A" type="_hPIencZDEduM7oj0_aZo5A" association="_hPIgscZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgs8ZDEduM7oj0_aZo5A" memberEnd="_hPIetMZDEduM7oj0_aZo5A _hPIgtMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgtMZDEduM7oj0_aZo5A" type="_hPIencZDEduM7oj0_aZo5A" association="_hPIgs8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgtcZDEduM7oj0_aZo5A" memberEnd="_hO-uucZDEduM7oj0_aZo5A _hPIeu8ZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgtsZDEduM7oj0_aZo5A" memberEnd="_hPIewMZDEduM7oj0_aZo5A _hPIgt8ZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgt8ZDEduM7oj0_aZo5A" type="_hPIencZDEduM7oj0_aZo5A" association="_hPIgtsZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIguMZDEduM7oj0_aZo5A" memberEnd="_hO-uxMZDEduM7oj0_aZo5A _hPIgucZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgucZDEduM7oj0_aZo5A" type="_hO-uuMZDEduM7oj0_aZo5A" association="_hPIguMZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgusZDEduM7oj0_aZo5A" memberEnd="_hO-uNcZDEduM7oj0_aZo5A _hO-uycZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgu8ZDEduM7oj0_aZo5A" memberEnd="_hO-tGsZDEduM7oj0_aZo5A _hO-uy8ZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgvMZDEduM7oj0_aZo5A" memberEnd="_hO-uzcZDEduM7oj0_aZo5A _hPIgvcZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgvcZDEduM7oj0_aZo5A" type="_hO-uuMZDEduM7oj0_aZo5A" association="_hPIgvMZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgvsZDEduM7oj0_aZo5A" memberEnd="_hO-t4MZDEduM7oj0_aZo5A _hO-ug8ZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgv8ZDEduM7oj0_aZo5A" memberEnd="_hO-uhcZDEduM7oj0_aZo5A _hPIgwMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIgwMZDEduM7oj0_aZo5A" type="_hO-uesZDEduM7oj0_aZo5A" association="_hPIgv8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIgwcZDEduM7oj0_aZo5A" memberEnd="_hO-uO8ZDEduM7oj0_aZo5A _hO-t3MZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIgwsZDEduM7oj0_aZo5A" name="Earning">
<generalization xmi:id="_hPIgw8ZDEduM7oj0_aZo5A" general="_hO-uesZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIgxMZDEduM7oj0_aZo5A" name="Container_RandL">
<ownedAttribute xmi:id="_hPIgxcZDEduM7oj0_aZo5A" name="ref_RandL_Transaction" type="_hO-uesZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIg78ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIgxsZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgx8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgyMZDEduM7oj0_aZo5A" name="ref_RandL_Burning" type="_hPIg8cZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhKcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIgycZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgysZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgy8ZDEduM7oj0_aZo5A" name="ref_RandL_ServiceLevel" type="_hO-tEcZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhK8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIgzMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIgzcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIgzsZDEduM7oj0_aZo5A" name="ref_RandL_LoyaltyAccount" type="_hPIgVsZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhLcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIgz8ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg0MZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg0cZDEduM7oj0_aZo5A" name="ref_RandL_Service" type="_hO-tz8ZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhL8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg0sZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg08ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg1MZDEduM7oj0_aZo5A" name="ref_RandL_ProgramPartner" type="_hO-uNMZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhMcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg1cZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg1sZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg18ZDEduM7oj0_aZo5A" name="ref_RandL_Date" visibility="public" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg2MZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg2cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg2sZDEduM7oj0_aZo5A" name="ref_RandL_Earning" type="_hPIgwsZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhM8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg28ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg3MZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg3cZDEduM7oj0_aZo5A" name="ref_RandL_Membership" type="_hPIf78ZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhNcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg3sZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg38ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg4MZDEduM7oj0_aZo5A" name="ref_RandL_TransactionReportLine" type="_hPIhN8ZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhi8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg4cZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg4sZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg48ZDEduM7oj0_aZo5A" name="ref_RandL_LoyaltyProgram" type="_hO-uuMZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhjcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg5MZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg5cZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg5sZDEduM7oj0_aZo5A" name="ref_RandL_CustomerCard" type="_hPIfaMZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhj8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg58ZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg6MZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg6cZDEduM7oj0_aZo5A" name="ref_RandL_TransactionReport" type="_hPIhUsZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhkcZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg6sZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg68ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIg7MZDEduM7oj0_aZo5A" name="ref_RandL_Customer" type="_hPIencZDEduM7oj0_aZo5A" isOrdered="true" aggregation="composite" association="_hPIhk8ZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIg7cZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg7sZDEduM7oj0_aZo5A"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIg78ZDEduM7oj0_aZo5A" memberEnd="_hPIgxcZDEduM7oj0_aZo5A _hPIg8MZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIg8MZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIg78ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIg8cZDEduM7oj0_aZo5A" name="Burning">
<generalization xmi:id="_hPIg8sZDEduM7oj0_aZo5A" general="_hO-uesZDEduM7oj0_aZo5A"/>
<ownedOperation xmi:id="_hPIg88ZDEduM7oj0_aZo5A" name="invariant_Burning3" visibility="public">
<eAnnotations xmi:id="_hPIg9MZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIg9cZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsTypeOf(Burning) = true"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIg9sZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg98ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIg-MZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg-cZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIg-sZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIg-8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIg_MZDEduM7oj0_aZo5A" name="invariant_Burning6" visibility="public">
<eAnnotations xmi:id="_hPIg_cZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIg_sZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsKindOf(Earning) = false"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIg_8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhAMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhAcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhAsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhA8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhBMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIhBcZDEduM7oj0_aZo5A" name="invariant_Burning1" visibility="public">
<eAnnotations xmi:id="_hPIhBsZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhB8ZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsKindOf(Transaction) = true"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIhCMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhCcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhCsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhC8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhDMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhDcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIhDsZDEduM7oj0_aZo5A" name="invariant_Burning5" visibility="public">
<eAnnotations xmi:id="_hPIhD8ZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhEMZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsTypeOf(Earning) = false"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIhEcZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhEsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhE8ZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhFMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhFcZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhFsZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIhF8ZDEduM7oj0_aZo5A" name="invariant_Burning4" visibility="public">
<eAnnotations xmi:id="_hPIhGMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhGcZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsKindOf(Burning) = true"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIhGsZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhG8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhHMZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhHcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhHsZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhH8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIhIMZDEduM7oj0_aZo5A" name="invariant_Burning2" visibility="public">
<eAnnotations xmi:id="_hPIhIcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhIsZDEduM7oj0_aZo5A" key="invariant" value="self.oclIsTypeOf(Transaction) = false"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIhI8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhJMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhJcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhJsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhJ8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhKMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhKcZDEduM7oj0_aZo5A" memberEnd="_hPIgyMZDEduM7oj0_aZo5A _hPIhKsZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhKsZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhKcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhK8ZDEduM7oj0_aZo5A" memberEnd="_hPIgy8ZDEduM7oj0_aZo5A _hPIhLMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhLMZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhK8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhLcZDEduM7oj0_aZo5A" memberEnd="_hPIgzsZDEduM7oj0_aZo5A _hPIhLsZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhLsZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhLcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhL8ZDEduM7oj0_aZo5A" memberEnd="_hPIg0cZDEduM7oj0_aZo5A _hPIhMMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhMMZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhL8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhMcZDEduM7oj0_aZo5A" memberEnd="_hPIg1MZDEduM7oj0_aZo5A _hPIhMsZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhMsZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhMcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhM8ZDEduM7oj0_aZo5A" memberEnd="_hPIg2sZDEduM7oj0_aZo5A _hPIhNMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhNMZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhM8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhNcZDEduM7oj0_aZo5A" memberEnd="_hPIg3cZDEduM7oj0_aZo5A _hPIhNsZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhNsZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhNcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIhN8ZDEduM7oj0_aZo5A" name="TransactionReportLine">
<ownedAttribute xmi:id="_hPIhOMZDEduM7oj0_aZo5A" name="serviceDesc" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhOcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhOsZDEduM7oj0_aZo5A" key="derive" value="transaction.generatedBy.description"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhO8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhPMZDEduM7oj0_aZo5A" name="partnerName" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhPcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhPsZDEduM7oj0_aZo5A" key="derive" value="transaction.generatedBy.partner.name"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhP8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhQMZDEduM7oj0_aZo5A" name="points" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhQcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhQsZDEduM7oj0_aZo5A" key="derive" value="transaction.points"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhQ8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhRMZDEduM7oj0_aZo5A" name="amount" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhRcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhRsZDEduM7oj0_aZo5A" key="derive" value="transaction.amount"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDoubleObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhR8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhSMZDEduM7oj0_aZo5A" name="transaction" type="_hO-uesZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIhUMZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhScZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhSsZDEduM7oj0_aZo5A" name="report" type="_hPIhUsZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIhgsZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhS8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhTMZDEduM7oj0_aZo5A" name="date" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIhicZDEduM7oj0_aZo5A">
<eAnnotations xmi:id="_hPIhTcZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhTsZDEduM7oj0_aZo5A" key="derive" value="transaction.date"/>
</eAnnotations>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhT8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhUMZDEduM7oj0_aZo5A" memberEnd="_hPIhSMZDEduM7oj0_aZo5A _hPIhUcZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhUcZDEduM7oj0_aZo5A" type="_hPIhN8ZDEduM7oj0_aZo5A" association="_hPIhUMZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_hPIhUsZDEduM7oj0_aZo5A" name="TransactionReport">
<ownedAttribute xmi:id="_hPIhU8ZDEduM7oj0_aZo5A" name="totalBurned" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhVMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhVcZDEduM7oj0_aZo5A" key="derive" value="lines.transaction->select(oclIsTypeOf(Burning)).points->sum()"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhVsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhV8ZDEduM7oj0_aZo5A" name="name" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhWMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhWcZDEduM7oj0_aZo5A" key="derive" value="card.owner.name"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhWsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhW8ZDEduM7oj0_aZo5A" name="number" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhXMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhXcZDEduM7oj0_aZo5A" key="derive" value="card.membership.account.number"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhXsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhX8ZDEduM7oj0_aZo5A" name="balance" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhYMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhYcZDEduM7oj0_aZo5A" key="derive" value="card.membership.account.points"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhYsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhY8ZDEduM7oj0_aZo5A" name="totalEarned" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<eAnnotations xmi:id="_hPIhZMZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhZcZDEduM7oj0_aZo5A" key="derive" value="lines.transaction->select(oclIsTypeOf(Earning)).points->sum()"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Integer"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhZsZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhZ8ZDEduM7oj0_aZo5A" name="lines" type="_hPIhN8ZDEduM7oj0_aZo5A" association="_hPIhgsZDEduM7oj0_aZo5A">
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_hPIhaMZDEduM7oj0_aZo5A" value="*"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhacZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhasZDEduM7oj0_aZo5A" name="card" type="_hPIfaMZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIhg8ZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIha8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhbMZDEduM7oj0_aZo5A" name="until" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIhhcZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhbcZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedAttribute xmi:id="_hPIhbsZDEduM7oj0_aZo5A" name="from" type="_hPIf0sZDEduM7oj0_aZo5A" isOrdered="true" association="_hPIhh8ZDEduM7oj0_aZo5A">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhb8ZDEduM7oj0_aZo5A"/>
</ownedAttribute>
<ownedOperation xmi:id="_hPIhcMZDEduM7oj0_aZo5A" name="invariant_cycle" visibility="public">
<eAnnotations xmi:id="_hPIhccZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhcsZDEduM7oj0_aZo5A" key="invariant" value="card.transactions->includesAll(lines.transaction)"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIhc8ZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhdMZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhdcZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhdsZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhd8ZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIheMZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:id="_hPIhecZDEduM7oj0_aZo5A" name="invariant_dates" visibility="public">
<eAnnotations xmi:id="_hPIhesZDEduM7oj0_aZo5A" source="http://www.eclipse.org/OCL/examples/ocl">
<details xmi:id="_hPIhe8ZDEduM7oj0_aZo5A" key="invariant" value="lines.date->forAll(d | d.isBefore(until) and d.isAfter(from))"/>
</eAnnotations>
<ownedParameter xmi:id="_hPIhfMZDEduM7oj0_aZo5A" isOrdered="true" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Boolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhfcZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhfsZDEduM7oj0_aZo5A" name="diagnostics" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDiagnosticChain"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhf8ZDEduM7oj0_aZo5A"/>
</ownedParameter>
<ownedParameter xmi:id="_hPIhgMZDEduM7oj0_aZo5A" name="context" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EMap"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hPIhgcZDEduM7oj0_aZo5A"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhgsZDEduM7oj0_aZo5A" memberEnd="_hPIhZ8ZDEduM7oj0_aZo5A _hPIhSsZDEduM7oj0_aZo5A"/>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhg8ZDEduM7oj0_aZo5A" memberEnd="_hPIhasZDEduM7oj0_aZo5A _hPIhhMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhhMZDEduM7oj0_aZo5A" type="_hPIhUsZDEduM7oj0_aZo5A" association="_hPIhg8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhhcZDEduM7oj0_aZo5A" memberEnd="_hPIhbMZDEduM7oj0_aZo5A _hPIhhsZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhhsZDEduM7oj0_aZo5A" type="_hPIhUsZDEduM7oj0_aZo5A" association="_hPIhhcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhh8ZDEduM7oj0_aZo5A" memberEnd="_hPIhbsZDEduM7oj0_aZo5A _hPIhiMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhiMZDEduM7oj0_aZo5A" type="_hPIhUsZDEduM7oj0_aZo5A" association="_hPIhh8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhicZDEduM7oj0_aZo5A" memberEnd="_hPIhTMZDEduM7oj0_aZo5A _hPIhisZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhisZDEduM7oj0_aZo5A" type="_hPIhN8ZDEduM7oj0_aZo5A" association="_hPIhicZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhi8ZDEduM7oj0_aZo5A" memberEnd="_hPIg4MZDEduM7oj0_aZo5A _hPIhjMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhjMZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhi8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhjcZDEduM7oj0_aZo5A" memberEnd="_hPIg48ZDEduM7oj0_aZo5A _hPIhjsZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhjsZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhjcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhj8ZDEduM7oj0_aZo5A" memberEnd="_hPIg5sZDEduM7oj0_aZo5A _hPIhkMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhkMZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhj8ZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhkcZDEduM7oj0_aZo5A" memberEnd="_hPIg6cZDEduM7oj0_aZo5A _hPIhksZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhksZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhkcZDEduM7oj0_aZo5A"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_hPIhk8ZDEduM7oj0_aZo5A" memberEnd="_hPIg7MZDEduM7oj0_aZo5A _hPIhlMZDEduM7oj0_aZo5A">
<ownedEnd xmi:id="_hPIhlMZDEduM7oj0_aZo5A" type="_hPIgxMZDEduM7oj0_aZo5A" association="_hPIhk8ZDEduM7oj0_aZo5A"/>
</packagedElement>
</uml:Model>