blob: 1b1c08f792990edfb07871dcba925dc1afbf377e [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/4" xmlns:Ecore_1="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/4.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/4 pathmap://UML_PROFILES/Ecore.profile.uml#_B7dOIMEREduRdatXodjBjA http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
<uml:Model xmi:id="_unvTINppEdu-d8Dv4wLx9Q" name="ocl" URI="http://www.eclipse.org/ocl/1.1.0/OCL">
<packagedElement xmi:type="uml:Package" xmi:id="_unvTIdppEdu-d8Dv4wLx9Q" name="types" URI="http://www.eclipse.org/ocl/1.1.0/OCL/Types">
<packagedElement xmi:type="uml:Class" xmi:id="_unvTItppEdu-d8Dv4wLx9Q" name="AnyType">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTI9ppEdu-d8Dv4wLx9Q" parameter="_unvTJNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTJNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTJdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTJdppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTJNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTJtppEdu-d8Dv4wLx9Q" general="_unvTJ9ppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTJ9ppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTKNppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTKdppEdu-d8Dv4wLx9Q" actual="_unvTJdppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTKtppEdu-d8Dv4wLx9Q" name="BagType">
<ownedRule xmi:id="_ygRMEPy9EdynbPPIlCogHA" name="collection_type_name">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_ygRMEfy9EdynbPPIlCogHA">
<language>OCL</language>
<body>self.name = 'Bag(' + self.elementType.name + ')'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTK9ppEdu-d8Dv4wLx9Q" parameter="_unvTLNppEdu-d8Dv4wLx9Q _unvTLtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTLNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTLdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTLdppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTLNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTLtppEdu-d8Dv4wLx9Q" parameteredElement="_unvTL9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTL9ppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTLtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTMNppEdu-d8Dv4wLx9Q" general="_unvTMdppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTMdppEdu-d8Dv4wLx9Q" name="CollectionType_C_O">
<templateBinding xmi:id="_unvTMtppEdu-d8Dv4wLx9Q" signature="_unvTNtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTM9ppEdu-d8Dv4wLx9Q" actual="_unvTLdppEdu-d8Dv4wLx9Q" formal="_unvTN9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvTNNppEdu-d8Dv4wLx9Q" actual="_unvTL9ppEdu-d8Dv4wLx9Q" formal="_unvTOdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTNdppEdu-d8Dv4wLx9Q" clientDependency="_unvTP9ppEdu-d8Dv4wLx9Q" name="CollectionType">
<ownedRule xmi:id="_BEbZEPy-EdynbPPIlCogHA" name="collection_type_name">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_BEbZEfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>self.name = 'Collection(' + self.elementType.name + ')'</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_JjVfEPy-EdynbPPIlCogHA" name="no_invalid_values">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_JjVfEfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>self->forAll(not oclIsInvalid())</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTNtppEdu-d8Dv4wLx9Q" parameter="_unvTN9ppEdu-d8Dv4wLx9Q _unvTOdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTN9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvTONppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTONppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTN9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTOdppEdu-d8Dv4wLx9Q" parameteredElement="_unvTOtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTOtppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTOdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTO9ppEdu-d8Dv4wLx9Q" general="_unvTQNppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvTPNppEdu-d8Dv4wLx9Q" name="elementType" type="_unvTONppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvTR9ppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTPdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvTPtppEdu-d8Dv4wLx9Q" name="kind" visibility="public" type="_unvVd9ppEdu-d8Dv4wLx9Q" isOrdered="true" isReadOnly="true"/>
<interfaceRealization xmi:id="_unvTP9ppEdu-d8Dv4wLx9Q" client="_unvTNdppEdu-d8Dv4wLx9Q" supplier="_unvTwtppEdu-d8Dv4wLx9Q" contract="_unvTwtppEdu-d8Dv4wLx9Q"/>
<ownedOperation xmi:id="_unvTQ9ppEdu-d8Dv4wLx9Q" name="oclIterators" visibility="public">
<ownedParameter xmi:id="_unvTRNppEdu-d8Dv4wLx9Q" type="_unvTOtppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTRtppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_unvTRdppEdu-d8Dv4wLx9Q" value="*"/>
</ownedParameter>
</ownedOperation>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTQNppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTQdppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTQtppEdu-d8Dv4wLx9Q" actual="_unvTOtppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvTR9ppEdu-d8Dv4wLx9Q" memberEnd="_unvTPNppEdu-d8Dv4wLx9Q _unvTSNppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvTSNppEdu-d8Dv4wLx9Q" type="_unvTNdppEdu-d8Dv4wLx9Q" association="_unvTR9ppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTSdppEdu-d8Dv4wLx9Q" name="ElementType"/>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTStppEdu-d8Dv4wLx9Q" name="InvalidType">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTS9ppEdu-d8Dv4wLx9Q" parameter="_unvTTNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTTNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTTdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTTdppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTTNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTTtppEdu-d8Dv4wLx9Q" general="_unvTT9ppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTT9ppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTUNppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTUdppEdu-d8Dv4wLx9Q" actual="_unvTTdppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTUtppEdu-d8Dv4wLx9Q" name="MessageType">
<ownedRule xmi:id="_zJmngPy-EdynbPPIlCogHA" name="exclusive_signature">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_zJmngfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>referredOperation->size() + referredSignal->size() = 1</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_7uTzgPy-EdynbPPIlCogHA" name="operation_parameters">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_7uTzgfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>referredOperation->size()=1 implies
Set{1..self.ownedAttribute->size()}->forAll(i | self.ownedAttribute.at(i).cmpSlots(
referredOperation.ownedParameter.asProperty()->at(i))</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_8FWagPy-EdynbPPIlCogHA" name="signal_attributes">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_8FWagfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>referredSignal->size() = 1 implies
Set{1..self.ownedAttribute->size()}->forAll(i | self.ownedAttribute.asOrderedSet().at(i).cmpSlots(
referredSignal.ownedAttribute.asOrderedSet()->at(i))</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTU9ppEdu-d8Dv4wLx9Q" parameter="_unvTVNppEdu-d8Dv4wLx9Q _unvTVtppEdu-d8Dv4wLx9Q _unvTWNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTVNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTVdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTVdppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTVNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTVtppEdu-d8Dv4wLx9Q" parameteredElement="_unvTV9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTV9ppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTVtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTWNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTWdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTWdppEdu-d8Dv4wLx9Q" name="P" templateParameter="_unvTWNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTWtppEdu-d8Dv4wLx9Q" general="_unvTX9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvTW9ppEdu-d8Dv4wLx9Q" name="referredOperation" type="_unvTV9ppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvTZtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTXNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvTXdppEdu-d8Dv4wLx9Q" name="referredSignal" type="_unvTVdppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvTaNppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTXtppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedOperation xmi:id="_unvTYtppEdu-d8Dv4wLx9Q" name="oclProperties" visibility="public">
<ownedParameter xmi:id="_unvTY9ppEdu-d8Dv4wLx9Q" type="_unvTWdppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTZdppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_unvTZNppEdu-d8Dv4wLx9Q" value="*"/>
</ownedParameter>
</ownedOperation>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTX9ppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTYNppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTYdppEdu-d8Dv4wLx9Q" actual="_unvTV9ppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvTZtppEdu-d8Dv4wLx9Q" memberEnd="_unvTW9ppEdu-d8Dv4wLx9Q _unvTZ9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvTZ9ppEdu-d8Dv4wLx9Q" type="_unvTUtppEdu-d8Dv4wLx9Q" association="_unvTZtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvTaNppEdu-d8Dv4wLx9Q" memberEnd="_unvTXdppEdu-d8Dv4wLx9Q _unvTadppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvTadppEdu-d8Dv4wLx9Q" type="_unvTUtppEdu-d8Dv4wLx9Q" association="_unvTaNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTatppEdu-d8Dv4wLx9Q" name="OrderedSetType">
<ownedRule xmi:id="_olfIgPy-EdynbPPIlCogHA" name="collection_type_name">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_olfIgfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>self.name = 'OrderedSet(' + self.elementType.name + ')'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTa9ppEdu-d8Dv4wLx9Q" parameter="_unvTbNppEdu-d8Dv4wLx9Q _unvTbtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTbNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTbdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTbdppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTbNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTbtppEdu-d8Dv4wLx9Q" parameteredElement="_unvTb9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTb9ppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTbtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTcNppEdu-d8Dv4wLx9Q" general="_unvTcdppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTcdppEdu-d8Dv4wLx9Q" name="CollectionType_C_O">
<templateBinding xmi:id="_unvTctppEdu-d8Dv4wLx9Q" signature="_unvTNtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTc9ppEdu-d8Dv4wLx9Q" actual="_unvTbdppEdu-d8Dv4wLx9Q" formal="_unvTN9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvTdNppEdu-d8Dv4wLx9Q" actual="_unvTb9ppEdu-d8Dv4wLx9Q" formal="_unvTOdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTddppEdu-d8Dv4wLx9Q" name="PrimitiveType">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTdtppEdu-d8Dv4wLx9Q" parameter="_unvTd9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTd9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvTeNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTeNppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTd9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTedppEdu-d8Dv4wLx9Q" general="_unvTetppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTetppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTe9ppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTfNppEdu-d8Dv4wLx9Q" actual="_unvTeNppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTfdppEdu-d8Dv4wLx9Q" name="SequenceType">
<ownedRule xmi:id="_Yf-dgPy-EdynbPPIlCogHA" name="collection_type_name">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_Yf-dgfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>self.name = 'Sequence(' + self.elementType.name + ')'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTftppEdu-d8Dv4wLx9Q" parameter="_unvTf9ppEdu-d8Dv4wLx9Q _unvTgdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTf9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvTgNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTgNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTf9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTgdppEdu-d8Dv4wLx9Q" parameteredElement="_unvTgtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTgtppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTgdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTg9ppEdu-d8Dv4wLx9Q" general="_unvThNppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvThNppEdu-d8Dv4wLx9Q" name="CollectionType_C_O">
<templateBinding xmi:id="_unvThdppEdu-d8Dv4wLx9Q" signature="_unvTNtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvThtppEdu-d8Dv4wLx9Q" actual="_unvTgNppEdu-d8Dv4wLx9Q" formal="_unvTN9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvTh9ppEdu-d8Dv4wLx9Q" actual="_unvTgtppEdu-d8Dv4wLx9Q" formal="_unvTOdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTiNppEdu-d8Dv4wLx9Q" name="SetType">
<ownedRule xmi:id="_lwXVgPy-EdynbPPIlCogHA" name="collection_type_name">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_lwXVgfy-EdynbPPIlCogHA">
<language>OCL</language>
<body>self.name = 'Set(' + self.elementType.name + ')'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTidppEdu-d8Dv4wLx9Q" parameter="_unvTitppEdu-d8Dv4wLx9Q _unvTjNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTitppEdu-d8Dv4wLx9Q" parameteredElement="_unvTi9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTi9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTitppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTjNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTjdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTjdppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTjNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTjtppEdu-d8Dv4wLx9Q" general="_unvTj9ppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTj9ppEdu-d8Dv4wLx9Q" name="CollectionType_C_O">
<templateBinding xmi:id="_unvTkNppEdu-d8Dv4wLx9Q" signature="_unvTNtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTkdppEdu-d8Dv4wLx9Q" actual="_unvTi9ppEdu-d8Dv4wLx9Q" formal="_unvTN9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvTktppEdu-d8Dv4wLx9Q" actual="_unvTjdppEdu-d8Dv4wLx9Q" formal="_unvTOdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_-PCtwNLlEd6hmvYFRJXZTA" name="TemplateParameterType">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_buUkUNLoEd6hmvYFRJXZTA" parameter="_buUkU9LoEd6hmvYFRJXZTA">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_buUkU9LoEd6hmvYFRJXZTA" parameteredElement="_buUkVNLoEd6hmvYFRJXZTA">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_buUkVNLoEd6hmvYFRJXZTA" name="O" templateParameter="_buUkU9LoEd6hmvYFRJXZTA"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_JnFSINLoEd6hmvYFRJXZTA" general="_buUkVNLoEd6hmvYFRJXZTA"/>
<ownedAttribute xmi:id="_HXbOkNLmEd6hmvYFRJXZTA" name="specification">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kRH9wNLmEd6hmvYFRJXZTA"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTk9ppEdu-d8Dv4wLx9Q" name="TupleType">
<ownedRule xmi:id="_OTfl8Py_EdynbPPIlCogHA" name="tuple_type_name">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_OTfl8fy_EdynbPPIlCogHA">
<language>OCL</language>
<body>name =
'Tuple('.concat (
Sequence{1..allProperties()->size()}->iterate (pn; s: String = '' |
let p: Property = allProperties()->at (pn) in (
s.concat (
(if (pn>1) then ',' else '' endif)
.concat (p.name).concat (': ')
.concat (p.type.name)
)
)
)
).concat (')')</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_Pbg98Py_EdynbPPIlCogHA" name="part_names_unique">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_Pbg98fy_EdynbPPIlCogHA">
<language>OCL</language>
<body>true</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_S0JtsPy_EdynbPPIlCogHA" name="features_only_properties">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_S0Jtsfy_EdynbPPIlCogHA">
<language>OCL</language>
<body>feature->forAll (f | f.oclIsTypeOf(Property))</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTlNppEdu-d8Dv4wLx9Q" parameter="_unvTldppEdu-d8Dv4wLx9Q _unvTl9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTldppEdu-d8Dv4wLx9Q" parameteredElement="_unvTltppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTltppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTldppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTl9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvTmNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTmNppEdu-d8Dv4wLx9Q" name="P" templateParameter="_unvTl9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTmdppEdu-d8Dv4wLx9Q" general="_unvTmtppEdu-d8Dv4wLx9Q"/>
<ownedOperation xmi:id="_unvTndppEdu-d8Dv4wLx9Q" name="oclProperties" visibility="public">
<ownedParameter xmi:id="_unvTntppEdu-d8Dv4wLx9Q" type="_unvTmNppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvToNppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_unvTn9ppEdu-d8Dv4wLx9Q" value="*"/>
</ownedParameter>
</ownedOperation>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTmtppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTm9ppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTnNppEdu-d8Dv4wLx9Q" actual="_unvTltppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTodppEdu-d8Dv4wLx9Q" name="TypeType">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTotppEdu-d8Dv4wLx9Q" parameter="_unvTo9ppEdu-d8Dv4wLx9Q _unvTpdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTo9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvTpNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTpNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvTo9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTpdppEdu-d8Dv4wLx9Q" parameteredElement="_unvTptppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTptppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTpdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTp9ppEdu-d8Dv4wLx9Q" general="_unvTqdppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvTqNppEdu-d8Dv4wLx9Q" name="referredType" type="_unvTpNppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvTrNppEdu-d8Dv4wLx9Q">
<eAnnotations xmi:id="_fPg-UP17EduIT4IRhWIERQ" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_gYSkQP17EduIT4IRhWIERQ" key="suppressedSetVisibility" value="true"/>
</eAnnotations>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTqdppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTqtppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTq9ppEdu-d8Dv4wLx9Q" actual="_unvTptppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvTrNppEdu-d8Dv4wLx9Q" memberEnd="_unvTqNppEdu-d8Dv4wLx9Q _unvTrdppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvTrdppEdu-d8Dv4wLx9Q" type="_unvTodppEdu-d8Dv4wLx9Q" association="_unvTrNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvTrtppEdu-d8Dv4wLx9Q" name="VoidType">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvTr9ppEdu-d8Dv4wLx9Q" parameter="_unvTsNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTsNppEdu-d8Dv4wLx9Q" parameteredElement="_unvTsdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvTsdppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvTsNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvTstppEdu-d8Dv4wLx9Q" general="_unvTs9ppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvTs9ppEdu-d8Dv4wLx9Q" name="PredefinedType_O">
<templateBinding xmi:id="_unvTtNppEdu-d8Dv4wLx9Q" signature="_unvU9tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvTtdppEdu-d8Dv4wLx9Q" actual="_unvTsdppEdu-d8Dv4wLx9Q" formal="_unvU99ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<profileApplication xmi:id="_u3Gj4NXZEd6ci-srLwOkAQ">
<eAnnotations xmi:id="_u3Gj4dXZEd6ci-srLwOkAQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
</eAnnotations>
<appliedProfile href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
</profileApplication>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_unvU_9ppEdu-d8Dv4wLx9Q" name="expressions" URI="http://www.eclipse.org/ocl/1.1.0/OCL/Expressions">
<packagedElement xmi:type="uml:Class" xmi:id="_unvVANppEdu-d8Dv4wLx9Q" name="AssociationClassCallExp">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVAdppEdu-d8Dv4wLx9Q" parameter="_unvVAtppEdu-d8Dv4wLx9Q _unvVBNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVAtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVA9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVA9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVAtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVBNppEdu-d8Dv4wLx9Q" parameteredElement="_unvVBdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVBdppEdu-d8Dv4wLx9Q" name="P" templateParameter="_unvVBNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVBtppEdu-d8Dv4wLx9Q" general="_unvVCdppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVB9ppEdu-d8Dv4wLx9Q" name="referredAssociationClass" type="_unvVA9ppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvVRNppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVCNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVCdppEdu-d8Dv4wLx9Q" name="NavigationCallExp_C_P">
<templateBinding xmi:id="_unvVCtppEdu-d8Dv4wLx9Q" signature="_unvVDtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVC9ppEdu-d8Dv4wLx9Q" actual="_unvVA9ppEdu-d8Dv4wLx9Q" formal="_unvVD9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvVDNppEdu-d8Dv4wLx9Q" actual="_unvVBdppEdu-d8Dv4wLx9Q" formal="_unvVEdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVDdppEdu-d8Dv4wLx9Q" name="NavigationCallExp" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVDtppEdu-d8Dv4wLx9Q" parameter="_unvVD9ppEdu-d8Dv4wLx9Q _unvVEdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVD9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvVENppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVENppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVD9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVEdppEdu-d8Dv4wLx9Q" parameteredElement="_unvVEtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVEtppEdu-d8Dv4wLx9Q" name="P" templateParameter="_unvVEdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVE9ppEdu-d8Dv4wLx9Q" general="_unvVGdppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVFNppEdu-d8Dv4wLx9Q" name="qualifier" type="_unvVHNppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVQNppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVFtppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_unvVFdppEdu-d8Dv4wLx9Q" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvVF9ppEdu-d8Dv4wLx9Q" name="navigationSource" type="_unvVEtppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvVQtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVGNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVGdppEdu-d8Dv4wLx9Q" name="FeatureCallExp_C">
<templateBinding xmi:id="_unvVGtppEdu-d8Dv4wLx9Q" signature="_unvVINppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVG9ppEdu-d8Dv4wLx9Q" actual="_unvVENppEdu-d8Dv4wLx9Q" formal="_unvVIdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVHNppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_unvVHdppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVHtppEdu-d8Dv4wLx9Q" actual="_unvVENppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVH9ppEdu-d8Dv4wLx9Q" name="FeatureCallExp" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVINppEdu-d8Dv4wLx9Q" parameter="_unvVIdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVIdppEdu-d8Dv4wLx9Q" parameteredElement="_unvVItppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVItppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVIdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVI9ppEdu-d8Dv4wLx9Q" general="_unvVJtppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVJNppEdu-d8Dv4wLx9Q" name="markedPre" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVJdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVJtppEdu-d8Dv4wLx9Q" name="CallExp_C">
<templateBinding xmi:id="_unvVJ9ppEdu-d8Dv4wLx9Q" signature="_unvVKtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVKNppEdu-d8Dv4wLx9Q" actual="_unvVItppEdu-d8Dv4wLx9Q" formal="_unvVK9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVKdppEdu-d8Dv4wLx9Q" clientDependency="_unvVMNppEdu-d8Dv4wLx9Q" name="CallExp" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVKtppEdu-d8Dv4wLx9Q" parameter="_unvVK9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVK9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvVLNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVLNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVK9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVLdppEdu-d8Dv4wLx9Q" general="_unvVMdppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVLtppEdu-d8Dv4wLx9Q" name="source" type="_unvVMdppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVPtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVL9ppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<interfaceRealization xmi:id="_unvVMNppEdu-d8Dv4wLx9Q" client="_unvVKdppEdu-d8Dv4wLx9Q" supplier="_unvTvNppEdu-d8Dv4wLx9Q" contract="_unvTvNppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVMdppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_unvVMtppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVM9ppEdu-d8Dv4wLx9Q" actual="_unvVLNppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVNNppEdu-d8Dv4wLx9Q" clientDependency="_unvVOdppEdu-d8Dv4wLx9Q _unvVOtppEdu-d8Dv4wLx9Q" name="OCLExpression" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVNdppEdu-d8Dv4wLx9Q" parameter="_unvVNtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVNtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVN9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVN9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVNtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVONppEdu-d8Dv4wLx9Q" general="_unvVO9ppEdu-d8Dv4wLx9Q"/>
<interfaceRealization xmi:id="_unvVOdppEdu-d8Dv4wLx9Q" client="_unvVNNppEdu-d8Dv4wLx9Q" supplier="_unvTyNppEdu-d8Dv4wLx9Q" contract="_unvTyNppEdu-d8Dv4wLx9Q"/>
<interfaceRealization xmi:id="_unvVOtppEdu-d8Dv4wLx9Q" client="_unvVNNppEdu-d8Dv4wLx9Q" supplier="_unvTt9ppEdu-d8Dv4wLx9Q" contract="_unvTt9ppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVO9ppEdu-d8Dv4wLx9Q" name="TypedElement_C">
<templateBinding xmi:id="_unvVPNppEdu-d8Dv4wLx9Q" signature="_unvUz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVPdppEdu-d8Dv4wLx9Q" actual="_unvVN9ppEdu-d8Dv4wLx9Q" formal="_unvU0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVPtppEdu-d8Dv4wLx9Q" memberEnd="_unvVLtppEdu-d8Dv4wLx9Q _unvVP9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVP9ppEdu-d8Dv4wLx9Q" type="_unvVKdppEdu-d8Dv4wLx9Q" association="_unvVPtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVQNppEdu-d8Dv4wLx9Q" memberEnd="_unvVFNppEdu-d8Dv4wLx9Q _unvVQdppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVQdppEdu-d8Dv4wLx9Q" type="_unvVDdppEdu-d8Dv4wLx9Q" association="_unvVQNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVQtppEdu-d8Dv4wLx9Q" memberEnd="_unvVF9ppEdu-d8Dv4wLx9Q _unvVQ9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVQ9ppEdu-d8Dv4wLx9Q" type="_unvVDdppEdu-d8Dv4wLx9Q" association="_unvVQtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVRNppEdu-d8Dv4wLx9Q" memberEnd="_unvVB9ppEdu-d8Dv4wLx9Q _unvVRdppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVRdppEdu-d8Dv4wLx9Q" type="_unvVANppEdu-d8Dv4wLx9Q" association="_unvVRNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVRtppEdu-d8Dv4wLx9Q" name="BooleanLiteralExp">
<ownedRule xmi:id="_t-JkYPzAEdynbPPIlCogHA" name="boolean_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_t-JkYfzAEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type.name = 'Boolean'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVR9ppEdu-d8Dv4wLx9Q" parameter="_unvVSNppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVSNppEdu-d8Dv4wLx9Q" parameteredElement="_unvVSdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVSdppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVSNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVStppEdu-d8Dv4wLx9Q" general="_unvVTdppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVS9ppEdu-d8Dv4wLx9Q" name="booleanSymbol" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBooleanObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVTNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVTdppEdu-d8Dv4wLx9Q" name="PrimitiveLiteralExp_C">
<templateBinding xmi:id="_unvVTtppEdu-d8Dv4wLx9Q" signature="_unvVUdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVT9ppEdu-d8Dv4wLx9Q" actual="_unvVSdppEdu-d8Dv4wLx9Q" formal="_unvVUtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVUNppEdu-d8Dv4wLx9Q" name="PrimitiveLiteralExp" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVUdppEdu-d8Dv4wLx9Q" parameter="_unvVUtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVUtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVU9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVU9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVUtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVVNppEdu-d8Dv4wLx9Q" general="_unvVVdppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVVdppEdu-d8Dv4wLx9Q" name="LiteralExp_C">
<templateBinding xmi:id="_unvVVtppEdu-d8Dv4wLx9Q" signature="_unvVWdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVV9ppEdu-d8Dv4wLx9Q" actual="_unvVU9ppEdu-d8Dv4wLx9Q" formal="_unvVWtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVWNppEdu-d8Dv4wLx9Q" name="LiteralExp" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVWdppEdu-d8Dv4wLx9Q" parameter="_unvVWtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVWtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVW9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVW9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVWtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVXNppEdu-d8Dv4wLx9Q" general="_unvVXdppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVXdppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_unvVXtppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVX9ppEdu-d8Dv4wLx9Q" actual="_unvVW9ppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVYNppEdu-d8Dv4wLx9Q" name="CollectionItem">
<ownedRule xmi:id="_rMXj0PzBEdynbPPIlCogHA" name="item_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_rMXj0fzBEdynbPPIlCogHA">
<language>OCL</language>
<body>type = item.type</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVYdppEdu-d8Dv4wLx9Q" parameter="_unvVYtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVYtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVY9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVY9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVYtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVZNppEdu-d8Dv4wLx9Q" general="_unvVZtppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVZdppEdu-d8Dv4wLx9Q" name="item" type="_unvVadppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVddppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVZtppEdu-d8Dv4wLx9Q" name="CollectionLiteralPart_C">
<templateBinding xmi:id="_unvVZ9ppEdu-d8Dv4wLx9Q" signature="_unvVbdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVaNppEdu-d8Dv4wLx9Q" actual="_unvVY9ppEdu-d8Dv4wLx9Q" formal="_unvVbtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVadppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_unvVatppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVa9ppEdu-d8Dv4wLx9Q" actual="_unvVY9ppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVbNppEdu-d8Dv4wLx9Q" clientDependency="_unvVcdppEdu-d8Dv4wLx9Q" name="CollectionLiteralPart" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVbdppEdu-d8Dv4wLx9Q" parameter="_unvVbtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVbtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVb9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVb9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVbtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVcNppEdu-d8Dv4wLx9Q" general="_unvVctppEdu-d8Dv4wLx9Q"/>
<interfaceRealization xmi:id="_unvVcdppEdu-d8Dv4wLx9Q" client="_unvVbNppEdu-d8Dv4wLx9Q" supplier="_unvTyNppEdu-d8Dv4wLx9Q" contract="_unvTyNppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVctppEdu-d8Dv4wLx9Q" name="TypedElement_C">
<templateBinding xmi:id="_unvVc9ppEdu-d8Dv4wLx9Q" signature="_unvUz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVdNppEdu-d8Dv4wLx9Q" actual="_unvVb9ppEdu-d8Dv4wLx9Q" formal="_unvU0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVddppEdu-d8Dv4wLx9Q" memberEnd="_unvVZdppEdu-d8Dv4wLx9Q _unvVdtppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVdtppEdu-d8Dv4wLx9Q" type="_unvVYNppEdu-d8Dv4wLx9Q" association="_unvVddppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Enumeration" xmi:id="_unvVd9ppEdu-d8Dv4wLx9Q" name="CollectionKind">
<ownedLiteral xmi:id="_unvVeNppEdu-d8Dv4wLx9Q" name="Set"/>
<ownedLiteral xmi:id="_unvVedppEdu-d8Dv4wLx9Q" name="OrderedSet"/>
<ownedLiteral xmi:id="_unvVetppEdu-d8Dv4wLx9Q" name="Bag"/>
<ownedLiteral xmi:id="_unvVe9ppEdu-d8Dv4wLx9Q" name="Sequence"/>
<ownedLiteral xmi:id="_unvVfNppEdu-d8Dv4wLx9Q" name="Collection"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVfdppEdu-d8Dv4wLx9Q" name="CollectionLiteralExp">
<ownedRule xmi:id="_3uxJ4PzAEdynbPPIlCogHA" name="no_collection_instances">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_3uxJ4fzAEdynbPPIlCogHA">
<language>OCL</language>
<body>kind &lt;> CollectionKind::Collection</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_FNfY0PzBEdynbPPIlCogHA" name="set_kind">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_FNfY0fzBEdynbPPIlCogHA">
<language>OCL</language>
<body>kind = CollectionKind::Set implies type.oclIsKindOf(SetType)</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_Fgt20PzBEdynbPPIlCogHA" name="sequence_kind">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_Fgt20fzBEdynbPPIlCogHA">
<language>OCL</language>
<body>kind = CollectionKind::Sequence implies type.oclIsKindOf(SequenceType)</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_FpG90PzBEdynbPPIlCogHA" name="bag_kind">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_FpG90fzBEdynbPPIlCogHA">
<language>OCL</language>
<body>kind = CollectionKind::Bag implies type.oclIsKindOf(BagType)</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_Fxk9UPzBEdynbPPIlCogHA" name="element_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_Fxk9UfzBEdynbPPIlCogHA">
<language>OCL</language>
<body>type.oclAsType(CollectionType).elementType = part->iterate(p; c : Classifier = OclVoid | c.commonSuperType(p.type))</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVftppEdu-d8Dv4wLx9Q" parameter="_unvVf9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVf9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvVgNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVgNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVf9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVgdppEdu-d8Dv4wLx9Q" general="_unvVidppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVgtppEdu-d8Dv4wLx9Q" name="kind" visibility="public" type="_unvVd9ppEdu-d8Dv4wLx9Q" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVg9ppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvVhNppEdu-d8Dv4wLx9Q" name="part" type="_unvVjNppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVj9ppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVhtppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_unvVhdppEdu-d8Dv4wLx9Q" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvVh9ppEdu-d8Dv4wLx9Q" name="simpleRange" visibility="public" isOrdered="true" isReadOnly="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvViNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVidppEdu-d8Dv4wLx9Q" name="LiteralExp_C">
<templateBinding xmi:id="_unvVitppEdu-d8Dv4wLx9Q" signature="_unvVWdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVi9ppEdu-d8Dv4wLx9Q" actual="_unvVgNppEdu-d8Dv4wLx9Q" formal="_unvVWtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVjNppEdu-d8Dv4wLx9Q" name="CollectionLiteralPart_C">
<templateBinding xmi:id="_unvVjdppEdu-d8Dv4wLx9Q" signature="_unvVbdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVjtppEdu-d8Dv4wLx9Q" actual="_unvVgNppEdu-d8Dv4wLx9Q" formal="_unvVbtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVj9ppEdu-d8Dv4wLx9Q" memberEnd="_unvVhNppEdu-d8Dv4wLx9Q _unvVkNppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVkNppEdu-d8Dv4wLx9Q" type="_unvVfdppEdu-d8Dv4wLx9Q" association="_unvVj9ppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVkdppEdu-d8Dv4wLx9Q" name="CollectionRange">
<ownedRule xmi:id="_0w7qUPzBEdynbPPIlCogHA" name="range_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_0w7qUfzBEdynbPPIlCogHA">
<language>OCL</language>
<body>type = first.type.commonSuperType(last.type)</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVktppEdu-d8Dv4wLx9Q" parameter="_unvVk9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVk9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvVlNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVlNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVk9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVldppEdu-d8Dv4wLx9Q" general="_unvVmNppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVltppEdu-d8Dv4wLx9Q" name="first" type="_unvVm9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVntppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVl9ppEdu-d8Dv4wLx9Q" name="last" type="_unvVm9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVoNppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVmNppEdu-d8Dv4wLx9Q" name="CollectionLiteralPart_C">
<templateBinding xmi:id="_unvVmdppEdu-d8Dv4wLx9Q" signature="_unvVbdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVmtppEdu-d8Dv4wLx9Q" actual="_unvVlNppEdu-d8Dv4wLx9Q" formal="_unvVbtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVm9ppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_unvVnNppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVndppEdu-d8Dv4wLx9Q" actual="_unvVlNppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVntppEdu-d8Dv4wLx9Q" memberEnd="_unvVltppEdu-d8Dv4wLx9Q _unvVn9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVn9ppEdu-d8Dv4wLx9Q" type="_unvVkdppEdu-d8Dv4wLx9Q" association="_unvVntppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVoNppEdu-d8Dv4wLx9Q" memberEnd="_unvVl9ppEdu-d8Dv4wLx9Q _unvVodppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVodppEdu-d8Dv4wLx9Q" type="_unvVkdppEdu-d8Dv4wLx9Q" association="_unvVoNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVotppEdu-d8Dv4wLx9Q" name="EnumLiteralExp">
<ownedRule xmi:id="_9E65wPzBEdynbPPIlCogHA" name="enum_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_9E65wfzBEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type = referredEnumLiteral.enumeration</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVo9ppEdu-d8Dv4wLx9Q" parameter="_unvVpNppEdu-d8Dv4wLx9Q _unvVptppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVpNppEdu-d8Dv4wLx9Q" parameteredElement="_unvVpdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVpdppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVpNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVptppEdu-d8Dv4wLx9Q" parameteredElement="_unvVp9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVp9ppEdu-d8Dv4wLx9Q" name="EL" templateParameter="_unvVptppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVqNppEdu-d8Dv4wLx9Q" general="_unvVq9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVqdppEdu-d8Dv4wLx9Q" name="referredEnumLiteral" type="_unvVp9ppEdu-d8Dv4wLx9Q" isOrdered="true" association="_unvVrtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVqtppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVq9ppEdu-d8Dv4wLx9Q" name="LiteralExp_C">
<templateBinding xmi:id="_unvVrNppEdu-d8Dv4wLx9Q" signature="_unvVWdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVrdppEdu-d8Dv4wLx9Q" actual="_unvVpdppEdu-d8Dv4wLx9Q" formal="_unvVWtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVrtppEdu-d8Dv4wLx9Q" memberEnd="_unvVqdppEdu-d8Dv4wLx9Q _unvVr9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVr9ppEdu-d8Dv4wLx9Q" type="_unvVotppEdu-d8Dv4wLx9Q" association="_unvVrtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVsNppEdu-d8Dv4wLx9Q" name="IfExp">
<ownedRule xmi:id="_EAMCwPzCEdynbPPIlCogHA" name="boolean_condition">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_EAMCwfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>self.condition.type.oclIsKindOf(PrimitiveType) and self.condition.type.name = 'Boolean'</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_E6yCwPzCEdynbPPIlCogHA" name="if_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_E6yCwfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type = thenExpression.type.commonSuperType(elseExpression.type)</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVsdppEdu-d8Dv4wLx9Q" parameter="_unvVstppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVstppEdu-d8Dv4wLx9Q" parameteredElement="_unvVs9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVs9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVstppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVtNppEdu-d8Dv4wLx9Q" general="_unvVu9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVtdppEdu-d8Dv4wLx9Q" name="condition" type="_unvVu9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVvtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVttppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvVt9ppEdu-d8Dv4wLx9Q" name="thenExpression" type="_unvVu9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVwNppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVuNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvVudppEdu-d8Dv4wLx9Q" name="elseExpression" type="_unvVu9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_unvVwtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVutppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVu9ppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_unvVvNppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVvdppEdu-d8Dv4wLx9Q" actual="_unvVs9ppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVvtppEdu-d8Dv4wLx9Q" memberEnd="_unvVtdppEdu-d8Dv4wLx9Q _unvVv9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVv9ppEdu-d8Dv4wLx9Q" type="_unvVsNppEdu-d8Dv4wLx9Q" association="_unvVvtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVwNppEdu-d8Dv4wLx9Q" memberEnd="_unvVt9ppEdu-d8Dv4wLx9Q _unvVwdppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVwdppEdu-d8Dv4wLx9Q" type="_unvVsNppEdu-d8Dv4wLx9Q" association="_unvVwNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_unvVwtppEdu-d8Dv4wLx9Q" memberEnd="_unvVudppEdu-d8Dv4wLx9Q _unvVw9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_unvVw9ppEdu-d8Dv4wLx9Q" type="_unvVsNppEdu-d8Dv4wLx9Q" association="_unvVwtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVxNppEdu-d8Dv4wLx9Q" name="IntegerLiteralExp">
<ownedRule xmi:id="_ReT0wPzCEdynbPPIlCogHA" name="integer_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_ReT0wfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type.name = 'Integer'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVxdppEdu-d8Dv4wLx9Q" parameter="_unvVxtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvVxtppEdu-d8Dv4wLx9Q" parameteredElement="_unvVx9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvVx9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvVxtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvVyNppEdu-d8Dv4wLx9Q" general="_unvVy9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvVydppEdu-d8Dv4wLx9Q" name="integerSymbol" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EIntegerObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvVytppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="__Xe6AJNZEeGIv5gP20E_FQ" name="extendedIntegerSymbol" visibility="public" isOrdered="true" isReadOnly="true">
<eAnnotations xmi:id="_QSJh4JT7EeGpNZre7dx65Q" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_TXbQwJT7EeGpNZre7dx65Q" key="suppressedGetVisibility" value="true"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#ELongObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="__Xe6AZNZEeGIv5gP20E_FQ"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_BkOeYJNaEeGIv5gP20E_FQ" value="0"/>
</ownedAttribute>
<ownedAttribute xmi:id="_UEAzcJNaEeGIv5gP20E_FQ" name="longSymbol" visibility="public" isOrdered="true" isDerived="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#ELongObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UEAzcZNaEeGIv5gP20E_FQ"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvVy9ppEdu-d8Dv4wLx9Q" name="NumericLiteralExp_C">
<templateBinding xmi:id="_unvVzNppEdu-d8Dv4wLx9Q" signature="_unvVz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvVzdppEdu-d8Dv4wLx9Q" actual="_unvVx9ppEdu-d8Dv4wLx9Q" formal="_unvV0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvVztppEdu-d8Dv4wLx9Q" name="NumericLiteralExp" isAbstract="true">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvVz9ppEdu-d8Dv4wLx9Q" parameter="_unvV0NppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV0NppEdu-d8Dv4wLx9Q" parameteredElement="_unvV0dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvV0dppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvV0NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvV0tppEdu-d8Dv4wLx9Q" general="_unvV09ppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvV09ppEdu-d8Dv4wLx9Q" name="PrimitiveLiteralExp_C">
<templateBinding xmi:id="_unvV1NppEdu-d8Dv4wLx9Q" signature="_unvVUdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvV1dppEdu-d8Dv4wLx9Q" actual="_unvV0dppEdu-d8Dv4wLx9Q" formal="_unvVUtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvV1tppEdu-d8Dv4wLx9Q" name="UnlimitedNaturalLiteralExp">
<ownedRule xmi:id="_C3bjkPzFEdynbPPIlCogHA" name="natural_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_C3bjkfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type.name = 'UnlimitedNatural'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvV19ppEdu-d8Dv4wLx9Q" parameter="_unvV2NppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV2NppEdu-d8Dv4wLx9Q" parameteredElement="_unvV2dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvV2dppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvV2NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvV2tppEdu-d8Dv4wLx9Q" general="_unvV3tppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvV29ppEdu-d8Dv4wLx9Q" name="integerSymbol" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EIntegerObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvV3NppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvV3dppEdu-d8Dv4wLx9Q" name="unlimited" visibility="public" isOrdered="true" isReadOnly="true" isDerived="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EBoolean"/>
</ownedAttribute>
<ownedAttribute xmi:id="_zGudkJNaEeGIv5gP20E_FQ" name="extendedIntegerSymbol" visibility="public" isOrdered="true" isReadOnly="true">
<eAnnotations xmi:id="_ygedUJUEEeGpNZre7dx65Q" source="http://www.eclipse.org/emf/2002/GenModel">
<details xmi:id="_ygedUZUEEeGpNZre7dx65Q" key="suppressedGetVisibility" value="true"/>
</eAnnotations>
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#ELongObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zGudkZNaEeGIv5gP20E_FQ"/>
<defaultValue xmi:type="uml:LiteralString" xmi:id="_zGudkpNaEeGIv5gP20E_FQ" value="0"/>
</ownedAttribute>
<ownedAttribute xmi:id="_0KkgMJNaEeGIv5gP20E_FQ" name="longSymbol" visibility="public" isOrdered="true" isDerived="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#ELongObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0KkgMZNaEeGIv5gP20E_FQ"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvV3tppEdu-d8Dv4wLx9Q" name="NumericLiteralExp_C">
<templateBinding xmi:id="_unvV39ppEdu-d8Dv4wLx9Q" signature="_unvVz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvV4NppEdu-d8Dv4wLx9Q" actual="_unvV2dppEdu-d8Dv4wLx9Q" formal="_unvV0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvV4dppEdu-d8Dv4wLx9Q" name="InvalidLiteralExp">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvV4tppEdu-d8Dv4wLx9Q" parameter="_unvV49ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV49ppEdu-d8Dv4wLx9Q" parameteredElement="_unvV5NppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvV5NppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvV49ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvV5dppEdu-d8Dv4wLx9Q" general="_unvV5tppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvV5tppEdu-d8Dv4wLx9Q" name="LiteralExp_C">
<templateBinding xmi:id="_unvV59ppEdu-d8Dv4wLx9Q" signature="_unvVWdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvV6NppEdu-d8Dv4wLx9Q" actual="_unvV5NppEdu-d8Dv4wLx9Q" formal="_unvVWtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvV6dppEdu-d8Dv4wLx9Q" name="IterateExp">
<ownedRule xmi:id="_KnwXMPzDEdynbPPIlCogHA" name="iterate_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_KnwXMfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>type = result.type</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_LfEZsPzDEdynbPPIlCogHA" name="body_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_LfEZsfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>body.type.conformsTo(result.type)</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_LnANsPzDEdynbPPIlCogHA" name="result_init">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_LnANsfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>self.result.initExpression->size() = 1</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvV6tppEdu-d8Dv4wLx9Q" parameter="_unvV69ppEdu-d8Dv4wLx9Q _unvV7dppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV69ppEdu-d8Dv4wLx9Q" parameteredElement="_unvV7NppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvV7NppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvV69ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV7dppEdu-d8Dv4wLx9Q" parameteredElement="_unvV7tppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvV7tppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_unvV7dppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_unvV79ppEdu-d8Dv4wLx9Q" general="_unvV8tppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvV8NppEdu-d8Dv4wLx9Q" name="result" type="_unvV9tppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1Z7NppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvV8dppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvV8tppEdu-d8Dv4wLx9Q" name="LoopExp_C_PM">
<templateBinding xmi:id="_unvV89ppEdu-d8Dv4wLx9Q" signature="_unvV-9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvV9NppEdu-d8Dv4wLx9Q" actual="_unvV7NppEdu-d8Dv4wLx9Q" formal="_unvV_NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvV9dppEdu-d8Dv4wLx9Q" actual="_unvV7tppEdu-d8Dv4wLx9Q" formal="_unvV_tppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvV9tppEdu-d8Dv4wLx9Q" name="Variable_C_PM">
<templateBinding xmi:id="_unvV99ppEdu-d8Dv4wLx9Q" signature="_un1Z1NppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvV-NppEdu-d8Dv4wLx9Q" actual="_unvV7NppEdu-d8Dv4wLx9Q" formal="_un1Z1dppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvV-dppEdu-d8Dv4wLx9Q" actual="_unvV7tppEdu-d8Dv4wLx9Q" formal="_un1Z19ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_unvV-tppEdu-d8Dv4wLx9Q" name="LoopExp" isAbstract="true">
<ownedRule xmi:id="_oqgZIPzDEdynbPPIlCogHA" name="source_collection">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_oqgZIfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>source.type.oclIsKindOf(CollectionType)</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_qkRXIPzDEdynbPPIlCogHA" name="loop_variable_init">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_qkRXIfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>self.iterator->forAll(initExpression->isEmpty())</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_quV5IPzDEdynbPPIlCogHA" name="loop_variable_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_quV5IfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>self.iterator->forAll(type = source.type.oclAsType(CollectionType).elementType)</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvV-9ppEdu-d8Dv4wLx9Q" parameter="_unvV_NppEdu-d8Dv4wLx9Q _unvV_tppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV_NppEdu-d8Dv4wLx9Q" parameteredElement="_unvV_dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvV_dppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvV_NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvV_tppEdu-d8Dv4wLx9Q" parameteredElement="_un1ZwNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1ZwNppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_unvV_tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1ZwdppEdu-d8Dv4wLx9Q" general="_un1Zx9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1ZwtppEdu-d8Dv4wLx9Q" name="body" type="_un1ZytppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1Z0dppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1Zw9ppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1ZxNppEdu-d8Dv4wLx9Q" name="iterator" type="_un1ZzdppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1Z6tppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1ZxtppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_un1ZxdppEdu-d8Dv4wLx9Q" value="*"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1Zx9ppEdu-d8Dv4wLx9Q" name="CallExp_C">
<templateBinding xmi:id="_un1ZyNppEdu-d8Dv4wLx9Q" signature="_unvVKtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1ZydppEdu-d8Dv4wLx9Q" actual="_unvV_dppEdu-d8Dv4wLx9Q" formal="_unvVK9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1ZytppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1Zy9ppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1ZzNppEdu-d8Dv4wLx9Q" actual="_unvV_dppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1ZzdppEdu-d8Dv4wLx9Q" name="Variable_C_PM">
<templateBinding xmi:id="_un1ZztppEdu-d8Dv4wLx9Q" signature="_un1Z1NppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1Zz9ppEdu-d8Dv4wLx9Q" actual="_unvV_dppEdu-d8Dv4wLx9Q" formal="_un1Z1dppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_un1Z0NppEdu-d8Dv4wLx9Q" actual="_un1ZwNppEdu-d8Dv4wLx9Q" formal="_un1Z19ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1Z0dppEdu-d8Dv4wLx9Q" memberEnd="_un1ZwtppEdu-d8Dv4wLx9Q _un1Z0tppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1Z0tppEdu-d8Dv4wLx9Q" type="_unvV-tppEdu-d8Dv4wLx9Q" association="_un1Z0dppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1Z09ppEdu-d8Dv4wLx9Q" clientDependency="_un1Z3tppEdu-d8Dv4wLx9Q _un1Z39ppEdu-d8Dv4wLx9Q" name="Variable">
<ownedRule xmi:id="_hgjpAPzFEdynbPPIlCogHA" name="init_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_hgjpAfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>initExpression->notEmpty() implies initExpression.type.conformsTo (type)</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1Z1NppEdu-d8Dv4wLx9Q" parameter="_un1Z1dppEdu-d8Dv4wLx9Q _un1Z19ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1Z1dppEdu-d8Dv4wLx9Q" parameteredElement="_un1Z1tppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1Z1tppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1Z1dppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1Z19ppEdu-d8Dv4wLx9Q" parameteredElement="_un1Z2NppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1Z2NppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_un1Z19ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1Z2dppEdu-d8Dv4wLx9Q" general="_un1Z4NppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1Z2tppEdu-d8Dv4wLx9Q" name="initExpression" type="_un1Z49ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1Z5tppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1Z29ppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1Z3NppEdu-d8Dv4wLx9Q" name="representedParameter" type="_un1Z2NppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1Z6NppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1Z3dppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<interfaceRealization xmi:id="_un1Z3tppEdu-d8Dv4wLx9Q" client="_un1Z09ppEdu-d8Dv4wLx9Q" supplier="_unvTyNppEdu-d8Dv4wLx9Q" contract="_unvTyNppEdu-d8Dv4wLx9Q"/>
<interfaceRealization xmi:id="_un1Z39ppEdu-d8Dv4wLx9Q" client="_un1Z09ppEdu-d8Dv4wLx9Q" supplier="_unvTwtppEdu-d8Dv4wLx9Q" contract="_unvTwtppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1Z4NppEdu-d8Dv4wLx9Q" name="TypedElement_C">
<templateBinding xmi:id="_un1Z4dppEdu-d8Dv4wLx9Q" signature="_unvUz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1Z4tppEdu-d8Dv4wLx9Q" actual="_un1Z1tppEdu-d8Dv4wLx9Q" formal="_unvU0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1Z49ppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1Z5NppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1Z5dppEdu-d8Dv4wLx9Q" actual="_un1Z1tppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1Z5tppEdu-d8Dv4wLx9Q" memberEnd="_un1Z2tppEdu-d8Dv4wLx9Q _un1Z59ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1Z59ppEdu-d8Dv4wLx9Q" type="_un1Z09ppEdu-d8Dv4wLx9Q" association="_un1Z5tppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1Z6NppEdu-d8Dv4wLx9Q" memberEnd="_un1Z3NppEdu-d8Dv4wLx9Q _un1Z6dppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1Z6dppEdu-d8Dv4wLx9Q" type="_un1Z09ppEdu-d8Dv4wLx9Q" association="_un1Z6NppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1Z6tppEdu-d8Dv4wLx9Q" memberEnd="_un1ZxNppEdu-d8Dv4wLx9Q _un1Z69ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1Z69ppEdu-d8Dv4wLx9Q" type="_unvV-tppEdu-d8Dv4wLx9Q" association="_un1Z6tppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1Z7NppEdu-d8Dv4wLx9Q" memberEnd="_unvV8NppEdu-d8Dv4wLx9Q _un1Z7dppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1Z7dppEdu-d8Dv4wLx9Q" type="_unvV6dppEdu-d8Dv4wLx9Q" association="_un1Z7NppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1Z7tppEdu-d8Dv4wLx9Q" name="IteratorExp">
<ownedRule xmi:id="_fHV2QPzCEdynbPPIlCogHA" name="boolean_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_fHV2QfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>name = 'exists' or name = 'forAll' or name = 'isUnique'
implies type.oclIsKindOf(PrimitiveType) and type.name = 'Boolean'</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_iBMYQPzCEdynbPPIlCogHA" name="collect_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_iBMYQfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>name = 'collect' implies
if source.type.oclIsKindOf(SequenceType) then
type = expression.type.collectionType->select(oclIsTypeOf(SequenceType))->first()
else
type = expression.type.collectionType->select(oclIsTypeOf(BagType))->first()
endif</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_i68qwPzCEdynbPPIlCogHA" name="select_reject_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_i68qwfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>name = 'select' or name = 'reject' implies type = source.type</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_kC-CwPzCEdynbPPIlCogHA" name="boolean_body_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_kC-CwfzCEdynbPPIlCogHA">
<language>OCL</language>
<body>name = 'exists' or name = 'forAll' or name = 'select' or name = 'reject'
implies body.type.name = 'Boolean'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1Z79ppEdu-d8Dv4wLx9Q" parameter="_un1Z8NppEdu-d8Dv4wLx9Q _un1Z8tppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1Z8NppEdu-d8Dv4wLx9Q" parameteredElement="_un1Z8dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1Z8dppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1Z8NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1Z8tppEdu-d8Dv4wLx9Q" parameteredElement="_un1Z89ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1Z89ppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_un1Z8tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1Z9NppEdu-d8Dv4wLx9Q" general="_un1Z9dppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1Z9dppEdu-d8Dv4wLx9Q" name="LoopExp_C_PM">
<templateBinding xmi:id="_un1Z9tppEdu-d8Dv4wLx9Q" signature="_unvV-9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1Z99ppEdu-d8Dv4wLx9Q" actual="_un1Z8dppEdu-d8Dv4wLx9Q" formal="_unvV_NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_un1Z-NppEdu-d8Dv4wLx9Q" actual="_un1Z89ppEdu-d8Dv4wLx9Q" formal="_unvV_tppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1Z-dppEdu-d8Dv4wLx9Q" name="LetExp">
<ownedRule xmi:id="_YZtrMPzDEdynbPPIlCogHA" name="let_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_YZtrMfzDEdynbPPIlCogHA">
<language>OCL</language>
<body>type = in.type</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1Z-tppEdu-d8Dv4wLx9Q" parameter="_un1Z-9ppEdu-d8Dv4wLx9Q _un1Z_dppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1Z-9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1Z_NppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1Z_NppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1Z-9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1Z_dppEdu-d8Dv4wLx9Q" parameteredElement="_un1Z_tppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1Z_tppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_un1Z_dppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1Z_9ppEdu-d8Dv4wLx9Q" general="_un1aBNppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1aANppEdu-d8Dv4wLx9Q" name="in" type="_un1aBNppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aC9ppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aAdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1aAtppEdu-d8Dv4wLx9Q" name="variable" type="_un1aB9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aDdppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aA9ppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aBNppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1aBdppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aBtppEdu-d8Dv4wLx9Q" actual="_un1Z_NppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aB9ppEdu-d8Dv4wLx9Q" name="Variable_C_PM">
<templateBinding xmi:id="_un1aCNppEdu-d8Dv4wLx9Q" signature="_un1Z1NppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aCdppEdu-d8Dv4wLx9Q" actual="_un1Z_NppEdu-d8Dv4wLx9Q" formal="_un1Z1dppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_un1aCtppEdu-d8Dv4wLx9Q" actual="_un1Z_tppEdu-d8Dv4wLx9Q" formal="_un1Z19ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aC9ppEdu-d8Dv4wLx9Q" memberEnd="_un1aANppEdu-d8Dv4wLx9Q _un1aDNppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aDNppEdu-d8Dv4wLx9Q" type="_un1Z-dppEdu-d8Dv4wLx9Q" association="_un1aC9ppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aDdppEdu-d8Dv4wLx9Q" memberEnd="_un1aAtppEdu-d8Dv4wLx9Q _un1aDtppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aDtppEdu-d8Dv4wLx9Q" type="_un1Z-dppEdu-d8Dv4wLx9Q" association="_un1aDdppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aD9ppEdu-d8Dv4wLx9Q" clientDependency="_un1aIdppEdu-d8Dv4wLx9Q" name="MessageExp">
<ownedRule xmi:id="_TTFTIPzEEdynbPPIlCogHA" name="operation_arguments">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_TTFTIfzEEdynbPPIlCogHA">
<language>OCL</language>
<body>calledOperation->notEmpty() implies
argument->forall (a | a.type.conformsTo
(self.calledOperation.operation.ownedParameter->
select( kind = ParameterDirectionKind::in )
->at (argument->indexOf (a)).type))</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_TaosoPzEEdynbPPIlCogHA" name="signal_arguments">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_TaosofzEEdynbPPIlCogHA">
<language>OCL</language>
<body>sentSignal->notEmpty() implies
argument->forall (a | a.type.conformsTo
(self.sentSignal.signal.ownedAttribute
->at (argument->indexOf (a)).type))</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_ThMnoPzEEdynbPPIlCogHA" name="target_defines_operation">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_ThMnofzEEdynbPPIlCogHA">
<language>OCL</language>
<body>calledOperation->notEmpty() implies
target.type.allOperations()->includes(calledOperation.operation)</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_ToEEoPzEEdynbPPIlCogHA" name="has_operation_or_signal">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_ToEEofzEEdynbPPIlCogHA">
<language>OCL</language>
<body>calledOperation->size() + sentSignal->size() = 1</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_TvKLIPzEEdynbPPIlCogHA" name="target_not_collection">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_TvKLIfzEEdynbPPIlCogHA" name="">
<language>OCL</language>
<body>not target.type.oclIsKindOf(CollectionType)</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aENppEdu-d8Dv4wLx9Q" parameter="_un1aEdppEdu-d8Dv4wLx9Q _un1aE9ppEdu-d8Dv4wLx9Q _un1aFdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aEdppEdu-d8Dv4wLx9Q" parameteredElement="_un1aEtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aEtppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aEdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aE9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1aFNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aFNppEdu-d8Dv4wLx9Q" name="COA" templateParameter="_un1aE9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aFdppEdu-d8Dv4wLx9Q" parameteredElement="_un1aFtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aFtppEdu-d8Dv4wLx9Q" name="SSA" templateParameter="_un1aFdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aF9ppEdu-d8Dv4wLx9Q" general="_un1aItppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1aGNppEdu-d8Dv4wLx9Q" name="target" type="_un1aItppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aJdppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aGdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1aGtppEdu-d8Dv4wLx9Q" name="argument" type="_un1aItppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aJ9ppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aHNppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_un1aG9ppEdu-d8Dv4wLx9Q" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1aHdppEdu-d8Dv4wLx9Q" name="calledOperation" type="_un1aFNppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aKdppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aHtppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1aH9ppEdu-d8Dv4wLx9Q" name="sentSignal" type="_un1aFtppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aK9ppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aINppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<interfaceRealization xmi:id="_un1aIdppEdu-d8Dv4wLx9Q" client="_un1aD9ppEdu-d8Dv4wLx9Q" supplier="_unvTvNppEdu-d8Dv4wLx9Q" contract="_unvTvNppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aItppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1aI9ppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aJNppEdu-d8Dv4wLx9Q" actual="_un1aEtppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aJdppEdu-d8Dv4wLx9Q" memberEnd="_un1aGNppEdu-d8Dv4wLx9Q _un1aJtppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aJtppEdu-d8Dv4wLx9Q" type="_un1aD9ppEdu-d8Dv4wLx9Q" association="_un1aJdppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aJ9ppEdu-d8Dv4wLx9Q" memberEnd="_un1aGtppEdu-d8Dv4wLx9Q _un1aKNppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aKNppEdu-d8Dv4wLx9Q" type="_un1aD9ppEdu-d8Dv4wLx9Q" association="_un1aJ9ppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aKdppEdu-d8Dv4wLx9Q" memberEnd="_un1aHdppEdu-d8Dv4wLx9Q _un1aKtppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aKtppEdu-d8Dv4wLx9Q" type="_un1aD9ppEdu-d8Dv4wLx9Q" association="_un1aKdppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aK9ppEdu-d8Dv4wLx9Q" memberEnd="_un1aH9ppEdu-d8Dv4wLx9Q _un1aLNppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aLNppEdu-d8Dv4wLx9Q" type="_un1aD9ppEdu-d8Dv4wLx9Q" association="_un1aK9ppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aLdppEdu-d8Dv4wLx9Q" name="NullLiteralExp">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aLtppEdu-d8Dv4wLx9Q" parameter="_un1aL9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aL9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1aMNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aMNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aL9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aMdppEdu-d8Dv4wLx9Q" general="_un1aMtppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aMtppEdu-d8Dv4wLx9Q" name="LiteralExp_C">
<templateBinding xmi:id="_un1aM9ppEdu-d8Dv4wLx9Q" signature="_unvVWdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aNNppEdu-d8Dv4wLx9Q" actual="_un1aMNppEdu-d8Dv4wLx9Q" formal="_unvVWtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aNdppEdu-d8Dv4wLx9Q" name="OperationCallExp">
<ownedRule xmi:id="_smVgEPzEEdynbPPIlCogHA" name="arguments_conform">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_smVgEfzEEdynbPPIlCogHA">
<language>OCL</language>
<body>arguments->forall (a | a.type.conformsTo
(self.refParams->at (arguments->indexOf (a)).type))</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_stIEkPzEEdynbPPIlCogHA" name="argument_count">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_stIEkfzEEdynbPPIlCogHA">
<language>OCL</language>
<body>arguments->size() = refParams->size()</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aNtppEdu-d8Dv4wLx9Q" parameter="_un1aN9ppEdu-d8Dv4wLx9Q _un1aOdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aN9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1aONppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aONppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aN9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aOdppEdu-d8Dv4wLx9Q" parameteredElement="_un1aOtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aOtppEdu-d8Dv4wLx9Q" name="O" templateParameter="_un1aOdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aO9ppEdu-d8Dv4wLx9Q" general="_un1aQ9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1aPNppEdu-d8Dv4wLx9Q" name="argument" type="_un1aRtppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aSdppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aPtppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_un1aPdppEdu-d8Dv4wLx9Q" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1aP9ppEdu-d8Dv4wLx9Q" name="referredOperation" type="_un1aOtppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1aS9ppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aQNppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1aQdppEdu-d8Dv4wLx9Q" name="operationCode" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aQtppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aQ9ppEdu-d8Dv4wLx9Q" name="FeatureCallExp_C">
<templateBinding xmi:id="_un1aRNppEdu-d8Dv4wLx9Q" signature="_unvVINppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aRdppEdu-d8Dv4wLx9Q" actual="_un1aONppEdu-d8Dv4wLx9Q" formal="_unvVIdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aRtppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1aR9ppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aSNppEdu-d8Dv4wLx9Q" actual="_un1aONppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aSdppEdu-d8Dv4wLx9Q" memberEnd="_un1aPNppEdu-d8Dv4wLx9Q _un1aStppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aStppEdu-d8Dv4wLx9Q" type="_un1aNdppEdu-d8Dv4wLx9Q" association="_un1aSdppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aS9ppEdu-d8Dv4wLx9Q" memberEnd="_un1aP9ppEdu-d8Dv4wLx9Q _un1aTNppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aTNppEdu-d8Dv4wLx9Q" type="_un1aNdppEdu-d8Dv4wLx9Q" association="_un1aS9ppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aTdppEdu-d8Dv4wLx9Q" name="PropertyCallExp">
<ownedRule xmi:id="_iEz-4PzAEdynbPPIlCogHA" name="property_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_iEz-4fzAEdynbPPIlCogHA">
<language>OCL</language>
<body>type = referredProperty.type</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aTtppEdu-d8Dv4wLx9Q" parameter="_un1aT9ppEdu-d8Dv4wLx9Q _un1aUdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aT9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1aUNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aUNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aT9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aUdppEdu-d8Dv4wLx9Q" parameteredElement="_un1aUtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aUtppEdu-d8Dv4wLx9Q" name="P" templateParameter="_un1aUdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aU9ppEdu-d8Dv4wLx9Q" general="_un1aVtppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1aVNppEdu-d8Dv4wLx9Q" name="referredProperty" type="_un1aUtppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1aWtppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aVdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aVtppEdu-d8Dv4wLx9Q" name="NavigationCallExp_C_P">
<templateBinding xmi:id="_un1aV9ppEdu-d8Dv4wLx9Q" signature="_unvVDtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aWNppEdu-d8Dv4wLx9Q" actual="_un1aUNppEdu-d8Dv4wLx9Q" formal="_unvVD9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_un1aWdppEdu-d8Dv4wLx9Q" actual="_un1aUtppEdu-d8Dv4wLx9Q" formal="_unvVEdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aWtppEdu-d8Dv4wLx9Q" memberEnd="_un1aVNppEdu-d8Dv4wLx9Q _un1aW9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aW9ppEdu-d8Dv4wLx9Q" type="_un1aTdppEdu-d8Dv4wLx9Q" association="_un1aWtppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aXNppEdu-d8Dv4wLx9Q" name="RealLiteralExp">
<ownedRule xmi:id="_8LkvkPzEEdynbPPIlCogHA" name="real_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_8LkvkfzEEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type.name = 'Real'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aXdppEdu-d8Dv4wLx9Q" parameter="_un1aXtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aXtppEdu-d8Dv4wLx9Q" parameteredElement="_un1aX9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aX9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aXtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aYNppEdu-d8Dv4wLx9Q" general="_un1aY9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1aYdppEdu-d8Dv4wLx9Q" name="realSymbol" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EDoubleObject"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aYtppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aY9ppEdu-d8Dv4wLx9Q" name="NumericLiteralExp_C">
<templateBinding xmi:id="_un1aZNppEdu-d8Dv4wLx9Q" signature="_unvVz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aZdppEdu-d8Dv4wLx9Q" actual="_un1aX9ppEdu-d8Dv4wLx9Q" formal="_unvV0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aZtppEdu-d8Dv4wLx9Q" name="StateExp">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aZ9ppEdu-d8Dv4wLx9Q" parameter="_un1aaNppEdu-d8Dv4wLx9Q _un1aatppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aaNppEdu-d8Dv4wLx9Q" parameteredElement="_un1aadppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aadppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aaNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aatppEdu-d8Dv4wLx9Q" parameteredElement="_un1aa9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aa9ppEdu-d8Dv4wLx9Q" name="S" templateParameter="_un1aatppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1abNppEdu-d8Dv4wLx9Q" general="_un1ab9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1abdppEdu-d8Dv4wLx9Q" name="referredState" type="_un1aa9ppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1actppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1abtppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1ab9ppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1acNppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1acdppEdu-d8Dv4wLx9Q" actual="_un1aadppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1actppEdu-d8Dv4wLx9Q" memberEnd="_un1abdppEdu-d8Dv4wLx9Q _un1ac9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1ac9ppEdu-d8Dv4wLx9Q" type="_un1aZtppEdu-d8Dv4wLx9Q" association="_un1actppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1adNppEdu-d8Dv4wLx9Q" name="StringLiteralExp">
<ownedRule xmi:id="_J-S4kPzFEdynbPPIlCogHA" name="string_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_J-S4kfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>self.type.name = 'String'</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1addppEdu-d8Dv4wLx9Q" parameter="_un1adtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1adtppEdu-d8Dv4wLx9Q" parameteredElement="_un1ad9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1ad9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1adtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aeNppEdu-d8Dv4wLx9Q" general="_un1ae9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1aedppEdu-d8Dv4wLx9Q" name="stringSymbol" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EString"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1aetppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1ae9ppEdu-d8Dv4wLx9Q" name="PrimitiveLiteralExp_C">
<templateBinding xmi:id="_un1afNppEdu-d8Dv4wLx9Q" signature="_unvVUdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1afdppEdu-d8Dv4wLx9Q" actual="_un1ad9ppEdu-d8Dv4wLx9Q" formal="_unvVUtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aftppEdu-d8Dv4wLx9Q" name="TupleLiteralExp">
<ownedRule xmi:id="_OloQEPzFEdynbPPIlCogHA" name="tuple_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_OloQEfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>type.oclIsKindOf (TupleType)
and
part->forAll (tlep |
type.oclAsType (TupleType).allProperties()->exists (tp | tlep.attribute = tp))
and
part->size() = type.oclAsType (TupleType).allProperties()->size()</body>
</specification>
</ownedRule>
<ownedRule xmi:id="_Ou3EkPzFEdynbPPIlCogHA" name="parts_unique">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_Ou3EkfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>part->isUnique (attribute.name)</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1af9ppEdu-d8Dv4wLx9Q" parameter="_un1agNppEdu-d8Dv4wLx9Q _un1agtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1agNppEdu-d8Dv4wLx9Q" parameteredElement="_un1agdppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1agdppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1agNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1agtppEdu-d8Dv4wLx9Q" parameteredElement="_un1ag9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1ag9ppEdu-d8Dv4wLx9Q" name="P" templateParameter="_un1agtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1ahNppEdu-d8Dv4wLx9Q" general="_un1aiNppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1ahdppEdu-d8Dv4wLx9Q" name="part" type="_un1ai9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aptppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1ah9ppEdu-d8Dv4wLx9Q"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_un1ahtppEdu-d8Dv4wLx9Q" value="*"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aiNppEdu-d8Dv4wLx9Q" name="LiteralExp_C">
<templateBinding xmi:id="_un1aidppEdu-d8Dv4wLx9Q" signature="_unvVWdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aitppEdu-d8Dv4wLx9Q" actual="_un1agdppEdu-d8Dv4wLx9Q" formal="_unvVWtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1ai9ppEdu-d8Dv4wLx9Q" name="TupleLiteralPart_C_P">
<templateBinding xmi:id="_un1ajNppEdu-d8Dv4wLx9Q" signature="_un1akNppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1ajdppEdu-d8Dv4wLx9Q" actual="_un1agdppEdu-d8Dv4wLx9Q" formal="_un1akdppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_un1ajtppEdu-d8Dv4wLx9Q" actual="_un1ag9ppEdu-d8Dv4wLx9Q" formal="_un1ak9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aj9ppEdu-d8Dv4wLx9Q" clientDependency="_un1amtppEdu-d8Dv4wLx9Q _un1am9ppEdu-d8Dv4wLx9Q" name="TupleLiteralPart">
<ownedRule xmi:id="_alcRAPzFEdynbPPIlCogHA" name="value_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_alcRAfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>attribute.type = value.type</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1akNppEdu-d8Dv4wLx9Q" parameter="_un1akdppEdu-d8Dv4wLx9Q _un1ak9ppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1akdppEdu-d8Dv4wLx9Q" parameteredElement="_un1aktppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aktppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1akdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1ak9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1alNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1alNppEdu-d8Dv4wLx9Q" name="P" templateParameter="_un1ak9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aldppEdu-d8Dv4wLx9Q" general="_un1anNppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1altppEdu-d8Dv4wLx9Q" name="value" type="_un1an9ppEdu-d8Dv4wLx9Q" isOrdered="true" aggregation="composite" association="_un1aotppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1al9ppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<ownedAttribute xmi:id="_un1amNppEdu-d8Dv4wLx9Q" name="attribute" type="_un1alNppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1apNppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1amdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<interfaceRealization xmi:id="_un1amtppEdu-d8Dv4wLx9Q" client="_un1aj9ppEdu-d8Dv4wLx9Q" supplier="_unvTyNppEdu-d8Dv4wLx9Q" contract="_unvTyNppEdu-d8Dv4wLx9Q"/>
<interfaceRealization xmi:id="_un1am9ppEdu-d8Dv4wLx9Q" client="_un1aj9ppEdu-d8Dv4wLx9Q" supplier="_unvTwtppEdu-d8Dv4wLx9Q" contract="_unvTwtppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1anNppEdu-d8Dv4wLx9Q" name="TypedElement_C">
<templateBinding xmi:id="_un1andppEdu-d8Dv4wLx9Q" signature="_unvUz9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1antppEdu-d8Dv4wLx9Q" actual="_un1aktppEdu-d8Dv4wLx9Q" formal="_unvU0NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1an9ppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1aoNppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1aodppEdu-d8Dv4wLx9Q" actual="_un1aktppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aotppEdu-d8Dv4wLx9Q" memberEnd="_un1altppEdu-d8Dv4wLx9Q _un1ao9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1ao9ppEdu-d8Dv4wLx9Q" type="_un1aj9ppEdu-d8Dv4wLx9Q" association="_un1aotppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1apNppEdu-d8Dv4wLx9Q" memberEnd="_un1amNppEdu-d8Dv4wLx9Q _un1apdppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1apdppEdu-d8Dv4wLx9Q" type="_un1aj9ppEdu-d8Dv4wLx9Q" association="_un1apNppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1aptppEdu-d8Dv4wLx9Q" memberEnd="_un1ahdppEdu-d8Dv4wLx9Q _un1ap9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1ap9ppEdu-d8Dv4wLx9Q" type="_un1aftppEdu-d8Dv4wLx9Q" association="_un1aptppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1aqNppEdu-d8Dv4wLx9Q" name="TypeExp">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1aqdppEdu-d8Dv4wLx9Q" parameter="_un1aqtppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1aqtppEdu-d8Dv4wLx9Q" parameteredElement="_un1aq9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1aq9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1aqtppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1arNppEdu-d8Dv4wLx9Q" general="_un1ar9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1ardppEdu-d8Dv4wLx9Q" name="referredType" type="_un1aq9ppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1astppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1artppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1ar9ppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1asNppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1asdppEdu-d8Dv4wLx9Q" actual="_un1aq9ppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1astppEdu-d8Dv4wLx9Q" memberEnd="_un1ardppEdu-d8Dv4wLx9Q _un1as9ppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1as9ppEdu-d8Dv4wLx9Q" type="_un1aqNppEdu-d8Dv4wLx9Q" association="_un1astppEdu-d8Dv4wLx9Q"/>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1atNppEdu-d8Dv4wLx9Q" clientDependency="_un1audppEdu-d8Dv4wLx9Q" name="UnspecifiedValueExp">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1atdppEdu-d8Dv4wLx9Q" parameter="_un1attppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1attppEdu-d8Dv4wLx9Q" parameteredElement="_un1at9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1at9ppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1attppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1auNppEdu-d8Dv4wLx9Q" general="_un1autppEdu-d8Dv4wLx9Q"/>
<interfaceRealization xmi:id="_un1audppEdu-d8Dv4wLx9Q" client="_un1atNppEdu-d8Dv4wLx9Q" supplier="_unvTwtppEdu-d8Dv4wLx9Q" contract="_unvTwtppEdu-d8Dv4wLx9Q"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1autppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1au9ppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1avNppEdu-d8Dv4wLx9Q" actual="_un1at9ppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_un1avdppEdu-d8Dv4wLx9Q" name="VariableExp">
<ownedRule xmi:id="_o1w8APzFEdynbPPIlCogHA" name="var_type">
<specification xmi:type="uml:OpaqueExpression" xmi:id="_o1w8AfzFEdynbPPIlCogHA">
<language>OCL</language>
<body>type = referredVariable.type</body>
</specification>
</ownedRule>
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_un1avtppEdu-d8Dv4wLx9Q" parameter="_un1av9ppEdu-d8Dv4wLx9Q _un1awdppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1av9ppEdu-d8Dv4wLx9Q" parameteredElement="_un1awNppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1awNppEdu-d8Dv4wLx9Q" name="C" templateParameter="_un1av9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_un1awdppEdu-d8Dv4wLx9Q" parameteredElement="_un1awtppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_un1awtppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_un1awdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<generalization xmi:id="_un1aw9ppEdu-d8Dv4wLx9Q" general="_un1axtppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_un1axNppEdu-d8Dv4wLx9Q" name="referredVariable" type="_un1aydppEdu-d8Dv4wLx9Q" isOrdered="true" association="_un1azdppEdu-d8Dv4wLx9Q">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_un1axdppEdu-d8Dv4wLx9Q"/>
</ownedAttribute>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1axtppEdu-d8Dv4wLx9Q" name="OCLExpression_C">
<templateBinding xmi:id="_un1ax9ppEdu-d8Dv4wLx9Q" signature="_unvVNdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1ayNppEdu-d8Dv4wLx9Q" actual="_un1awNppEdu-d8Dv4wLx9Q" formal="_unvVNtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_un1aydppEdu-d8Dv4wLx9Q" name="Variable_C_PM">
<templateBinding xmi:id="_un1aytppEdu-d8Dv4wLx9Q" signature="_un1Z1NppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_un1ay9ppEdu-d8Dv4wLx9Q" actual="_un1awNppEdu-d8Dv4wLx9Q" formal="_un1Z1dppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_un1azNppEdu-d8Dv4wLx9Q" actual="_un1awtppEdu-d8Dv4wLx9Q" formal="_un1Z19ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_un1azdppEdu-d8Dv4wLx9Q" memberEnd="_un1axNppEdu-d8Dv4wLx9Q _un1aztppEdu-d8Dv4wLx9Q">
<ownedEnd xmi:id="_un1aztppEdu-d8Dv4wLx9Q" type="_un1avdppEdu-d8Dv4wLx9Q" association="_un1azdppEdu-d8Dv4wLx9Q"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_unvTttppEdu-d8Dv4wLx9Q" name="utilities" URI="http://www.eclipse.org/ocl/1.1.0/OCL/Utilities">
<packagedElement xmi:type="uml:Interface" xmi:id="_unvTt9ppEdu-d8Dv4wLx9Q" name="ASTNode">
<ownedAttribute xmi:id="_unvTuNppEdu-d8Dv4wLx9Q" name="startPosition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTudppEdu-d8Dv4wLx9Q"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_BeQHQP12EduIT4IRhWIERQ" value="-1"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvTutppEdu-d8Dv4wLx9Q" name="endPosition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTu9ppEdu-d8Dv4wLx9Q"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_IYofcP12EduIT4IRhWIERQ" value="-1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_unvTvNppEdu-d8Dv4wLx9Q" name="CallingASTNode">
<generalization xmi:id="_unvTvdppEdu-d8Dv4wLx9Q" general="_unvTt9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvTvtppEdu-d8Dv4wLx9Q" name="propertyStartPosition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTv9ppEdu-d8Dv4wLx9Q"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_Lr_GkP12EduIT4IRhWIERQ" value="-1"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvTwNppEdu-d8Dv4wLx9Q" name="propertyEndPosition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTwdppEdu-d8Dv4wLx9Q"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_Ne4AgP12EduIT4IRhWIERQ" value="-1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_unvTwtppEdu-d8Dv4wLx9Q" name="TypedASTNode">
<generalization xmi:id="_unvTw9ppEdu-d8Dv4wLx9Q" general="_unvTt9ppEdu-d8Dv4wLx9Q"/>
<ownedAttribute xmi:id="_unvTxNppEdu-d8Dv4wLx9Q" name="typeStartPosition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTxdppEdu-d8Dv4wLx9Q"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_QCFkIP12EduIT4IRhWIERQ" value="-1"/>
</ownedAttribute>
<ownedAttribute xmi:id="_unvTxtppEdu-d8Dv4wLx9Q" name="typeEndPosition" visibility="public" isOrdered="true">
<type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/EcorePrimitiveTypes.library.uml#EInt"/>
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTx9ppEdu-d8Dv4wLx9Q"/>
<defaultValue xmi:type="uml:LiteralInteger" xmi:id="_RmeIAP12EduIT4IRhWIERQ" value="-1"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_unvTyNppEdu-d8Dv4wLx9Q" name="Visitable">
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT09ppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT1NppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT1dppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT1tppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT19ppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT2NppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT2dppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT2tppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT29ppEdu-d8Dv4wLx9Q" name="Wildcard"/>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvT3NppEdu-d8Dv4wLx9Q" name="Visitor_T_Wildcard_Wildcard_Wildcard_Wildcard_Wildcard_Wildcard_Wildcard_Wildcard_Wildcard">
<templateBinding xmi:id="_unvT3dppEdu-d8Dv4wLx9Q" signature="_unvT6dppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvT3tppEdu-d8Dv4wLx9Q" actual="_unvT0NppEdu-d8Dv4wLx9Q" formal="_unvT6tppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT39ppEdu-d8Dv4wLx9Q" actual="_unvT09ppEdu-d8Dv4wLx9Q" formal="_unvT7NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT4NppEdu-d8Dv4wLx9Q" actual="_unvT1NppEdu-d8Dv4wLx9Q" formal="_unvT7tppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT4dppEdu-d8Dv4wLx9Q" actual="_unvT1dppEdu-d8Dv4wLx9Q" formal="_unvT8NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT4tppEdu-d8Dv4wLx9Q" actual="_unvT1tppEdu-d8Dv4wLx9Q" formal="_unvT8tppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT49ppEdu-d8Dv4wLx9Q" actual="_unvT19ppEdu-d8Dv4wLx9Q" formal="_unvT9NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT5NppEdu-d8Dv4wLx9Q" actual="_unvT2NppEdu-d8Dv4wLx9Q" formal="_unvT9tppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT5dppEdu-d8Dv4wLx9Q" actual="_unvT2dppEdu-d8Dv4wLx9Q" formal="_unvT-NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT5tppEdu-d8Dv4wLx9Q" actual="_unvT2tppEdu-d8Dv4wLx9Q" formal="_unvT-tppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvT59ppEdu-d8Dv4wLx9Q" actual="_unvT29ppEdu-d8Dv4wLx9Q" formal="_unvT_NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<ownedOperation xmi:id="_unvTydppEdu-d8Dv4wLx9Q" name="accept" visibility="public">
<ownedParameter xmi:id="_unvTytppEdu-d8Dv4wLx9Q" type="_unvT0NppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTy9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvTzNppEdu-d8Dv4wLx9Q" name="v" type="_unvT0tppEdu-d8Dv4wLx9Q" isOrdered="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvTzdppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedTemplateSignature xmi:id="_unvTztppEdu-d8Dv4wLx9Q" parameter="_unvTz9ppEdu-d8Dv4wLx9Q _unvT0dppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvTz9ppEdu-d8Dv4wLx9Q" parameteredElement="_unvT0NppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT0NppEdu-d8Dv4wLx9Q" name="T" templateParameter="_unvTz9ppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT0dppEdu-d8Dv4wLx9Q" parameteredElement="_unvT0tppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT0tppEdu-d8Dv4wLx9Q" name="U" templateParameter="_unvT0dppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_unvT6NppEdu-d8Dv4wLx9Q" name="Visitor">
<ownedTemplateSignature xmi:type="uml:RedefinableTemplateSignature" xmi:id="_unvT6dppEdu-d8Dv4wLx9Q" parameter="_unvT6tppEdu-d8Dv4wLx9Q _unvT7NppEdu-d8Dv4wLx9Q _unvT7tppEdu-d8Dv4wLx9Q _unvT8NppEdu-d8Dv4wLx9Q _unvT8tppEdu-d8Dv4wLx9Q _unvT9NppEdu-d8Dv4wLx9Q _unvT9tppEdu-d8Dv4wLx9Q _unvT-NppEdu-d8Dv4wLx9Q _unvT-tppEdu-d8Dv4wLx9Q _unvT_NppEdu-d8Dv4wLx9Q">
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT6tppEdu-d8Dv4wLx9Q" parameteredElement="_unvT69ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT69ppEdu-d8Dv4wLx9Q" name="T" templateParameter="_unvT6tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT7NppEdu-d8Dv4wLx9Q" parameteredElement="_unvT7dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT7dppEdu-d8Dv4wLx9Q" name="C" templateParameter="_unvT7NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT7tppEdu-d8Dv4wLx9Q" parameteredElement="_unvT79ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT79ppEdu-d8Dv4wLx9Q" name="O" templateParameter="_unvT7tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT8NppEdu-d8Dv4wLx9Q" parameteredElement="_unvT8dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT8dppEdu-d8Dv4wLx9Q" name="P" templateParameter="_unvT8NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT8tppEdu-d8Dv4wLx9Q" parameteredElement="_unvT89ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT89ppEdu-d8Dv4wLx9Q" name="EL" templateParameter="_unvT8tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT9NppEdu-d8Dv4wLx9Q" parameteredElement="_unvT9dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT9dppEdu-d8Dv4wLx9Q" name="PM" templateParameter="_unvT9NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT9tppEdu-d8Dv4wLx9Q" parameteredElement="_unvT99ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT99ppEdu-d8Dv4wLx9Q" name="S" templateParameter="_unvT9tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT-NppEdu-d8Dv4wLx9Q" parameteredElement="_unvT-dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT-dppEdu-d8Dv4wLx9Q" name="COA" templateParameter="_unvT-NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT-tppEdu-d8Dv4wLx9Q" parameteredElement="_unvT-9ppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT-9ppEdu-d8Dv4wLx9Q" name="SSA" templateParameter="_unvT-tppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:type="uml:ClassifierTemplateParameter" xmi:id="_unvT_NppEdu-d8Dv4wLx9Q" parameteredElement="_unvT_dppEdu-d8Dv4wLx9Q">
<ownedParameteredElement xmi:type="uml:Class" xmi:id="_unvT_dppEdu-d8Dv4wLx9Q" name="CT" templateParameter="_unvT_NppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
</ownedTemplateSignature>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUbtppEdu-d8Dv4wLx9Q" name="VariableExp_C_PM">
<templateBinding xmi:id="_unvUb9ppEdu-d8Dv4wLx9Q" signature="_un1avtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUcNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1av9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUcdppEdu-d8Dv4wLx9Q" actual="_unvT9dppEdu-d8Dv4wLx9Q" formal="_un1awdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUctppEdu-d8Dv4wLx9Q" name="LetExp_C_PM">
<templateBinding xmi:id="_unvUc9ppEdu-d8Dv4wLx9Q" signature="_un1Z-tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUdNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1Z-9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUddppEdu-d8Dv4wLx9Q" actual="_unvT9dppEdu-d8Dv4wLx9Q" formal="_un1Z_dppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUdtppEdu-d8Dv4wLx9Q" name="IfExp_C">
<templateBinding xmi:id="_unvUd9ppEdu-d8Dv4wLx9Q" signature="_unvVsdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUeNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVstppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUedppEdu-d8Dv4wLx9Q" name="TypeExp_C">
<templateBinding xmi:id="_unvUetppEdu-d8Dv4wLx9Q" signature="_un1aqdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUe9ppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aqtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUfNppEdu-d8Dv4wLx9Q" name="PropertyCallExp_C_P">
<templateBinding xmi:id="_unvUfdppEdu-d8Dv4wLx9Q" signature="_un1aTtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUftppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aT9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUf9ppEdu-d8Dv4wLx9Q" actual="_unvT8dppEdu-d8Dv4wLx9Q" formal="_un1aUdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUgNppEdu-d8Dv4wLx9Q" name="OperationCallExp_C_O">
<templateBinding xmi:id="_unvUgdppEdu-d8Dv4wLx9Q" signature="_un1aNtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUgtppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aN9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUg9ppEdu-d8Dv4wLx9Q" actual="_unvT79ppEdu-d8Dv4wLx9Q" formal="_un1aOdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUhNppEdu-d8Dv4wLx9Q" name="AssociationClassCallExp_C_P">
<templateBinding xmi:id="_unvUhdppEdu-d8Dv4wLx9Q" signature="_unvVAdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUhtppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVAtppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUh9ppEdu-d8Dv4wLx9Q" actual="_unvT8dppEdu-d8Dv4wLx9Q" formal="_unvVBNppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUiNppEdu-d8Dv4wLx9Q" name="IteratorExp_C_PM">
<templateBinding xmi:id="_unvUidppEdu-d8Dv4wLx9Q" signature="_un1Z79ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUitppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1Z8NppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUi9ppEdu-d8Dv4wLx9Q" actual="_unvT9dppEdu-d8Dv4wLx9Q" formal="_un1Z8tppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUjNppEdu-d8Dv4wLx9Q" name="IterateExp_C_PM">
<templateBinding xmi:id="_unvUjdppEdu-d8Dv4wLx9Q" signature="_unvV6tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUjtppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvV69ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUj9ppEdu-d8Dv4wLx9Q" actual="_unvT9dppEdu-d8Dv4wLx9Q" formal="_unvV7dppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUkNppEdu-d8Dv4wLx9Q" name="UnspecifiedValueExp_C">
<templateBinding xmi:id="_unvUkdppEdu-d8Dv4wLx9Q" signature="_un1atdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUktppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1attppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUk9ppEdu-d8Dv4wLx9Q" name="IntegerLiteralExp_C">
<templateBinding xmi:id="_unvUlNppEdu-d8Dv4wLx9Q" signature="_unvVxdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUldppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVxtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUltppEdu-d8Dv4wLx9Q" name="UnlimitedNaturalLiteralExp_C">
<templateBinding xmi:id="_unvUl9ppEdu-d8Dv4wLx9Q" signature="_unvV19ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUmNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvV2NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUmdppEdu-d8Dv4wLx9Q" name="RealLiteralExp_C">
<templateBinding xmi:id="_unvUmtppEdu-d8Dv4wLx9Q" signature="_un1aXdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUm9ppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aXtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUnNppEdu-d8Dv4wLx9Q" name="StringLiteralExp_C">
<templateBinding xmi:id="_unvUndppEdu-d8Dv4wLx9Q" signature="_un1addppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUntppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1adtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUn9ppEdu-d8Dv4wLx9Q" name="BooleanLiteralExp_C">
<templateBinding xmi:id="_unvUoNppEdu-d8Dv4wLx9Q" signature="_unvVR9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUodppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVSNppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUotppEdu-d8Dv4wLx9Q" name="EnumLiteralExp_C_EL">
<templateBinding xmi:id="_unvUo9ppEdu-d8Dv4wLx9Q" signature="_unvVo9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUpNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVpNppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUpdppEdu-d8Dv4wLx9Q" actual="_unvT89ppEdu-d8Dv4wLx9Q" formal="_unvVptppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUptppEdu-d8Dv4wLx9Q" name="CollectionLiteralExp_C">
<templateBinding xmi:id="_unvUp9ppEdu-d8Dv4wLx9Q" signature="_unvVftppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUqNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVf9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUqdppEdu-d8Dv4wLx9Q" name="CollectionItem_C">
<templateBinding xmi:id="_unvUqtppEdu-d8Dv4wLx9Q" signature="_unvVYdppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUq9ppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVYtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUrNppEdu-d8Dv4wLx9Q" name="CollectionRange_C">
<templateBinding xmi:id="_unvUrdppEdu-d8Dv4wLx9Q" signature="_unvVktppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUrtppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvVk9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUr9ppEdu-d8Dv4wLx9Q" name="TupleLiteralExp_C_P">
<templateBinding xmi:id="_unvUsNppEdu-d8Dv4wLx9Q" signature="_un1af9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUsdppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1agNppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUstppEdu-d8Dv4wLx9Q" actual="_unvT8dppEdu-d8Dv4wLx9Q" formal="_un1agtppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUs9ppEdu-d8Dv4wLx9Q" name="TupleLiteralPart_C_P">
<templateBinding xmi:id="_unvUtNppEdu-d8Dv4wLx9Q" signature="_un1akNppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUtdppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1akdppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUttppEdu-d8Dv4wLx9Q" actual="_unvT8dppEdu-d8Dv4wLx9Q" formal="_un1ak9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUt9ppEdu-d8Dv4wLx9Q" name="InvalidLiteralExp_C">
<templateBinding xmi:id="_unvUuNppEdu-d8Dv4wLx9Q" signature="_unvV4tppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUudppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvV49ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUutppEdu-d8Dv4wLx9Q" name="NullLiteralExp_C">
<templateBinding xmi:id="_unvUu9ppEdu-d8Dv4wLx9Q" signature="_un1aLtppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUvNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aL9ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUvdppEdu-d8Dv4wLx9Q" name="StateExp_C_S">
<templateBinding xmi:id="_unvUvtppEdu-d8Dv4wLx9Q" signature="_un1aZ9ppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUv9ppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aaNppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUwNppEdu-d8Dv4wLx9Q" actual="_unvT99ppEdu-d8Dv4wLx9Q" formal="_un1aatppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUwdppEdu-d8Dv4wLx9Q" name="MessageExp_C_COA_SSA">
<templateBinding xmi:id="_unvUwtppEdu-d8Dv4wLx9Q" signature="_un1aENppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUw9ppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1aEdppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUxNppEdu-d8Dv4wLx9Q" actual="_unvT-dppEdu-d8Dv4wLx9Q" formal="_un1aE9ppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUxdppEdu-d8Dv4wLx9Q" actual="_unvT-9ppEdu-d8Dv4wLx9Q" formal="_un1aFdppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUxtppEdu-d8Dv4wLx9Q" name="Variable_C_PM">
<templateBinding xmi:id="_unvUx9ppEdu-d8Dv4wLx9Q" signature="_un1Z1NppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUyNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_un1Z1dppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUydppEdu-d8Dv4wLx9Q" actual="_unvT9dppEdu-d8Dv4wLx9Q" formal="_un1Z19ppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<nestedClassifier xmi:type="uml:Class" xmi:id="_unvUytppEdu-d8Dv4wLx9Q" name="ExpressionInOCL_C_PM">
<templateBinding xmi:id="_unvUy9ppEdu-d8Dv4wLx9Q" signature="_unvU2dppEdu-d8Dv4wLx9Q">
<parameterSubstitution xmi:id="_unvUzNppEdu-d8Dv4wLx9Q" actual="_unvT7dppEdu-d8Dv4wLx9Q" formal="_unvU2tppEdu-d8Dv4wLx9Q"/>
<parameterSubstitution xmi:id="_unvUzdppEdu-d8Dv4wLx9Q" actual="_unvT9dppEdu-d8Dv4wLx9Q" formal="_unvU3NppEdu-d8Dv4wLx9Q"/>
</templateBinding>
</nestedClassifier>
<ownedOperation xmi:id="_unvT_tppEdu-d8Dv4wLx9Q" name="visitVariableExp" visibility="public">
<ownedParameter xmi:id="_unvT_9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUANppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUAdppEdu-d8Dv4wLx9Q" name="variableExp" type="_unvUbtppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUAtppEdu-d8Dv4wLx9Q" name="visitLetExp" visibility="public">
<ownedParameter xmi:id="_unvUA9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUBNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUBdppEdu-d8Dv4wLx9Q" name="letExp" type="_unvUctppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUBtppEdu-d8Dv4wLx9Q" name="visitIfExp" visibility="public">
<ownedParameter xmi:id="_unvUB9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUCNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUCdppEdu-d8Dv4wLx9Q" name="ifExp" type="_unvUdtppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUCtppEdu-d8Dv4wLx9Q" name="visitTypeExp" visibility="public">
<ownedParameter xmi:id="_unvUC9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUDNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUDdppEdu-d8Dv4wLx9Q" name="typeExp" type="_unvUedppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUDtppEdu-d8Dv4wLx9Q" name="visitPropertyCallExp" visibility="public">
<ownedParameter xmi:id="_unvUD9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUENppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUEdppEdu-d8Dv4wLx9Q" name="callExp" type="_unvUfNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUEtppEdu-d8Dv4wLx9Q" name="visitOperationCallExp" visibility="public">
<ownedParameter xmi:id="_unvUE9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUFNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUFdppEdu-d8Dv4wLx9Q" name="callExp" type="_unvUgNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUFtppEdu-d8Dv4wLx9Q" name="visitAssociationClassCallExp" visibility="public">
<ownedParameter xmi:id="_unvUF9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUGNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUGdppEdu-d8Dv4wLx9Q" name="callExp" type="_unvUhNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUGtppEdu-d8Dv4wLx9Q" name="visitIteratorExp" visibility="public">
<ownedParameter xmi:id="_unvUG9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUHNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUHdppEdu-d8Dv4wLx9Q" name="callExp" type="_unvUiNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUHtppEdu-d8Dv4wLx9Q" name="visitIterateExp" visibility="public">
<ownedParameter xmi:id="_unvUH9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUINppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUIdppEdu-d8Dv4wLx9Q" name="callExp" type="_unvUjNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUItppEdu-d8Dv4wLx9Q" name="visitUnspecifiedValueExp" visibility="public">
<ownedParameter xmi:id="_unvUI9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUJNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUJdppEdu-d8Dv4wLx9Q" name="unspecExp" type="_unvUkNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUJtppEdu-d8Dv4wLx9Q" name="visitIntegerLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUJ9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUKNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUKdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUk9ppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUKtppEdu-d8Dv4wLx9Q" name="visitUnlimitedNaturalLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUK9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvULNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvULdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUltppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvULtppEdu-d8Dv4wLx9Q" name="visitRealLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUL9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUMNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUMdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUmdppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUMtppEdu-d8Dv4wLx9Q" name="visitStringLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUM9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUNNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUNdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUnNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUNtppEdu-d8Dv4wLx9Q" name="visitBooleanLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUN9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUONppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUOdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUn9ppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUOtppEdu-d8Dv4wLx9Q" name="visitEnumLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUO9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUPNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUPdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUotppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUPtppEdu-d8Dv4wLx9Q" name="visitCollectionLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUP9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUQNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUQdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUptppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUQtppEdu-d8Dv4wLx9Q" name="visitCollectionItem" visibility="public">
<ownedParameter xmi:id="_unvUQ9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvURNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvURdppEdu-d8Dv4wLx9Q" name="item" type="_unvUqdppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvURtppEdu-d8Dv4wLx9Q" name="visitCollectionRange" visibility="public">
<ownedParameter xmi:id="_unvUR9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUSNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUSdppEdu-d8Dv4wLx9Q" name="range" type="_unvUrNppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUStppEdu-d8Dv4wLx9Q" name="visitTupleLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUS9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUTNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUTdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUr9ppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUTtppEdu-d8Dv4wLx9Q" name="visitTupleLiteralPart" visibility="public">
<ownedParameter xmi:id="_unvUT9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUUNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUUdppEdu-d8Dv4wLx9Q" name="part" type="_unvUs9ppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUUtppEdu-d8Dv4wLx9Q" name="visitInvalidLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUU9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUVNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUVdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUt9ppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUVtppEdu-d8Dv4wLx9Q" name="visitNullLiteralExp" visibility="public">
<ownedParameter xmi:id="_unvUV9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUWNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUWdppEdu-d8Dv4wLx9Q" name="literalExp" type="_unvUutppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUWtppEdu-d8Dv4wLx9Q" name="visitStateExp" visibility="public">
<ownedParameter xmi:id="_unvUW9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUXNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUXdppEdu-d8Dv4wLx9Q" name="stateExp" type="_unvUvdppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUXtppEdu-d8Dv4wLx9Q" name="visitMessageExp" visibility="public">
<ownedParameter xmi:id="_unvUX9ppEdu-d8Dv4wLx9Q" type="_unvT69ppEdu-d8Dv4wLx9Q" isOrdered="true" direction="return">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_unvUYNppEdu-d8Dv4wLx9Q"/>
</ownedParameter>
<ownedParameter xmi:id="_unvUYdppEdu-d8Dv4wLx9Q" name="messageExp" type="_unvUwdppEdu-d8Dv4wLx9Q" isOrdered="true"/>
</ownedOperation>
<ownedOperation xmi:id="_unvUYtppEdu-d8Dv4wLx9Q" name="vi