blob: a93daf879420cbc06567da3baed085e4539d602c [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<flatemofqvt:Root xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:emof="http://www.eclipse.org/emf/2002/Ecore"
xmlns:flatemofqvt="http://www.eclipse.org/qvt/0.9/FlatEmofQVT" xsi:schemaLocation="http://www.eclipse.org/qvt/0.9/FlatEmofQVT ../../../org.eclipse.qvtd.pivot.qvtbase/model-gen/FlatQVTpivot.ecore"
xmi:id="_ArQDNloHEeS2WoXr83SnEA" name="OCL.oclstdlib" externalURI="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib">
<nestedPackage xmi:id="_ArQDN1oHEeS2WoXr83SnEA" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDOFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGDVoHEeS2WoXr83SnEA _ArQGEVoHEeS2WoXr83SnEA"
contextType="_ArQF2VoHEeS2WoXr83SnEA" resultType="_ArQE-1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDOVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGA1oHEeS2WoXr83SnEA"
contextType="_ArQF2VoHEeS2WoXr83SnEA" resultType="_ArQGAloHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDOloHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGCVoHEeS2WoXr83SnEA"
contextType="_ArQF2VoHEeS2WoXr83SnEA" resultType="_ArQGCFoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDO1oHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGFVoHEeS2WoXr83SnEA"
contextType="_ArQF2VoHEeS2WoXr83SnEA" resultType="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDPFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQF_FoHEeS2WoXr83SnEA"
contextType="_ArQF2VoHEeS2WoXr83SnEA" resultType="_ArQErloHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDPVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGfloHEeS2WoXr83SnEA _ArQGj1oHEeS2WoXr83SnEA _ArQGlFoHEeS2WoXr83SnEA _ArQGl1oHEeS2WoXr83SnEA _ArQGnFoHEeS2WoXr83SnEA _ArQGq1oHEeS2WoXr83SnEA _ArQGr1oHEeS2WoXr83SnEA _ArQGs1oHEeS2WoXr83SnEA"
contextType="_ArQGG1oHEeS2WoXr83SnEA" resultType="_ArQE-1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDPloHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGhVoHEeS2WoXr83SnEA"
contextType="_ArQGG1oHEeS2WoXr83SnEA" resultType="_ArQGhFoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDP1oHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGjFoHEeS2WoXr83SnEA"
contextType="_ArQGG1oHEeS2WoXr83SnEA" resultType="_ArQGi1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDQFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGploHEeS2WoXr83SnEA"
contextType="_ArQGG1oHEeS2WoXr83SnEA" resultType="_ArQGpVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDQVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQGoFoHEeS2WoXr83SnEA _ArQGt1oHEeS2WoXr83SnEA"
contextType="_ArQGG1oHEeS2WoXr83SnEA" resultType="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDQloHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQHwloHEeS2WoXr83SnEA _ArQHxloHEeS2WoXr83SnEA"
contextType="_ArQHeloHEeS2WoXr83SnEA" resultType="_ArQE-1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDQ1oHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQHyloHEeS2WoXr83SnEA"
contextType="_ArQHeloHEeS2WoXr83SnEA" resultType="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDRFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQHsVoHEeS2WoXr83SnEA"
contextType="_ArQHeloHEeS2WoXr83SnEA" resultType="_ArQHd1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDRVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQHuFoHEeS2WoXr83SnEA"
contextType="_ArQHeloHEeS2WoXr83SnEA" resultType="_ArQHt1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDRloHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQHvloHEeS2WoXr83SnEA"
contextType="_ArQHeloHEeS2WoXr83SnEA" resultType="_ArQHvVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDR1oHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIFloHEeS2WoXr83SnEA _ArQIGloHEeS2WoXr83SnEA"
contextType="_ArQHz1oHEeS2WoXr83SnEA" resultType="_ArQE-1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDSFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIHloHEeS2WoXr83SnEA"
contextType="_ArQHz1oHEeS2WoXr83SnEA" resultType="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDSVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIBVoHEeS2WoXr83SnEA"
contextType="_ArQHz1oHEeS2WoXr83SnEA" resultType="_ArQEgVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDSloHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIDFoHEeS2WoXr83SnEA"
contextType="_ArQHz1oHEeS2WoXr83SnEA" resultType="_ArQIC1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDS1oHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIEloHEeS2WoXr83SnEA"
contextType="_ArQHz1oHEeS2WoXr83SnEA" resultType="_ArQIEVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDTFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIWloHEeS2WoXr83SnEA _ArQIXloHEeS2WoXr83SnEA"
contextType="_ArQII1oHEeS2WoXr83SnEA" resultType="_ArQE-1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDTVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIYloHEeS2WoXr83SnEA"
contextType="_ArQII1oHEeS2WoXr83SnEA" resultType="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDTloHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQISVoHEeS2WoXr83SnEA"
contextType="_ArQII1oHEeS2WoXr83SnEA" resultType="_ArQIIFoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDT1oHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIUFoHEeS2WoXr83SnEA"
contextType="_ArQII1oHEeS2WoXr83SnEA" resultType="_ArQIT1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDUFoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIVloHEeS2WoXr83SnEA"
contextType="_ArQII1oHEeS2WoXr83SnEA" resultType="_ArQIVVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_ArQDUVoHEeS2WoXr83SnEA" name="Lambda" superClass="_ArQHNVoHEeS2WoXr83SnEA" typedElement="_ArQIeFoHEeS2WoXr83SnEA"
contextType="_ArQIaVoHEeS2WoXr83SnEA" resultType="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:TupleType" xmi:id="_ArQDUloHEeS2WoXr83SnEA" name="Tuple" templateParameterSubstitution="_ArQDfloHEeS2WoXr83SnEA _ArQErVoHEeS2WoXr83SnEA _ArQEyFoHEeS2WoXr83SnEA"
superClass="_ArQHS1oHEeS2WoXr83SnEA">
<ownedAttribute xmi:id="_ArQDU1oHEeS2WoXr83SnEA" name="first" type="_ArQGG1oHEeS2WoXr83SnEA"/>
<ownedAttribute xmi:id="_ArQDVFoHEeS2WoXr83SnEA" name="second" type="_ArQGaVoHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDVVoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDf1oHEeS2WoXr83SnEA" typedElement="_ArQF_loHEeS2WoXr83SnEA" elementType="_ArQGAloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDVloHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDV1oHEeS2WoXr83SnEA" actual="_ArQGAloHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDWFoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDgloHEeS2WoXr83SnEA" typedElement="_ArQGBVoHEeS2WoXr83SnEA" elementType="_ArQGCFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDWVoHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDWloHEeS2WoXr83SnEA" actual="_ArQGCFoHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDW1oHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDhVoHEeS2WoXr83SnEA" typedElement="_ArQF5VoHEeS2WoXr83SnEA" elementType="_ArQF6VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDXFoHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDXVoHEeS2WoXr83SnEA" actual="_ArQF6VoHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDXloHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDiFoHEeS2WoXr83SnEA" typedElement="_ArQF8FoHEeS2WoXr83SnEA" elementType="_ArQF81oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDX1oHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDYFoHEeS2WoXr83SnEA" actual="_ArQF81oHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDYVoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDi1oHEeS2WoXr83SnEA" typedElement="_ArQF9VoHEeS2WoXr83SnEA" elementType="_ArQF-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDYloHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDY1oHEeS2WoXr83SnEA" actual="_ArQF-FoHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDZFoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDqVoHEeS2WoXr83SnEA" typedElement="_ArQGKVoHEeS2WoXr83SnEA _ArQGV1oHEeS2WoXr83SnEA _ArQGeVoHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDZVoHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDZloHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDZ1oHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDrFoHEeS2WoXr83SnEA" typedElement="_ArQGHFoHEeS2WoXr83SnEA" elementType="_ArQGGFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDaFoHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDaVoHEeS2WoXr83SnEA" actual="_ArQGGFoHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDaloHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDsloHEeS2WoXr83SnEA" typedElement="_ArQGwVoHEeS2WoXr83SnEA" elementType="_ArQGuVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDa1oHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDbFoHEeS2WoXr83SnEA" actual="_ArQGuVoHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDbVoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQDtVoHEeS2WoXr83SnEA" typedElement="_ArQGxloHEeS2WoXr83SnEA" elementType="_ArQGwloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDbloHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDb1oHEeS2WoXr83SnEA" actual="_ArQGwloHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDcFoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQD6FoHEeS2WoXr83SnEA" typedElement="_ArQIS1oHEeS2WoXr83SnEA" elementType="_ArQIT1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDcVoHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDcloHEeS2WoXr83SnEA" actual="_ArQIT1oHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQDc1oHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_ArQF1loHEeS2WoXr83SnEA"
superClass="_ArQD61oHEeS2WoXr83SnEA" typedElement="_ArQIUloHEeS2WoXr83SnEA" elementType="_ArQIVVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDdFoHEeS2WoXr83SnEA" signature="_ArQF11oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDdVoHEeS2WoXr83SnEA" actual="_ArQIVVoHEeS2WoXr83SnEA" formal="_ArQF2FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDdloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQFGVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDd1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDeFoHEeS2WoXr83SnEA" actual="_ArQFGVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDeVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQFbVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDeloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDe1oHEeS2WoXr83SnEA" actual="_ArQFbVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDfFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQDUloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDfVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDfloHEeS2WoXr83SnEA" actual="_ArQDUloHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDf1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGAloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDgFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDgVoHEeS2WoXr83SnEA" actual="_ArQGAloHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDgloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGCFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDg1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDhFoHEeS2WoXr83SnEA" actual="_ArQGCFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDhVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQF6VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDhloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDh1oHEeS2WoXr83SnEA" actual="_ArQF6VoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDiFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQF81oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDiVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDiloHEeS2WoXr83SnEA" actual="_ArQF81oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDi1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQF-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDjFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDjVoHEeS2WoXr83SnEA" actual="_ArQF-FoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDjloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQF71oHEeS2WoXr83SnEA" elementType="_ArQF2VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDj1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDkFoHEeS2WoXr83SnEA" actual="_ArQF2VoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDkVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGgFoHEeS2WoXr83SnEA" elementType="_ArQGhFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDkloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDk1oHEeS2WoXr83SnEA" actual="_ArQGhFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDlFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGh1oHEeS2WoXr83SnEA" elementType="_ArQGi1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDlVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDlloHEeS2WoXr83SnEA" actual="_ArQGi1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDl1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGPFoHEeS2WoXr83SnEA" elementType="_ArQGO1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDmFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDmVoHEeS2WoXr83SnEA" actual="_ArQGO1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDmloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGQ1oHEeS2WoXr83SnEA" elementType="_ArQGR1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDm1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDnFoHEeS2WoXr83SnEA" actual="_ArQGR1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDnVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGUFoHEeS2WoXr83SnEA" elementType="_ArQGT1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDnloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDn1oHEeS2WoXr83SnEA" actual="_ArQGT1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDoFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGaloHEeS2WoXr83SnEA" elementType="_ArQGaVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDoVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDoloHEeS2WoXr83SnEA" actual="_ArQGaVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDo1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGa1oHEeS2WoXr83SnEA" elementType="_ArQGbloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDpFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDpVoHEeS2WoXr83SnEA" actual="_ArQGbloHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDploHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGcFoHEeS2WoXr83SnEA" elementType="_ArQGc1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDp1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDqFoHEeS2WoXr83SnEA" actual="_ArQGc1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDqVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDqloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDq1oHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDrFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGGFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDrVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDrloHEeS2WoXr83SnEA" actual="_ArQGGFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDr1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGv1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDsFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDsVoHEeS2WoXr83SnEA" actual="_ArQGv1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDsloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGuVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDs1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDtFoHEeS2WoXr83SnEA" actual="_ArQGuVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDtVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQGwloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDtloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDt1oHEeS2WoXr83SnEA" actual="_ArQGwloHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDuFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQF5FoHEeS2WoXr83SnEA _ArQGQloHEeS2WoXr83SnEA _ArQHjVoHEeS2WoXr83SnEA _ArQH4FoHEeS2WoXr83SnEA _ArQIMVoHEeS2WoXr83SnEA"
elementType="_ArQGyVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDuVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDuloHEeS2WoXr83SnEA" actual="_ArQGyVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDu1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHCFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDvFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDvVoHEeS2WoXr83SnEA" actual="_ArQHCFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDvloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHQVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDv1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDwFoHEeS2WoXr83SnEA" actual="_ArQHQVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDwVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHbFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDwloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDw1oHEeS2WoXr83SnEA" actual="_ArQHbFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDxFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHt1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDxVoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDxloHEeS2WoXr83SnEA" actual="_ArQHt1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDx1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHvVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDyFoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDyVoHEeS2WoXr83SnEA" actual="_ArQHvVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDyloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHkVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDy1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDzFoHEeS2WoXr83SnEA" actual="_ArQHkVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQDzVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHpFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQDzloHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQDz1oHEeS2WoXr83SnEA" actual="_ArQHpFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD0FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHqVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD0VoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD0loHEeS2WoXr83SnEA" actual="_ArQHqVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD01oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHeloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD1FoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD1VoHEeS2WoXr83SnEA" actual="_ArQHeloHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD1loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQIC1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD11oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD2FoHEeS2WoXr83SnEA" actual="_ArQIC1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD2VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQIEVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD2loHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD21oHEeS2WoXr83SnEA" actual="_ArQIEVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD3FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQH5VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD3VoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD3loHEeS2WoXr83SnEA" actual="_ArQH5VoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD31oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQH-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD4FoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD4VoHEeS2WoXr83SnEA" actual="_ArQH-FoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD4loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQH_VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD41oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD5FoHEeS2WoXr83SnEA" actual="_ArQH_VoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD5VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQHz1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD5loHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD51oHEeS2WoXr83SnEA" actual="_ArQHz1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD6FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQIT1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD6VoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD6loHEeS2WoXr83SnEA" actual="_ArQIT1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD61oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQIVVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD7FoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD7VoHEeS2WoXr83SnEA" actual="_ArQIVVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD7loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQINloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD71oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD8FoHEeS2WoXr83SnEA" actual="_ArQINloHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD8VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQIQFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD8loHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD81oHEeS2WoXr83SnEA" actual="_ArQIQFoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD9FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" elementType="_ArQIRVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD9VoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD9loHEeS2WoXr83SnEA" actual="_ArQIRVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD91oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQIPFoHEeS2WoXr83SnEA" elementType="_ArQII1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD-FoHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD-VoHEeS2WoXr83SnEA" actual="_ArQII1oHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQD-loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_ArQGGFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQIb1oHEeS2WoXr83SnEA" elementType="_ArQIaVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD-1oHEeS2WoXr83SnEA" signature="_ArQGGVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD_FoHEeS2WoXr83SnEA" actual="_ArQIaVoHEeS2WoXr83SnEA" formal="_ArQGGloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQD_VoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQF1VoHEeS2WoXr83SnEA" instanceType="_ArQF1FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQD_loHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQD_1oHEeS2WoXr83SnEA" actual="_ArQF1FoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEAFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQF9FoHEeS2WoXr83SnEA" instanceType="_ArQF81oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEAVoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEAloHEeS2WoXr83SnEA" actual="_ArQF81oHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEA1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQF-VoHEeS2WoXr83SnEA" instanceType="_ArQF-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEBFoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEBVoHEeS2WoXr83SnEA" actual="_ArQF-FoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEBloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQGb1oHEeS2WoXr83SnEA" instanceType="_ArQGbloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEB1oHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQECFoHEeS2WoXr83SnEA" actual="_ArQGbloHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQECVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQGdFoHEeS2WoXr83SnEA" instanceType="_ArQGc1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQECloHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEC1oHEeS2WoXr83SnEA" actual="_ArQGc1oHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEDFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQG2FoHEeS2WoXr83SnEA" instanceType="_ArQG11oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEDVoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEDloHEeS2WoXr83SnEA" actual="_ArQG11oHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQED1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQG41oHEeS2WoXr83SnEA" instanceType="_ArQG4loHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEEFoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEEVoHEeS2WoXr83SnEA" actual="_ArQG4loHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEEloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQG61oHEeS2WoXr83SnEA" instanceType="_ArQG6loHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEE1oHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEFFoHEeS2WoXr83SnEA" actual="_ArQG6loHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEFVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQHI1oHEeS2WoXr83SnEA" instanceType="_ArQHIloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEFloHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEF1oHEeS2WoXr83SnEA" actual="_ArQHIloHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEGFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQHKVoHEeS2WoXr83SnEA" instanceType="_ArQHKFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEGVoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEGloHEeS2WoXr83SnEA" actual="_ArQHKFoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEG1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQHLloHEeS2WoXr83SnEA" instanceType="_ArQHLVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEHFoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEHVoHEeS2WoXr83SnEA" actual="_ArQHLVoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEHloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" instanceType="_ArQHEFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEH1oHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEIFoHEeS2WoXr83SnEA" actual="_ArQHEFoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEIVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQG81oHEeS2WoXr83SnEA _ArQHMFoHEeS2WoXr83SnEA" instanceType="_ArQHQVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEIloHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEI1oHEeS2WoXr83SnEA" actual="_ArQHQVoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEJFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" instanceType="_ArQHVloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEJVoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEJloHEeS2WoXr83SnEA" actual="_ArQHVloHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEJ1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQHpVoHEeS2WoXr83SnEA" instanceType="_ArQHpFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEKFoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEKVoHEeS2WoXr83SnEA" actual="_ArQHpFoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEKloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQHqloHEeS2WoXr83SnEA" instanceType="_ArQHqVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEK1oHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQELFoHEeS2WoXr83SnEA" actual="_ArQHqVoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQELVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQH-VoHEeS2WoXr83SnEA" instanceType="_ArQH-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQELloHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEL1oHEeS2WoXr83SnEA" actual="_ArQH-FoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEMFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQH_loHEeS2WoXr83SnEA" instanceType="_ArQH_VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEMVoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEMloHEeS2WoXr83SnEA" actual="_ArQH_VoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQEM1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQIQVoHEeS2WoXr83SnEA" instanceType="_ArQIQFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQENFoHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQENVoHEeS2WoXr83SnEA" actual="_ArQIQFoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQENloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_ArQGwloHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" typedElement="_ArQIRloHEeS2WoXr83SnEA" instanceType="_ArQIRVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEN1oHEeS2WoXr83SnEA" signature="_ArQGw1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEOFoHEeS2WoXr83SnEA" actual="_ArQIRVoHEeS2WoXr83SnEA" formal="_ArQGxFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEOVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDdloHEeS2WoXr83SnEA" elementType="_ArQFGVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEOloHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEO1oHEeS2WoXr83SnEA" actual="_ArQFGVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEPFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDeVoHEeS2WoXr83SnEA" elementType="_ArQFbVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEPVoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEPloHEeS2WoXr83SnEA" actual="_ArQFbVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEP1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDjloHEeS2WoXr83SnEA" elementType="_ArQF2VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEQFoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEQVoHEeS2WoXr83SnEA" actual="_ArQF2VoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEQloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDqVoHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEQ1oHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQERFoHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQERVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDr1oHEeS2WoXr83SnEA" elementType="_ArQGv1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQERloHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQER1oHEeS2WoXr83SnEA" actual="_ArQGv1oHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQESFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDxFoHEeS2WoXr83SnEA" elementType="_ArQHt1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQESVoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQESloHEeS2WoXr83SnEA" actual="_ArQHt1oHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQES1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDx1oHEeS2WoXr83SnEA" elementType="_ArQHvVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQETFoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQETVoHEeS2WoXr83SnEA" actual="_ArQHvVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQETloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDyloHEeS2WoXr83SnEA" elementType="_ArQHkVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQET1oHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEUFoHEeS2WoXr83SnEA" actual="_ArQHkVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEUVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQDzVoHEeS2WoXr83SnEA" elementType="_ArQHpFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEUloHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEU1oHEeS2WoXr83SnEA" actual="_ArQHpFoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEVFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD0FoHEeS2WoXr83SnEA" elementType="_ArQHqVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEVVoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEVloHEeS2WoXr83SnEA" actual="_ArQHqVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEV1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD01oHEeS2WoXr83SnEA" typedElement="_ArQHh1oHEeS2WoXr83SnEA _ArQHnloHEeS2WoXr83SnEA" elementType="_ArQHeloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEWFoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEWVoHEeS2WoXr83SnEA" actual="_ArQHeloHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEWloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD1loHEeS2WoXr83SnEA" elementType="_ArQIC1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEW1oHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEXFoHEeS2WoXr83SnEA" actual="_ArQIC1oHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEXVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD2VoHEeS2WoXr83SnEA" elementType="_ArQIEVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEXloHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEX1oHEeS2WoXr83SnEA" actual="_ArQIEVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEYFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD3FoHEeS2WoXr83SnEA" elementType="_ArQH5VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEYVoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEYloHEeS2WoXr83SnEA" actual="_ArQH5VoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEY1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD31oHEeS2WoXr83SnEA" elementType="_ArQH-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEZFoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEZVoHEeS2WoXr83SnEA" actual="_ArQH-FoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEZloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD4loHEeS2WoXr83SnEA" elementType="_ArQH_VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEZ1oHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEaFoHEeS2WoXr83SnEA" actual="_ArQH_VoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEaVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD5VoHEeS2WoXr83SnEA" typedElement="_ArQH2loHEeS2WoXr83SnEA _ArQH8loHEeS2WoXr83SnEA" elementType="_ArQHz1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEaloHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEa1oHEeS2WoXr83SnEA" actual="_ArQHz1oHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEbFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD91oHEeS2WoXr83SnEA" elementType="_ArQII1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEbVoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEbloHEeS2WoXr83SnEA" actual="_ArQII1oHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEb1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_ArQHaVoHEeS2WoXr83SnEA"
superClass="_ArQD-loHEeS2WoXr83SnEA" elementType="_ArQIaVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEcFoHEeS2WoXr83SnEA" signature="_ArQHaloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEcVoHEeS2WoXr83SnEA" actual="_ArQIaVoHEeS2WoXr83SnEA" formal="_ArQHa1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEcloHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQEQloHEeS2WoXr83SnEA _ArQEzFoHEeS2WoXr83SnEA" typedElement="_ArQGK1oHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEc1oHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEdFoHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEdVoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQERVoHEeS2WoXr83SnEA _ArQEz1oHEeS2WoXr83SnEA" typedElement="_ArQGu1oHEeS2WoXr83SnEA" elementType="_ArQGv1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEdloHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEd1oHEeS2WoXr83SnEA" actual="_ArQGv1oHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEeFoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQETloHEeS2WoXr83SnEA _ArQE21oHEeS2WoXr83SnEA" typedElement="_ArQHjloHEeS2WoXr83SnEA" elementType="_ArQHkVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEeVoHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEeloHEeS2WoXr83SnEA" actual="_ArQHkVoHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEe1oHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQEUVoHEeS2WoXr83SnEA _ArQE3loHEeS2WoXr83SnEA" typedElement="_ArQHoVoHEeS2WoXr83SnEA" elementType="_ArQHpFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEfFoHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEfVoHEeS2WoXr83SnEA" actual="_ArQHpFoHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEfloHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQEVFoHEeS2WoXr83SnEA _ArQE4VoHEeS2WoXr83SnEA" typedElement="_ArQHploHEeS2WoXr83SnEA" elementType="_ArQHqVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEf1oHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEgFoHEeS2WoXr83SnEA" actual="_ArQHqVoHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEgVoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQEaVoHEeS2WoXr83SnEA _ArQE51oHEeS2WoXr83SnEA" typedElement="_ArQIA1oHEeS2WoXr83SnEA" elementType="_ArQHz1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEgloHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEg1oHEeS2WoXr83SnEA" actual="_ArQHz1oHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEhFoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQEbFoHEeS2WoXr83SnEA _ArQE81oHEeS2WoXr83SnEA" typedElement="_ArQIYFoHEeS2WoXr83SnEA" elementType="_ArQII1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEhVoHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEhloHEeS2WoXr83SnEA" actual="_ArQII1oHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQEh1oHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_ArQHd1oHEeS2WoXr83SnEA"
superClass="_ArQEb1oHEeS2WoXr83SnEA _ArQE9loHEeS2WoXr83SnEA" typedElement="_ArQIdloHEeS2WoXr83SnEA" elementType="_ArQIaVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEiFoHEeS2WoXr83SnEA" signature="_ArQHeFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEiVoHEeS2WoXr83SnEA" actual="_ArQIaVoHEeS2WoXr83SnEA" formal="_ArQHeVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEiloHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEOVoHEeS2WoXr83SnEA" elementType="_ArQFGVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEi1oHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEjFoHEeS2WoXr83SnEA" actual="_ArQFGVoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEjVoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEPFoHEeS2WoXr83SnEA" typedElement="_ArQFhFoHEeS2WoXr83SnEA _ArQFxFoHEeS2WoXr83SnEA _ArQFxloHEeS2WoXr83SnEA _ArQFyVoHEeS2WoXr83SnEA"
elementType="_ArQFbVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEjloHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEj1oHEeS2WoXr83SnEA" actual="_ArQFbVoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEkFoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEP1oHEeS2WoXr83SnEA" typedElement="_ArQGE1oHEeS2WoXr83SnEA" elementType="_ArQF2VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEkVoHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEkloHEeS2WoXr83SnEA" actual="_ArQF2VoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEk1oHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEQloHEeS2WoXr83SnEA" typedElement="_ArQGLVoHEeS2WoXr83SnEA _ArQGtVoHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQElFoHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQElVoHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQElloHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQESFoHEeS2WoXr83SnEA" typedElement="_ArQHs1oHEeS2WoXr83SnEA" elementType="_ArQHt1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEl1oHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEmFoHEeS2WoXr83SnEA" actual="_ArQHt1oHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEmVoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQES1oHEeS2WoXr83SnEA" typedElement="_ArQHuloHEeS2WoXr83SnEA" elementType="_ArQHvVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEmloHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEm1oHEeS2WoXr83SnEA" actual="_ArQHvVoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEnFoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEWloHEeS2WoXr83SnEA" typedElement="_ArQIB1oHEeS2WoXr83SnEA" elementType="_ArQIC1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEnVoHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEnloHEeS2WoXr83SnEA" actual="_ArQIC1oHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEn1oHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEXVoHEeS2WoXr83SnEA" typedElement="_ArQIDloHEeS2WoXr83SnEA" elementType="_ArQIEVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEoFoHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEoVoHEeS2WoXr83SnEA" actual="_ArQIEVoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEoloHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEYFoHEeS2WoXr83SnEA" typedElement="_ArQH4VoHEeS2WoXr83SnEA" elementType="_ArQH5VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEo1oHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEpFoHEeS2WoXr83SnEA" actual="_ArQH5VoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEpVoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEY1oHEeS2WoXr83SnEA" typedElement="_ArQH9VoHEeS2WoXr83SnEA" elementType="_ArQH-FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEploHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEp1oHEeS2WoXr83SnEA" actual="_ArQH-FoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQEqFoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_ArQHzFoHEeS2WoXr83SnEA"
superClass="_ArQEZloHEeS2WoXr83SnEA" typedElement="_ArQH-loHEeS2WoXr83SnEA" elementType="_ArQH_VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEqVoHEeS2WoXr83SnEA" signature="_ArQHzVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEqloHEeS2WoXr83SnEA" actual="_ArQH_VoHEeS2WoXr83SnEA" formal="_ArQHzloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEq1oHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQExloHEeS2WoXr83SnEA" typedElement="_ArQGZVoHEeS2WoXr83SnEA" elementType="_ArQDUloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQErFoHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQErVoHEeS2WoXr83SnEA" actual="_ArQDUloHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQErloHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQEyVoHEeS2WoXr83SnEA" typedElement="_ArQF-loHEeS2WoXr83SnEA" elementType="_ArQF2VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEr1oHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEsFoHEeS2WoXr83SnEA" actual="_ArQF2VoHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEsVoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQEzFoHEeS2WoXr83SnEA" typedElement="_ArQGL1oHEeS2WoXr83SnEA _ArQGWloHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEsloHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEs1oHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEtFoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQE1VoHEeS2WoXr83SnEA" typedElement="_ArQHDloHEeS2WoXr83SnEA" elementType="_ArQHCFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEtVoHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEtloHEeS2WoXr83SnEA" actual="_ArQHCFoHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEt1oHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQE2FoHEeS2WoXr83SnEA" typedElement="_ArQFAloHEeS2WoXr83SnEA _ArQGvVoHEeS2WoXr83SnEA _ArQG0VoHEeS2WoXr83SnEA _ArQHCloHEeS2WoXr83SnEA _ArQHGFoHEeS2WoXr83SnEA _ArQHHloHEeS2WoXr83SnEA _ArQHXVoHEeS2WoXr83SnEA"
elementType="_ArQHQVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEuFoHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEuVoHEeS2WoXr83SnEA" actual="_ArQHQVoHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEuloHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQE6loHEeS2WoXr83SnEA" typedElement="_ArQIMloHEeS2WoXr83SnEA" elementType="_ArQINloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEu1oHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEvFoHEeS2WoXr83SnEA" actual="_ArQINloHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEvVoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQE7VoHEeS2WoXr83SnEA" typedElement="_ArQIPVoHEeS2WoXr83SnEA" elementType="_ArQIQFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEvloHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEv1oHEeS2WoXr83SnEA" actual="_ArQIQFoHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEwFoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQE8FoHEeS2WoXr83SnEA" typedElement="_ArQIQloHEeS2WoXr83SnEA" elementType="_ArQIRVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEwVoHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEwloHEeS2WoXr83SnEA" actual="_ArQIRVoHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQEw1oHEeS2WoXr83SnEA" name="Set" unspecializedElement="_ArQIIFoHEeS2WoXr83SnEA"
superClass="_ArQE9loHEeS2WoXr83SnEA" typedElement="_ArQIbVoHEeS2WoXr83SnEA _ArQIcFoHEeS2WoXr83SnEA _ArQIc1oHEeS2WoXr83SnEA" elementType="_ArQIaVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQExFoHEeS2WoXr83SnEA" signature="_ArQIIVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQExVoHEeS2WoXr83SnEA" actual="_ArQIaVoHEeS2WoXr83SnEA" formal="_ArQIIloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQExloHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDfFoHEeS2WoXr83SnEA" elementType="_ArQDUloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEx1oHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEyFoHEeS2WoXr83SnEA" actual="_ArQDUloHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEyVoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDjloHEeS2WoXr83SnEA" elementType="_ArQF2VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEyloHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEy1oHEeS2WoXr83SnEA" actual="_ArQF2VoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEzFoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDqVoHEeS2WoXr83SnEA" typedElement="_ArQGXFoHEeS2WoXr83SnEA" elementType="_ArQGG1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQEzVoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQEzloHEeS2WoXr83SnEA" actual="_ArQGG1oHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQEz1oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDr1oHEeS2WoXr83SnEA" elementType="_ArQGv1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE0FoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE0VoHEeS2WoXr83SnEA" actual="_ArQGv1oHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE0loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDuFoHEeS2WoXr83SnEA" typedElement="_ArQHfVoHEeS2WoXr83SnEA _ArQIJloHEeS2WoXr83SnEA _ArQIbFoHEeS2WoXr83SnEA _ArQIcloHEeS2WoXr83SnEA"
elementType="_ArQGyVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE01oHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE1FoHEeS2WoXr83SnEA" actual="_ArQGyVoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE1VoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDu1oHEeS2WoXr83SnEA" elementType="_ArQHCFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE1loHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE11oHEeS2WoXr83SnEA" actual="_ArQHCFoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE2FoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDvloHEeS2WoXr83SnEA" elementType="_ArQHQVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE2VoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE2loHEeS2WoXr83SnEA" actual="_ArQHQVoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE21oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDyloHEeS2WoXr83SnEA" elementType="_ArQHkVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE3FoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE3VoHEeS2WoXr83SnEA" actual="_ArQHkVoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE3loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQDzVoHEeS2WoXr83SnEA" elementType="_ArQHpFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE31oHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE4FoHEeS2WoXr83SnEA" actual="_ArQHpFoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE4VoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD0FoHEeS2WoXr83SnEA" elementType="_ArQHqVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE4loHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE41oHEeS2WoXr83SnEA" actual="_ArQHqVoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE5FoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD01oHEeS2WoXr83SnEA" elementType="_ArQHeloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE5VoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE5loHEeS2WoXr83SnEA" actual="_ArQHeloHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE51oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD5VoHEeS2WoXr83SnEA" elementType="_ArQHz1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE6FoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE6VoHEeS2WoXr83SnEA" actual="_ArQHz1oHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE6loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD7loHEeS2WoXr83SnEA" elementType="_ArQINloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE61oHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE7FoHEeS2WoXr83SnEA" actual="_ArQINloHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE7VoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD8VoHEeS2WoXr83SnEA" elementType="_ArQIQFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE7loHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE71oHEeS2WoXr83SnEA" actual="_ArQIQFoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE8FoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD9FoHEeS2WoXr83SnEA" elementType="_ArQIRVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE8VoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE8loHEeS2WoXr83SnEA" actual="_ArQIRVoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE81oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD91oHEeS2WoXr83SnEA" elementType="_ArQII1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE9FoHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE9VoHEeS2WoXr83SnEA" actual="_ArQII1oHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQE9loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_ArQIZloHEeS2WoXr83SnEA"
superClass="_ArQD-loHEeS2WoXr83SnEA" elementType="_ArQIaVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_ArQE91oHEeS2WoXr83SnEA" signature="_ArQIZ1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_ArQE-FoHEeS2WoXr83SnEA" actual="_ArQIaVoHEeS2WoXr83SnEA" formal="_ArQIaFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
</nestedPackage>
<nestedPackage xmi:type="flatemofqvt:Library" xmi:id="_ArQE-VoHEeS2WoXr83SnEA" name="ocl" nsPrefix="ocl" nsURI="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib">
<ownedComment xmi:id="_ArQE-loHEeS2WoXr83SnEA" body="This clause describes the OCL Standard Library of predefined types, their operations, and predefined expression templates in the OCL.&#xA;This sub clause contains all standard types defined within OCL, including all the operations defined on those types.&#xA;For each operation the signature and a description of the semantics is given.&#xA;Within the description, the reserved word &#x2018;result&#x2019; is used to refer to the value that results from evaluating the operation.&#xA;In several places, post conditions are used to describe properties of the result.&#xA;When there is more than one postcondition, all postconditions must be true.&#xA;A similar thing is true for multiple preconditions.&#xA;If these are used, the operation is only defined if all preconditions evaluate to oclText[true].&#xA;&#xA;heading:1[Introduction]&#xA;&#xA;The structure, syntax, and semantics of the OCL is defined in Clauses 8 (&#x201c;Abstract Syntax&#x201d;), 9 (&#x201c;Concrete Syntax&#x201d;),&#xA;and 10 (&#x201c;Semantics Described using UML&#x201d;).&#xA;This sub clause adds another part to the OCL definition: a library of predefined types and operations.&#xA;Any implementation of OCL must include this library package. This approach has also been taken by e.g., the Java definition,&#xA;where the language definition and the standard libraries are both mandatory parts of the complete language definition.&#xA;&#xA;The OCL standard library defines a number of types.&#xA;It includes several primitive types: UnlimitedNatural, Integer, Real, String, and Boolean.&#xA;These are familiar from many other languages. The second part of the standard library consists of the collection types.&#xA;They are Bag, Set, Sequence, and Collection where Collection is an abstract type.&#xA;Note that all types defined in the OCL standard library are instances of an abstract syntax class.&#xA;The OCL standard library exists at the modeling level, also referred to as the M1 level, where the abstract syntax is the metalevel or M2 level.&#xA;&#xA;Next to definitions of types the OCL standard library defines a number of template expressions.&#xA;Many operations defined on collections map not on the abstract syntax metaclass FeatureCallExp, but on the IteratorExp.&#xA;For each of these a template expression that defines the name and format of the expression is defined in 11.8, Predefined Iterator Expressions.&#xA;&#xA;The Standard Library may be extended with new types, new operations and new iterators.&#xA;In particular new operations can be defined for collections.&#xA;&#xA;Certain String operations depend on the prevailing locale to ensure that Strings are collated and characters are case-converted&#xA;in an appropriate fashion.&#xA;A locale is defined as a concatenation of up to three character sequences separated by underscores,&#xA;with the first sequence identifying the language and the second sequence identifying the country.&#xA;The third sequence is empty but may encode an implementation-specific variant.&#xA;Trailing empty strings and separators may be omitted.&#xA;&#xA;The character sequences for languages are defined by ISO 639.&#xA;&#xA;The character sequences for countries are defined by ISO 3166.&#xA;&#xA;&#x2018;fr_CA&#x2019; therefore identifies the locale for the French language in the Canada country.&#xA;&#xA;Comparison of strings and consequently the collation order of Collection::sortedBy()&#xA;conforms to the Unicode Collation algorithm defined by Unicode Technical Standard#10.&#xA;&#xA;The locale is &#x2018;en_us&#x2019; by default but may be configured by a property constraint on OclAny::oclLocale.&#xA;&#xA;The prevailing locale is defined by the prevailing value of oclLocale within the current environment;&#xA;it may therefore be changed temporarily by using a Let expression.&#xA;let oclLocale : String = &#x2018;fr_CA&#x2019; in aString.toUpperCase()&#xA;&#xA;heading:1[Iterators]&#xA;&#xA;This sub clause defines the standard OCL iterator expressions.&#xA;In the abstract syntax these are all instances of IteratorExp.&#xA;These iterator expressions always have a collection expression as their source,&#xA;as is defined in the well-formedness rules in Clause 8 (&#x201c;Abstract Syntax&#x201d;).&#xA;The defined iterator expressions are shown per source collection type.&#xA;The semantics of each iterator expression is defined through a mapping from the iterator to the &#x2018;iterate&#x2019; construct.&#xA;This means that the semantics of the iterator expressions do not need to be defined separately in the semantics sub clauses.&#xA;&#xA;In all of the following OCL expressions, the lefthand side of the equals sign is the IteratorExp to be defined,&#xA;and the righthand side of the equals sign is the equivalent as an IterateExp.&#xA;The names source, body, and iterator refer to the role names in the abstract syntax:&#xA;&#xA;source&#x9;The source expression of the IteratorExp.&#xA;&#xA;body&#x9;The body expression of the IteratorExp.&#xA;&#xA;iterator&#x9;The iterator variable of the IteratorExp.&#xA;&#xA;result&#x9;The result variable of the IterateExp.&#xA;&#xA;heading:2[Extending the Standard Library with Iterator Expressions]&#xA;&#xA;It is possible to add new iterator expressions in the standard library.&#xA;If this is done the semantics of a new iterator should be defined by mapping it to existing constructs,&#xA;in the same way the semantics of pre-defined iterators is done (see sub clause 11.9)"/>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_ArQE-1oHEeS2WoXr83SnEA" name="Boolean" superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_ArQE_FoHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQE_VoHEeS2WoXr83SnEA" body="Returns oclText[true] if the logical value of oclText[self] is the not same as the numeric value of object2, oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQE_loHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQE_1oHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFAFoHEeS2WoXr83SnEA" body="Returns oclText[true] if the logical value of oclText[self] is the same as the numeric value of object2, oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQFAVoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFAloHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAllInstancesOperation">
<ownedComment xmi:id="_ArQFA1oHEeS2WoXr83SnEA" body="Returns oclText[Set{false, true}]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFBFoHEeS2WoXr83SnEA" name="and" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isInvalidating="true" isValidating="true" precedence="_ArQIgFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFBVoHEeS2WoXr83SnEA" body="oclText[false] if either oclText[self] or oclText[b] is oclText[false].&#xA;Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid] .&#xA;Otherwise oclText[null] if either oclText[self] or oclText[b] is oclText[null].&#xA;Otherwise oclText[true]."/>
<bodyExpression xmi:id="_ArQFBloHEeS2WoXr83SnEA" type="_ArQE-1oHEeS2WoXr83SnEA">
<body>if self.oclIsInvalid() then
if b.oclIsInvalid() then self
else if b = false then false
else self
endif endif
else if self = false then false
else if b.oclIsInvalid() then b
else if b = false then false
else if self = null then null
else if b = null then null
else true
endif endif endif endif endif endif</body>
<language>OCL</language>
</bodyExpression>
<ownedParameter xmi:id="_ArQFB1oHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFCFoHEeS2WoXr83SnEA" name="implies" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanImpliesOperation"
isInvalidating="true" isValidating="true" precedence="_ArQIg1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFCVoHEeS2WoXr83SnEA" body="oclText[true] if oclText[self] is oclText[false], or if oclText[b] is oclText[true].&#xA;Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid].&#xA;Otherwise oclText[null] if either oclText[self] or oclText[b] is oclText[null].&#xA;Otherwise oclText[false]."/>
<bodyExpression xmi:id="_ArQFCloHEeS2WoXr83SnEA" type="_ArQE-1oHEeS2WoXr83SnEA">
<body>if self.oclIsInvalid() then
if b.oclIsInvalid() then self
else if b = true then true
else self
endif endif
else if self = false then true
else if b.oclIsInvalid() then b
else if b = true then true
else if self = null then null
else if b = null then b
else false
endif endif endif endif endif endif</body>
<language>OCL</language>
</bodyExpression>
<ownedParameter xmi:id="_ArQFC1oHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFDFoHEeS2WoXr83SnEA" name="not" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanNotOperation"
precedence="_ArQIe1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFDVoHEeS2WoXr83SnEA" body="oclText[true] if oclText[self] is oclText[false].&#xA;oclText[false] if oclText[self] is oclText[true].&#xA;oclText[null] if oclText[self] is oclText[null].&#xA;Otherwise oclText[invalid]."/>
<bodyExpression xmi:id="_ArQFDloHEeS2WoXr83SnEA" type="_ArQE-1oHEeS2WoXr83SnEA">
<body>if self.oclIsInvalid() then self
else if self = null then null
else self = false
endif endif</body>
<language>OCL</language>
</bodyExpression>
</ownedOperation>
<ownedOperation xmi:id="_ArQFD1oHEeS2WoXr83SnEA" name="or" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanOrOperation"
isInvalidating="true" isValidating="true" precedence="_ArQIgVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFEFoHEeS2WoXr83SnEA" body="oclText[true] if either oclText[self] or oclText[b] is oclText[true].&#xA;Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid].&#xA;Otherwise oclText[null] if either oclText[self] or oclText[b] is oclText[null].&#xA;Otherwise oclText[false]."/>
<bodyExpression xmi:id="_ArQFEVoHEeS2WoXr83SnEA" type="_ArQE-1oHEeS2WoXr83SnEA">
<body>if self.oclIsInvalid() then
if b.oclIsInvalid() then self
else if b = true then true
else self
endif endif
else if self = true then true
else if b.oclIsInvalid() then b
else if b = true then true
else if self = null then null
else if b = null then null
else false
endif endif endif endif endif endif</body>
<language>OCL</language>
</bodyExpression>
<ownedParameter xmi:id="_ArQFEloHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFE1oHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQFFFoHEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFFVoHEeS2WoXr83SnEA" name="xor" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanXorOperation"
precedence="_ArQIgloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFFloHEeS2WoXr83SnEA" body="oclText[true] if oclText[self] is oclText[true] and oclText[b] is oclText[false], or if oclText[self] is oclText[false] and oclText[b] is oclText[true].&#xA;oclText[false] if oclText[self] is oclText[true] and oclText[b] is oclText[true], or if oclText[self] is oclText[false] and oclText[b] is oclText[false].&#xA;Otherwise oclText[invalid] if either oclText[self] or oclText[b] is oclText[invalid].&#xA;Otherwise oclText[null]."/>
<bodyExpression xmi:id="_ArQFF1oHEeS2WoXr83SnEA" type="_ArQE-1oHEeS2WoXr83SnEA">
<body>if self.oclIsInvalid() then self
else if b.oclIsInvalid() then b
else if self = null then null
else if b = null then null
else self &lt;> b
endif endif endif endif</body>
<language>OCL</language>
</bodyExpression>
<ownedParameter xmi:id="_ArQFGFoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQE_FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQE_1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFBFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_ArQFBloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFB1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFCFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_ArQFCloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFC1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFDFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_ArQFDloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFD1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_ArQFEVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFEloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFFVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_ArQFF1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFGFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFSloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFTVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFUFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFU1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFVloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFWVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFcVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFdFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFd1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFeVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFe1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFfloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFjFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFj1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFmFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFpVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFtFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFzFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQF2loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQF3FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGI1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGJloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGNFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGN1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGSFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGS1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGXVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGY1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_ArQGjloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_ArQGkloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_ArQGlloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_ArQGmloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_ArQGnloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_ArQGqVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGy1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQGzloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG2VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG3FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG3loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG5FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG5loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG7FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG-VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG_FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG_1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHAloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHEloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHFVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHGloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQHG1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHHFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQHHVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHJFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHJVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHKloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHL1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHMVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQHMloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHOVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHO1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHPVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHTVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHT1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHU1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHWFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHWloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHX1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQHYFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHYVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQHYloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHY1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHZFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHZVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQHZloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHfloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHgFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQH0FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQH0loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQIJ1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQIKVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="mitosi.xml#_ArQCy1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQCzFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQCz1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="mitosi.xml#_ArQC1loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="mitosi.xml#_ArQC11oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="mitosi.xml#_ArQC2loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="mitosi.xml#_ArQDAloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQDA1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQDBloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="mitosi.xml#_ArQDCloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQDC1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQDH1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="mitosi.xml#_ArQDI1oHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_ArQFGVoHEeS2WoXr83SnEA" name="Integer" templateParameterSubstitution="_ArQDeFoHEeS2WoXr83SnEA _ArQEO1oHEeS2WoXr83SnEA _ArQEjFoHEeS2WoXr83SnEA"
superClass="_ArQFO1oHEeS2WoXr83SnEA" typedElement="_ArQFGloHEeS2WoXr83SnEA _ArQFHVoHEeS2WoXr83SnEA _ArQFIFoHEeS2WoXr83SnEA _ArQFIloHEeS2WoXr83SnEA _ArQFKFoHEeS2WoXr83SnEA _ArQFKloHEeS2WoXr83SnEA _ArQFLVoHEeS2WoXr83SnEA _ArQFL1oHEeS2WoXr83SnEA _ArQFMFoHEeS2WoXr83SnEA _ArQFM1oHEeS2WoXr83SnEA _ArQFNloHEeS2WoXr83SnEA _ArQFOFoHEeS2WoXr83SnEA _ArQFXloHEeS2WoXr83SnEA _ArQFYVoHEeS2WoXr83SnEA _ArQFaVoHEeS2WoXr83SnEA _ArQFg1oHEeS2WoXr83SnEA _ArQFhloHEeS2WoXr83SnEA _ArQFkloHEeS2WoXr83SnEA _ArQFlVoHEeS2WoXr83SnEA _ArQFo1oHEeS2WoXr83SnEA _ArQFsloHEeS2WoXr83SnEA _ArQFs1oHEeS2WoXr83SnEA _ArQFtloHEeS2WoXr83SnEA _ArQGH1oHEeS2WoXr83SnEA _ArQGIVoHEeS2WoXr83SnEA _ArQGMVoHEeS2WoXr83SnEA _ArQGdVoHEeS2WoXr83SnEA _ArQHBVoHEeS2WoXr83SnEA _ArQHb1oHEeS2WoXr83SnEA _ArQHcloHEeS2WoXr83SnEA _ArQHl1oHEeS2WoXr83SnEA _ArQHrVoHEeS2WoXr83SnEA _ArQHrloHEeS2WoXr83SnEA _ArQH61oHEeS2WoXr83SnEA _ArQIAVoHEeS2WoXr83SnEA _ArQIAloHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_ArQFGloHEeS2WoXr83SnEA" name="*" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericTimesOperation"
precedence="_ArQIfFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFG1oHEeS2WoXr83SnEA" body="The value of the multiplication of oclText[self] and i."/>
<ownedParameter xmi:id="_ArQFHFoHEeS2WoXr83SnEA" name="i" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFHVoHEeS2WoXr83SnEA" name="+" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericPlusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFHloHEeS2WoXr83SnEA" body="The value of the addition of oclText[self] and i."/>
<ownedParameter xmi:id="_ArQFH1oHEeS2WoXr83SnEA" name="i" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFIFoHEeS2WoXr83SnEA" name="-" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericNegateOperation"
precedence="_ArQIe1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFIVoHEeS2WoXr83SnEA" body="The negative value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFIloHEeS2WoXr83SnEA" name="-" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFI1oHEeS2WoXr83SnEA" body="The value of the subtraction of i from oclText[self]."/>
<ownedParameter xmi:id="_ArQFJFoHEeS2WoXr83SnEA" name="i" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFJVoHEeS2WoXr83SnEA" name="/" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivideOperation"
precedence="_ArQIfFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFJloHEeS2WoXr83SnEA" body="The value of oclText[self] divided by i.&#xA;Evaluates to oclText[invalid] if r is equal to zero."/>
<ownedParameter xmi:id="_ArQFJ1oHEeS2WoXr83SnEA" name="i" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFKFoHEeS2WoXr83SnEA" name="abs" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericAbsOperation">
<ownedComment xmi:id="_ArQFKVoHEeS2WoXr83SnEA" body="The absolute value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFKloHEeS2WoXr83SnEA" name="compareTo" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericCompareToOperation">
<ownedComment xmi:id="_ArQFK1oHEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="_ArQFLFoHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFLVoHEeS2WoXr83SnEA" name="div" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivOperation">
<ownedComment xmi:id="_ArQFLloHEeS2WoXr83SnEA" body="The number of times that i fits completely within oclText[self]."/>
<ownedParameter xmi:id="_ArQFL1oHEeS2WoXr83SnEA" name="i" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFMFoHEeS2WoXr83SnEA" name="max" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMaxOperation">
<ownedComment xmi:id="_ArQFMVoHEeS2WoXr83SnEA" body="The maximum of oclText[self] an i."/>
<ownedParameter xmi:id="_ArQFMloHEeS2WoXr83SnEA" name="i" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFM1oHEeS2WoXr83SnEA" name="min" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinOperation">
<ownedComment xmi:id="_ArQFNFoHEeS2WoXr83SnEA" body="The minimum of oclText[self] an i."/>
<ownedParameter xmi:id="_ArQFNVoHEeS2WoXr83SnEA" name="i" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFNloHEeS2WoXr83SnEA" name="mod" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericModOperation">
<ownedComment xmi:id="_ArQFN1oHEeS2WoXr83SnEA" body="The result is oclText[self] modulo i."/>
<ownedParameter xmi:id="_ArQFOFoHEeS2WoXr83SnEA" name="i" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFOVoHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQFOloHEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_ArQFO1oHEeS2WoXr83SnEA" name="Real" superClass="_ArQG91oHEeS2WoXr83SnEA _ArQHRFoHEeS2WoXr83SnEA"
typedElement="_ArQFJVoHEeS2WoXr83SnEA _ArQFPFoHEeS2WoXr83SnEA _ArQFP1oHEeS2WoXr83SnEA _ArQFQloHEeS2WoXr83SnEA _ArQFRFoHEeS2WoXr83SnEA _ArQFR1oHEeS2WoXr83SnEA _ArQFXFoHEeS2WoXr83SnEA _ArQFY1oHEeS2WoXr83SnEA _ArQFZloHEeS2WoXr83SnEA _ArQFvFoHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_ArQFPFoHEeS2WoXr83SnEA" name="*" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericTimesOperation"
precedence="_ArQIfFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFPVoHEeS2WoXr83SnEA" body="The value of the multiplication of oclText[self] and r."/>
<ownedParameter xmi:id="_ArQFPloHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFP1oHEeS2WoXr83SnEA" name="+" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericPlusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFQFoHEeS2WoXr83SnEA" body="The value of the addition of oclText[self] and r."/>
<ownedParameter xmi:id="_ArQFQVoHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFQloHEeS2WoXr83SnEA" name="-" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericNegateOperation"
precedence="_ArQIe1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFQ1oHEeS2WoXr83SnEA" body="The negative value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFRFoHEeS2WoXr83SnEA" name="-" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFRVoHEeS2WoXr83SnEA" body="The value of the subtraction of r from oclText[self]."/>
<ownedParameter xmi:id="_ArQFRloHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFR1oHEeS2WoXr83SnEA" name="/" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivideOperation"
precedence="_ArQIfFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFSFoHEeS2WoXr83SnEA" body="The value of oclText[self] divided by r. Evaluates to oclText[invalid] if r is equal to zero."/>
<ownedParameter xmi:id="_ArQFSVoHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFSloHEeS2WoXr83SnEA" name="&lt;" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericLessThanOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFS1oHEeS2WoXr83SnEA" body="True if oclText[self] is less than r."/>
<ownedParameter xmi:id="_ArQFTFoHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFTVoHEeS2WoXr83SnEA" name="&lt;=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericLessThanEqualOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFTloHEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to r."/>
<ownedParameter xmi:id="_ArQFT1oHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFUFoHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFUVoHEeS2WoXr83SnEA" body="Returns oclText[true] if the numeric value of oclText[self] is the not the same as the numeric value of object2, oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQFUloHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFU1oHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFVFoHEeS2WoXr83SnEA" body="Returns oclText[true] if the numeric value of oclText[self] is the same as the numeric value of object2, oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQFVVoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFVloHEeS2WoXr83SnEA" name=">" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericGreaterThanOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFV1oHEeS2WoXr83SnEA" body="True if oclText[self] is greater than r."/>
<ownedParameter xmi:id="_ArQFWFoHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFWVoHEeS2WoXr83SnEA" name=">=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericGreaterThanEqualOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFWloHEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to r."/>
<ownedParameter xmi:id="_ArQFW1oHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFXFoHEeS2WoXr83SnEA" name="abs" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericAbsOperation">
<ownedComment xmi:id="_ArQFXVoHEeS2WoXr83SnEA" body="The absolute value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFXloHEeS2WoXr83SnEA" name="compareTo" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericCompareToOperation">
<ownedComment xmi:id="_ArQFX1oHEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="_ArQFYFoHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFYVoHEeS2WoXr83SnEA" name="floor" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericFloorOperation">
<ownedComment xmi:id="_ArQFYloHEeS2WoXr83SnEA" body="The largest integer that is less than or equal to oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFY1oHEeS2WoXr83SnEA" name="max" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMaxOperation">
<ownedComment xmi:id="_ArQFZFoHEeS2WoXr83SnEA" body="The maximum of oclText[self] and r."/>
<ownedParameter xmi:id="_ArQFZVoHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFZloHEeS2WoXr83SnEA" name="min" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinOperation">
<ownedComment xmi:id="_ArQFZ1oHEeS2WoXr83SnEA" body="The minimum of oclText[self] and r."/>
<ownedParameter xmi:id="_ArQFaFoHEeS2WoXr83SnEA" name="r" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFaVoHEeS2WoXr83SnEA" name="round" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericRoundOperation">
<ownedComment xmi:id="_ArQFaloHEeS2WoXr83SnEA" body="The integer that is closest to oclText[self]. When there are two such integers, the largest one."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFa1oHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQFbFoHEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_ArQFbVoHEeS2WoXr83SnEA" name="String" templateParameterSubstitution="_ArQDe1oHEeS2WoXr83SnEA _ArQEPloHEeS2WoXr83SnEA _ArQEj1oHEeS2WoXr83SnEA"
superClass="_ArQG91oHEeS2WoXr83SnEA _ArQHRFoHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_ArQFbloHEeS2WoXr83SnEA" name="+" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringConcatOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFb1oHEeS2WoXr83SnEA" body="The concatenation of oclText[self] and s."/>
<ownedParameter xmi:id="_ArQFcFoHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFcVoHEeS2WoXr83SnEA" name="&lt;" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLessThanOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFcloHEeS2WoXr83SnEA" body="True if oclText[self] is less than s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="_ArQFc1oHEeS2WoXr83SnEA" name="s" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFdFoHEeS2WoXr83SnEA" name="&lt;=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLessThanEqualOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFdVoHEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="_ArQFdloHEeS2WoXr83SnEA" name="s" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFd1oHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQFeFoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFeVoHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQFeloHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFe1oHEeS2WoXr83SnEA" name=">" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringGreaterThanOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFfFoHEeS2WoXr83SnEA" body="True if oclText[self] is greater than s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="_ArQFfVoHEeS2WoXr83SnEA" name="s" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFfloHEeS2WoXr83SnEA" name=">=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringGreaterThanEqualOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQFf1oHEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="_ArQFgFoHEeS2WoXr83SnEA" name="s" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFgVoHEeS2WoXr83SnEA" name="at" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFgloHEeS2WoXr83SnEA" body="Queries the character at position i in oclText[self]."/>
<ownedParameter xmi:id="_ArQFg1oHEeS2WoXr83SnEA" name="i" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFhFoHEeS2WoXr83SnEA" name="characters" type="_ArQEjVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringCharactersOperation">
<ownedComment xmi:id="_ArQFhVoHEeS2WoXr83SnEA" body="Obtains the characters of oclText[self] as a sequence."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFhloHEeS2WoXr83SnEA" name="compareTo" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringCompareToOperation">
<ownedComment xmi:id="_ArQFh1oHEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="_ArQFiFoHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFiVoHEeS2WoXr83SnEA" name="concat" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringConcatOperation">
<ownedComment xmi:id="_ArQFiloHEeS2WoXr83SnEA" body="The concatenation of oclText[self] and s."/>
<ownedParameter xmi:id="_ArQFi1oHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFjFoHEeS2WoXr83SnEA" name="endsWith" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringEndsWithOperation">
<ownedComment xmi:id="_ArQFjVoHEeS2WoXr83SnEA" body="Returns true if oclText[self] ends with the string s.&#xA;Every string ends with the empty string."/>
<ownedParameter xmi:id="_ArQFjloHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFj1oHEeS2WoXr83SnEA" name="equalsIgnoreCase" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringEqualsIgnoreCaseOperation">
<ownedComment xmi:id="_ArQFkFoHEeS2WoXr83SnEA" body="Queries whether s and oclText[self] are equivalent under case-insensitive collation."/>
<ownedParameter xmi:id="_ArQFkVoHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFkloHEeS2WoXr83SnEA" name="indexOf" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringIndexOfOperation">
<ownedComment xmi:id="_ArQFk1oHEeS2WoXr83SnEA" body="Queries the first index in oclText[self] at which s is a substring of oclText[self], or zero if s is not a substring of oclText[self].&#xA;The empty string is a substring of every string at index 1 (and also at all other indexes)."/>
<ownedParameter xmi:id="_ArQFlFoHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFlVoHEeS2WoXr83SnEA" name="lastIndexOf" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLastIndexOfOperation">
<ownedComment xmi:id="_ArQFlloHEeS2WoXr83SnEA" body="Queries the last in oclText[self] at which s is a substring of oclText[self], or zero if s is not a substring of oclText[self].&#xA;The empty string is a substring of every string at index oclText[self]-size()+1 (and also at all other indexes)."/>
<ownedParameter xmi:id="_ArQFl1oHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFmFoHEeS2WoXr83SnEA" name="matches" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringMatchesOperation">
<ownedComment xmi:id="_ArQFmVoHEeS2WoXr83SnEA" body="Use a regular expression match and return true if self matches regex, false otherwise."/>
<ownedParameter xmi:id="_ArQFmloHEeS2WoXr83SnEA" name="regex" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFm1oHEeS2WoXr83SnEA" name="replaceAll" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringReplaceAllOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFnFoHEeS2WoXr83SnEA" body="Return a string derived from self by replacing all matches of regex by replacement."/>
<ownedParameter xmi:id="_ArQFnVoHEeS2WoXr83SnEA" name="regex" type="_ArQFbVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQFnloHEeS2WoXr83SnEA" name="replacement" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFn1oHEeS2WoXr83SnEA" name="replaceFirst" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringReplaceFirstOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFoFoHEeS2WoXr83SnEA" body="Return a string derived from self by replacing the first match of regex by replacement."/>
<ownedParameter xmi:id="_ArQFoVoHEeS2WoXr83SnEA" name="regex" type="_ArQFbVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQFoloHEeS2WoXr83SnEA" name="replacement" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFo1oHEeS2WoXr83SnEA" name="size" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSizeOperation">
<ownedComment xmi:id="_ArQFpFoHEeS2WoXr83SnEA" body="The number of characters in oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFpVoHEeS2WoXr83SnEA" name="startsWith" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringStartsWithOperation">
<ownedComment xmi:id="_ArQFploHEeS2WoXr83SnEA" body="Returns true if oclText[self] starts with the string s.&#xA;Every string starts with the empty string."/>
<ownedParameter xmi:id="_ArQFp1oHEeS2WoXr83SnEA" name="s" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFqFoHEeS2WoXr83SnEA" name="substituteAll" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstituteAllOperation">
<ownedComment xmi:id="_ArQFqVoHEeS2WoXr83SnEA" body="Return a string derived from self by replacing all occurrences of oldSubstring by newSubstring."/>
<ownedParameter xmi:id="_ArQFqloHEeS2WoXr83SnEA" name="oldSubstring" type="_ArQFbVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQFq1oHEeS2WoXr83SnEA" name="newSubstring" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFrFoHEeS2WoXr83SnEA" name="substituteFirst" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstituteFirstOperation">
<ownedComment xmi:id="_ArQFrVoHEeS2WoXr83SnEA" body="Return a string derived from self by replacing the first occurrence of oldSubstring by newSubstring.&#xA;Returns invalid if there is no first occurrence."/>
<ownedParameter xmi:id="_ArQFrloHEeS2WoXr83SnEA" name="oldSubstring" type="_ArQFbVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQFr1oHEeS2WoXr83SnEA" name="newSubstring" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFsFoHEeS2WoXr83SnEA" name="substring" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstringOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFsVoHEeS2WoXr83SnEA" body="The sub-string of oclText[self] starting at character number lower, up to and including character number upper. Character numbers run from 1 to self.size()."/>
<ownedParameter xmi:id="_ArQFsloHEeS2WoXr83SnEA" name="lower" type="_ArQFGVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQFs1oHEeS2WoXr83SnEA" name="upper" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFtFoHEeS2WoXr83SnEA" name="toBoolean" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToBooleanOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFtVoHEeS2WoXr83SnEA" body="Converts oclText[self] to a boolean value."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFtloHEeS2WoXr83SnEA" name="toInteger" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToIntegerOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFt1oHEeS2WoXr83SnEA" body="Converts oclText[self] to an Integer value."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFuFoHEeS2WoXr83SnEA" name="toLower" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToLowerCaseOperation">
<ownedComment xmi:id="_ArQFuVoHEeS2WoXr83SnEA" body="This is a deprecated variant of toLowerCase() preserving compatibility with traditional Eclipse OCL behaviour."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFuloHEeS2WoXr83SnEA" name="toLowerCase" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToLowerCaseOperation">
<ownedComment xmi:id="_ArQFu1oHEeS2WoXr83SnEA" body="Converts oclText[self] to lower case, using the locale defined by looking up oclLocale in the current environment.&#xA;Otherwise, returns the same string as oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFvFoHEeS2WoXr83SnEA" name="toReal" type="_ArQFO1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToRealOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQFvVoHEeS2WoXr83SnEA" body="Converts oclText[self] to a Real value."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFvloHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQFv1oHEeS2WoXr83SnEA" body="Returns oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFwFoHEeS2WoXr83SnEA" name="toUpper" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToUpperCaseOperation">
<ownedComment xmi:id="_ArQFwVoHEeS2WoXr83SnEA" body="This is a deprecated variant of toUpperCase() preserving compatibility with traditional Eclipse OCL behaviour."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFwloHEeS2WoXr83SnEA" name="toUpperCase" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToUpperCaseOperation">
<ownedComment xmi:id="_ArQFw1oHEeS2WoXr83SnEA" body="Converts oclText[self] to upper case, using the locale defined by looking up oclLocale in the current environment.&#xA;Otherwise, returns the same string as oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFxFoHEeS2WoXr83SnEA" name="tokenize" type="_ArQEjVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="_ArQFxVoHEeS2WoXr83SnEA" body="Partition oclText[self] into a sequence substrings separated by any of space, line-feed, carriage-return, form-feed and horizontal-tab delimiters.&#xA;The delimiters are omitted from the return."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFxloHEeS2WoXr83SnEA" name="tokenize" type="_ArQEjVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="_ArQFx1oHEeS2WoXr83SnEA" body="Partition oclText[self] into a sequence substrings separated by characters in the delimiters. The delimiters are omitted from the return."/>
<ownedParameter xmi:id="_ArQFyFoHEeS2WoXr83SnEA" name="delimiters" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFyVoHEeS2WoXr83SnEA" name="tokenize" type="_ArQEjVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="_ArQFyloHEeS2WoXr83SnEA" body="Partition oclText[self] into a sequence substrings separated by characters in the delimiters. If returnDelimeters is&#xA;true the returned sequence includes the delimiters, otherwise the delimiters are omitted."/>
<ownedParameter xmi:id="_ArQFy1oHEeS2WoXr83SnEA" name="delimiters" type="_ArQFbVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQFzFoHEeS2WoXr83SnEA" name="returnDelimiters" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQFzVoHEeS2WoXr83SnEA" name="trim" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTrimOperation">
<ownedComment xmi:id="_ArQFzloHEeS2WoXr83SnEA" body="Return oclText[self] with leading and trailing whitespace removed."/>
</ownedOperation>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFE1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFOVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFa1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFbloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFcFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFgVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFiVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFi1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFjloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFkVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFlFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFl1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFmloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFm1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFnVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFnloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFn1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFoVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFoloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFp1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFqFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFqloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFq1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFrFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFrloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFr1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFsFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFuFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFuloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFvloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFwFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFwloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFyFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQFy1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQFzVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_ArQG8loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQG9VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHM1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_ArQHZ1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="umlMM.xml#_ArQIh1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="umlMM.xml#_ArQIiloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQCqloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:StringLiteralExp" href="mitosi.xml#_ArQCrFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQCsVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="mitosi.xml#_ArQCsloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQCuloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQCwVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="mitosi.xml#_ArQCxFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQC21oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:StringLiteralExp" href="mitosi.xml#_ArQC3FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQC3loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQC4FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQC5VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="mitosi.xml#_ArQC5loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="mitosi.xml#_ArQC51oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQC71oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="mitosi.xml#_ArQC9loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="mitosi.xml#_ArQC-VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="javaMM.xml#_ArQInloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="javaMM.xml#_ArQIpFoHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_ArQFz1oHEeS2WoXr83SnEA" name="UnlimitedNatural" superClass="_ArQFGVoHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_ArQF0FoHEeS2WoXr83SnEA" name="oclAsType" type="_ArQF1FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.UnlimitedNaturalOclAsTypeOperation">
<ownedComment xmi:id="_ArQF0VoHEeS2WoXr83SnEA" body="Evaluates to oclText[self], where oclText[self] is of the type identified by T.&#xA;The type T may be any classifier defined in the UML model;&#xA;if the actual type of oclText[self] at evaluation time does not conform to T,&#xA;then the oclAsType operation evaluates to oclText[invalid].&#xA;&#xA;The standard behavior is redefined for UnlimitedNatural. Numeric values may be converted to&#xA;Real or Integer, but the e[unlimited] value may not.&#xA;Conversion of e[unlimited] to Real or Integer returns oclText[invalid]."/>
<ownedTemplateSignature xmi:id="_ArQF0loHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQF01oHEeS2WoXr83SnEA" parameteredElement="_ArQF1FoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQF1FoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQF01oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD_1oHEeS2WoXr83SnEA" typedElement="_ArQF0FoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQF1VoHEeS2WoXr83SnEA" name="type" type="_ArQD_VoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_ArQF1loHEeS2WoXr83SnEA" name="Bag" superClass="_ArQDjloHEeS2WoXr83SnEA" typedElement="_ArQF31oHEeS2WoXr83SnEA _ArQF4loHEeS2WoXr83SnEA _ArQF6loHEeS2WoXr83SnEA _ArQF7VoHEeS2WoXr83SnEA _ArQGC1oHEeS2WoXr83SnEA _ArQGD1oHEeS2WoXr83SnEA"
elementType="_ArQF2VoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQF11oHEeS2WoXr83SnEA" templateBinding="_ArQDVloHEeS2WoXr83SnEA _ArQDWVoHEeS2WoXr83SnEA _ArQDXFoHEeS2WoXr83SnEA _ArQDX1oHEeS2WoXr83SnEA _ArQDYloHEeS2WoXr83SnEA _ArQDZVoHEeS2WoXr83SnEA _ArQDaFoHEeS2WoXr83SnEA _ArQDa1oHEeS2WoXr83SnEA _ArQDbloHEeS2WoXr83SnEA _ArQDcVoHEeS2WoXr83SnEA _ArQDdFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQF2FoHEeS2WoXr83SnEA" parameteredElement="_ArQF2VoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDV1oHEeS2WoXr83SnEA _ArQDWloHEeS2WoXr83SnEA _ArQDXVoHEeS2WoXr83SnEA _ArQDYFoHEeS2WoXr83SnEA _ArQDY1oHEeS2WoXr83SnEA _ArQDZloHEeS2WoXr83SnEA _ArQDaVoHEeS2WoXr83SnEA _ArQDbFoHEeS2WoXr83SnEA _ArQDb1oHEeS2WoXr83SnEA _ArQDcloHEeS2WoXr83SnEA _ArQDdVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQF2VoHEeS2WoXr83SnEA" name="T" templateParameter="_ArQF2FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDkFoHEeS2WoXr83SnEA _ArQEQVoHEeS2WoXr83SnEA _ArQEkloHEeS2WoXr83SnEA _ArQEsFoHEeS2WoXr83SnEA _ArQEy1oHEeS2WoXr83SnEA"
typedElement="_ArQF7FoHEeS2WoXr83SnEA _ArQF_VoHEeS2WoXr83SnEA _ArQGBFoHEeS2WoXr83SnEA _ArQGCloHEeS2WoXr83SnEA _ArQGDloHEeS2WoXr83SnEA _ArQGEloHEeS2WoXr83SnEA _ArQGFloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_ArQF2loHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQF21oHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF3FoHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQF3VoHEeS2WoXr83SnEA" body="True if oclText[self] and bag contain the same elements, the same number of times."/>
<ownedParameter xmi:id="_ArQF3loHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF31oHEeS2WoXr83SnEA" name="excluding" type="_ArQF1loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_ArQF4FoHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] apart from all occurrences of object."/>
<ownedParameter xmi:id="_ArQF4VoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF4loHEeS2WoXr83SnEA" name="excludingAll" type="_ArQF1loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_ArQF41oHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_ArQF5FoHEeS2WoXr83SnEA" name="objects" type="_ArQDuFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF5VoHEeS2WoXr83SnEA" name="flatten" type="_ArQDW1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_ArQF5loHEeS2WoXr83SnEA" body="Redefines the Collection operation. If the element type is not a collection type, this results in the same bag as oclText[self].&#xA;If the element type is a collection type, the result is the bag containing all the elements of all the recursively flattened elements of oclText[self]."/>
<ownedTemplateSignature xmi:id="_ArQF51oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQF6FoHEeS2WoXr83SnEA" parameteredElement="_ArQF6VoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQF6VoHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQF6FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDXVoHEeS2WoXr83SnEA _ArQDh1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_ArQF6loHEeS2WoXr83SnEA" name="including" type="_ArQF1loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_ArQF61oHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="_ArQF7FoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF7VoHEeS2WoXr83SnEA" name="includingAll" type="_ArQF1loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="_ArQF7loHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="_ArQF71oHEeS2WoXr83SnEA" name="objects" type="_ArQDjloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF8FoHEeS2WoXr83SnEA" name="selectByKind" type="_ArQDXloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_ArQF8VoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQF8loHEeS2WoXr83SnEA" parameteredElement="_ArQF81oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQF81oHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQF8loHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDYFoHEeS2WoXr83SnEA _ArQDiloHEeS2WoXr83SnEA _ArQEAloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQF9FoHEeS2WoXr83SnEA" name="type" type="_ArQEAFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQF9VoHEeS2WoXr83SnEA" name="selectByType" type="_ArQDYVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_ArQF9loHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQF91oHEeS2WoXr83SnEA" parameteredElement="_ArQF-FoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQF-FoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQF91oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDY1oHEeS2WoXr83SnEA _ArQDjVoHEeS2WoXr83SnEA _ArQEBVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQF-VoHEeS2WoXr83SnEA" name="type" type="_ArQEA1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQF-loHEeS2WoXr83SnEA" name="closure" type="_ArQErloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_ArQF-1oHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_ArQF_FoHEeS2WoXr83SnEA" name="lambda" type="_ArQDPFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQF_VoHEeS2WoXr83SnEA" name="i" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQF_loHEeS2WoXr83SnEA" name="collectNested" type="_ArQDVVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_ArQF_1oHEeS2WoXr83SnEA" body="The Bag of elements which results from applying body to every member of the source nonordered collection."/>
<ownedTemplateSignature xmi:id="_ArQGAFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGAVoHEeS2WoXr83SnEA" parameteredElement="_ArQGAloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGAloHEeS2WoXr83SnEA" name="V" templateParameter="_ArQGAVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDV1oHEeS2WoXr83SnEA _ArQDgVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGA1oHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDOVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGBFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGBVoHEeS2WoXr83SnEA" name="collect" type="_ArQDWFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_ArQGBloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGB1oHEeS2WoXr83SnEA" parameteredElement="_ArQGCFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGCFoHEeS2WoXr83SnEA" name="V" templateParameter="_ArQGB1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDWloHEeS2WoXr83SnEA _ArQDhFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGCVoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDOloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGCloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGC1oHEeS2WoXr83SnEA" name="reject" type="_ArQF1loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_ArQGDFoHEeS2WoXr83SnEA" body="The sub-bag of the source bag for which body is oclText[false].&#xA;&#xA;oclCode[self->reject(iterator | body) = self->select(iterator | not body)]."/>
<ownedParameter xmi:id="_ArQGDVoHEeS2WoXr83SnEA" name="lambda" type="_ArQDOFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGDloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGD1oHEeS2WoXr83SnEA" name="select" type="_ArQF1loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_ArQGEFoHEeS2WoXr83SnEA" body="The sub-bag of the source bag for which body is oclText[true].&#xA;&#xA;oclCode[self->select(iterator | body) =&#xA;self->iterate(iterator; result : Bag(T) = Bag{} |&#xA;if body then result->including(iterator)&#xA;else result&#xA;endif)]"/>
<ownedParameter xmi:id="_ArQGEVoHEeS2WoXr83SnEA" name="lambda" type="_ArQDOFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGEloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGE1oHEeS2WoXr83SnEA" name="sortedBy" type="_ArQEkFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_ArQGFFoHEeS2WoXr83SnEA" body="Results in the Sequence containing all elements of the source collection.&#xA;The element for which body has the lowest value comes first, and so on.&#xA;The type of the body expression must have the &lt; operation defined.&#xA;The &lt; operation must return a Boolean value and must be transitive (i.e., if a &lt; b and b &lt; c then a &lt; c)."/>
<ownedParameter xmi:id="_ArQGFVoHEeS2WoXr83SnEA" name="lambda" type="_ArQDO1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGFloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQF2VoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQGF1oHEeS2WoXr83SnEA" name="Class" superClass="_ArQGyVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQGGFoHEeS2WoXr83SnEA" name="Collection" templateParameterSubstitution="_ArQDaVoHEeS2WoXr83SnEA _ArQDrloHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQGPVoHEeS2WoXr83SnEA _ArQGQFoHEeS2WoXr83SnEA _ArQGUVoHEeS2WoXr83SnEA _ArQGVFoHEeS2WoXr83SnEA _ArQGVloHEeS2WoXr83SnEA _ArQGWVoHEeS2WoXr83SnEA _ArQGe1oHEeS2WoXr83SnEA _ArQGrVoHEeS2WoXr83SnEA _ArQGsVoHEeS2WoXr83SnEA"
elementType="_ArQGG1oHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQGGVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGGloHEeS2WoXr83SnEA" parameteredElement="_ArQGG1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGG1oHEeS2WoXr83SnEA" name="T" templateParameter="_ArQGGloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDZloHEeS2WoXr83SnEA _ArQDq1oHEeS2WoXr83SnEA _ArQERFoHEeS2WoXr83SnEA _ArQEdFoHEeS2WoXr83SnEA _ArQElVoHEeS2WoXr83SnEA _ArQEs1oHEeS2WoXr83SnEA _ArQEzloHEeS2WoXr83SnEA"
typedElement="_ArQDU1oHEeS2WoXr83SnEA _ArQGHVoHEeS2WoXr83SnEA _ArQGU1oHEeS2WoXr83SnEA _ArQGX1oHEeS2WoXr83SnEA _ArQGYVoHEeS2WoXr83SnEA _ArQGd1oHEeS2WoXr83SnEA _ArQGfFoHEeS2WoXr83SnEA _ArQGf1oHEeS2WoXr83SnEA _ArQGhloHEeS2WoXr83SnEA _ArQGjVoHEeS2WoXr83SnEA _ArQGkFoHEeS2WoXr83SnEA _ArQGkVoHEeS2WoXr83SnEA _ArQGlVoHEeS2WoXr83SnEA _ArQGmFoHEeS2WoXr83SnEA _ArQGmVoHEeS2WoXr83SnEA _ArQGnVoHEeS2WoXr83SnEA _ArQGoVoHEeS2WoXr83SnEA _ArQGqFoHEeS2WoXr83SnEA _ArQGrFoHEeS2WoXr83SnEA _ArQGsFoHEeS2WoXr83SnEA _ArQGtFoHEeS2WoXr83SnEA _ArQGuFoHEeS2WoXr83SnEA">
<ownedAttribute xmi:id="_ArQGHFoHEeS2WoXr83SnEA" name="Collection" type="_ArQDZ1oHEeS2WoXr83SnEA" implicit="true" opposite="_ArQGHVoHEeS2WoXr83SnEA"/>
</ownedParameteredElement>
<templateParameterSubstitution href="#_ArQDeFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDe1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDfloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDgVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDhFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDh1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDiloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDjVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDkFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDk1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDlloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDmVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDnFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDn1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDoloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDpVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDqFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDq1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDrloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDsVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDtFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDt1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDuloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDvVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDwFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDw1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDxloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDyVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDzFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQDz1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD0loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD1VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD2FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD21oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD3loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD4VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD5FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD51oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD6loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD7VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD8FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD81oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD9loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD-VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQD_FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="umlMM.xml#_ArQIkVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="mitosi.xml#_ArQDLFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="javaMM.xml#_ArQIrFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="javaMM.xml#_ArQIr1oHEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="#_ArQDd1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDeloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDfVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDgFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDg1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDhloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDiVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDjFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDj1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDkloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDlVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDmFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDm1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDnloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDoVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDpFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDp1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDqloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDrVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDsFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDs1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDtloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDuVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDvFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDv1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDwloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDxVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDyFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDy1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQDzloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD0VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD1FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD11oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD2loHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD3VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD4FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD41oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD5loHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD6VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD7FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD71oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD8loHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD9VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD-FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQD-1oHEeS2WoXr83SnEA"/>
<templateBinding href="umlMM.xml#_ArQIkFoHEeS2WoXr83SnEA"/>
<templateBinding href="mitosi.xml#_ArQDK1oHEeS2WoXr83SnEA"/>
<templateBinding href="javaMM.xml#_ArQIq1oHEeS2WoXr83SnEA"/>
<templateBinding href="javaMM.xml#_ArQIrloHEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedAttribute xmi:id="_ArQGHVoHEeS2WoXr83SnEA" isStatic="true" name="elementType" type="_ArQGG1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionElementTypeProperty"
opposite="_ArQGHFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGHloHEeS2WoXr83SnEA" body="Evaluates to the type of the collection elements."/>
</ownedAttribute>
<ownedAttribute xmi:id="_ArQGH1oHEeS2WoXr83SnEA" isStatic="true" name="lower" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionLowerProperty">
<ownedComment xmi:id="_ArQGIFoHEeS2WoXr83SnEA" body="Evaluates to the lower bound on the number of collection elements."/>
</ownedAttribute>
<ownedAttribute xmi:id="_ArQGIVoHEeS2WoXr83SnEA" isStatic="true" name="upper" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUpperProperty">
<ownedComment xmi:id="_ArQGIloHEeS2WoXr83SnEA" body="Evaluates to the upper bound on the number of collection elements."/>
</ownedAttribute>
<ownedOperation xmi:id="_ArQGI1oHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGJFoHEeS2WoXr83SnEA" body="True if c is not equal to oclText[self]."/>
<ownedParameter xmi:id="_ArQGJVoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGJloHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGJ1oHEeS2WoXr83SnEA" body="True if c is a collection of the same kind as oclText[self] and contains the same elements in the same quantities and in the same order,&#xA;in the case of an ordered collection type."/>
<ownedParameter xmi:id="_ArQGKFoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGKVoHEeS2WoXr83SnEA" name="asBag" type="_ArQDZFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsBagOperation">
<ownedComment xmi:id="_ArQGKloHEeS2WoXr83SnEA" body="The Bag that contains all the elements from oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGK1oHEeS2WoXr83SnEA" name="asOrderedSet" type="_ArQEcloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsOrderedSetOperation">
<ownedComment xmi:id="_ArQGLFoHEeS2WoXr83SnEA" body="An OrderedSet that contains all the elements from oclText[self], with duplicates removed,&#xA;in an order dependent on the particular concrete collection type."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGLVoHEeS2WoXr83SnEA" name="asSequence" type="_ArQEk1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsSequenceOperation">
<ownedComment xmi:id="_ArQGLloHEeS2WoXr83SnEA" body="A Sequence that contains all the elements from oclText[self], in an order dependent on the particular concrete collection type."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGL1oHEeS2WoXr83SnEA" name="asSet" type="_ArQEsVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsSetOperation">
<ownedComment xmi:id="_ArQGMFoHEeS2WoXr83SnEA" body="The Set containing all the elements from oclText[self], with duplicates removed."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGMVoHEeS2WoXr83SnEA" name="count" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionCountOperation">
<ownedComment xmi:id="_ArQGMloHEeS2WoXr83SnEA" body="The number of times that object occurs in the collection oclText[self]."/>
<ownedParameter xmi:id="_ArQGM1oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGNFoHEeS2WoXr83SnEA" name="excludes" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludesOperation">
<ownedComment xmi:id="_ArQGNVoHEeS2WoXr83SnEA" body="True if object is not an element of oclText[self], oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQGNloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGN1oHEeS2WoXr83SnEA" name="excludesAll" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludesAllOperation">
<ownedComment xmi:id="_ArQGOFoHEeS2WoXr83SnEA" body="Does oclText[self] contain none of the elements of c2 ?"/>
<ownedTemplateSignature xmi:id="_ArQGOVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGOloHEeS2WoXr83SnEA" parameteredElement="_ArQGO1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGO1oHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQGOloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDmVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGPFoHEeS2WoXr83SnEA" name="c2" type="_ArQDl1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGPVoHEeS2WoXr83SnEA" name="excluding" type="_ArQGGFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_ArQGPloHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] apart from object."/>
<ownedParameter xmi:id="_ArQGP1oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGQFoHEeS2WoXr83SnEA" name="excludingAll" type="_ArQGGFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_ArQGQVoHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_ArQGQloHEeS2WoXr83SnEA" name="objects" type="_ArQDuFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGQ1oHEeS2WoXr83SnEA" name="flatten" type="_ArQDmloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_ArQGRFoHEeS2WoXr83SnEA" body="If the element type is not a collection type, this results in the same collection as oclText[self].&#xA;If the element type is a collection type, the result is a collection containing all the elements of all the recursively flattened elements of oclText[self]."/>
<ownedTemplateSignature xmi:id="_ArQGRVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGRloHEeS2WoXr83SnEA" parameteredElement="_ArQGR1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGR1oHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQGRloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDnFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_ArQGSFoHEeS2WoXr83SnEA" name="includes" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludesOperation">
<ownedComment xmi:id="_ArQGSVoHEeS2WoXr83SnEA" body="True if object is an element of oclText[self], oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQGSloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGS1oHEeS2WoXr83SnEA" name="includesAll" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludesAllOperation">
<ownedComment xmi:id="_ArQGTFoHEeS2WoXr83SnEA" body="Does oclText[self] contain all the elements of c2 ?"/>
<ownedTemplateSignature xmi:id="_ArQGTVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGTloHEeS2WoXr83SnEA" parameteredElement="_ArQGT1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGT1oHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQGTloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDn1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGUFoHEeS2WoXr83SnEA" name="c2" type="_ArQDnVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGUVoHEeS2WoXr83SnEA" name="including" type="_ArQGGFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_ArQGUloHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="_ArQGU1oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGVFoHEeS2WoXr83SnEA" name="includingAll" type="_ArQGGFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="_ArQGVVoHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="_ArQGVloHEeS2WoXr83SnEA" name="objects" type="_ArQGGFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGV1oHEeS2WoXr83SnEA" name="intersection" type="_ArQDZFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="_ArQGWFoHEeS2WoXr83SnEA" body="The intersection of oclText[self] and bag; the bag of all elements that are in both oclText[self] and c."/>
<ownedParameter xmi:id="_ArQGWVoHEeS2WoXr83SnEA" name="c" type="_ArQGGFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGWloHEeS2WoXr83SnEA" name="intersection" type="_ArQEsVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="_ArQGW1oHEeS2WoXr83SnEA" body="The intersection of oclText[self] and a unique collection; the set of all elements that are in both oclText[self] and u."/>
<ownedParameter xmi:id="_ArQGXFoHEeS2WoXr83SnEA" name="u" type="_ArQEzFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGXVoHEeS2WoXr83SnEA" name="isEmpty" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIsEmptyOperation">
<ownedComment xmi:id="_ArQGXloHEeS2WoXr83SnEA" body="Is oclText[self] the empty collection?&#xA;&#xA;Note: oclText[null->isEmpty()] returns oclText[true] in virtue of the implicit casting from oclText[null] to oclText[Bag{}]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGX1oHEeS2WoXr83SnEA" name="max" type="_ArQGG1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionMaxOperation">
<ownedComment xmi:id="_ArQGYFoHEeS2WoXr83SnEA" body="The element with the maximum value of all elements in oclText[self].&#xA;Elements must be of a type supporting the max operation.&#xA;The max operation - supported by the elements - must take one parameter of type T and be both associative and commutative.&#xA;UnlimitedNatural, Integer and Real fulfill this condition."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGYVoHEeS2WoXr83SnEA" name="min" type="_ArQGG1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionMinOperation">
<ownedComment xmi:id="_ArQGYloHEeS2WoXr83SnEA" body="The element with the minimum value of all elements in oclText[self].&#xA;Elements must be of a type supporting the min operation.&#xA;The min operation - supported by the elements - must take one parameter of type T and be both associative and commutative.&#xA;UnlimitedNatural, Integer and Real fulfill this condition."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGY1oHEeS2WoXr83SnEA" name="notEmpty" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionNotEmptyOperation">
<ownedComment xmi:id="_ArQGZFoHEeS2WoXr83SnEA" body="Is oclText[self] not the empty collection?&#xA;&#xA;oclText[null->notEmpty()] returns oclText[false] in virtue of the implicit casting from oclText[null] to oclText[Bag{}]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGZVoHEeS2WoXr83SnEA" name="product" type="_ArQEq1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionProductOperation">
<ownedComment xmi:id="_ArQGZloHEeS2WoXr83SnEA" body="The cartesian product operation of oclText[self] and c2."/>
<ownedTemplateSignature xmi:id="_ArQGZ1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGaFoHEeS2WoXr83SnEA" parameteredElement="_ArQGaVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGaVoHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQGaFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDoloHEeS2WoXr83SnEA" typedElement="_ArQDVFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGaloHEeS2WoXr83SnEA" name="c2" type="_ArQDoFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGa1oHEeS2WoXr83SnEA" name="selectByKind" type="_ArQDo1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_ArQGbFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGbVoHEeS2WoXr83SnEA" parameteredElement="_ArQGbloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGbloHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQGbVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDpVoHEeS2WoXr83SnEA _ArQECFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGb1oHEeS2WoXr83SnEA" name="type" type="_ArQEBloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGcFoHEeS2WoXr83SnEA" name="selectByType" type="_ArQDploHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_ArQGcVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGcloHEeS2WoXr83SnEA" parameteredElement="_ArQGc1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGc1oHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQGcloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDqFoHEeS2WoXr83SnEA _ArQEC1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGdFoHEeS2WoXr83SnEA" name="type" type="_ArQECVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGdVoHEeS2WoXr83SnEA" name="size" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSizeOperation">
<ownedComment xmi:id="_ArQGdloHEeS2WoXr83SnEA" body="The number of elements in the collection oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGd1oHEeS2WoXr83SnEA" name="sum" type="_ArQGG1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSumOperation">
<ownedComment xmi:id="_ArQGeFoHEeS2WoXr83SnEA" body="The addition of all elements in oclText[self].&#xA;Elements must be of an oclText[OclSummable] type to provide the zero() and sum() operations.&#xA;The e[sum] operation must be both associative: a.sum(b).sum(c) = a.sum(b.sum(c)), and commutative: a.sum(b) = b.sum(a).&#xA;UnlimitedNatural, Integer and Real fulfill this condition.&#xA;&#xA;If the e[sum] operation is not both associative and commutative, the e[sum] expression is not well-formed,&#xA;which may result in unpredictable results during evaluation.&#xA;If an implementation is able to detect a lack of associativity or commutativity,&#xA;the implementation may bypass the evaluation and return an oclText[invalid] result."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGeVoHEeS2WoXr83SnEA" name="union" type="_ArQDZFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUnionOperation">
<ownedComment xmi:id="_ArQGeloHEeS2WoXr83SnEA" body="The bag consisting of all elements in oclText[self] and all elements in c."/>
<ownedParameter xmi:id="_ArQGe1oHEeS2WoXr83SnEA" name="c" type="_ArQGGFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGfFoHEeS2WoXr83SnEA" name="any" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.AnyIteration" isInvalidating="true">
<ownedComment xmi:id="_ArQGfVoHEeS2WoXr83SnEA" body="Returns any element in the source collection for which body evaluates to oclText[true].&#xA;If there is more than one element for which body is oclText[true], one of them is returned.&#xA;There must be at least one element fulfilling body, otherwise the result of this IteratorExp is oclText[null]."/>
<ownedParameter xmi:id="_ArQGfloHEeS2WoXr83SnEA" name="lambda" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGf1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGgFoHEeS2WoXr83SnEA" name="collectNested" type="_ArQDkVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_ArQGgVoHEeS2WoXr83SnEA" body="The Collection of elements which results from applying body to every member of the source collection."/>
<ownedTemplateSignature xmi:id="_ArQGgloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGg1oHEeS2WoXr83SnEA" parameteredElement="_ArQGhFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGhFoHEeS2WoXr83SnEA" name="V" templateParameter="_ArQGg1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDk1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGhVoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDPloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGhloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGh1oHEeS2WoXr83SnEA" name="collect" type="_ArQDlFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedComment xmi:id="_ArQGiFoHEeS2WoXr83SnEA" body="The Collection of elements that results from applying body to every member of the source set.&#xA;The result is flattened. Notice that this is based on collectNested, which can be of different type depending on the type of source.&#xA;collectNested is defined individually for each subclass of CollectionType."/>
<ownedTemplateSignature xmi:id="_ArQGiVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGiloHEeS2WoXr83SnEA" parameteredElement="_ArQGi1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGi1oHEeS2WoXr83SnEA" name="V" templateParameter="_ArQGiloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDlloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGjFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDP1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGjVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGjloHEeS2WoXr83SnEA" name="exists" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ExistsIteration" isValidating="true">
<ownedParameter xmi:id="_ArQGj1oHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGkFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGkVoHEeS2WoXr83SnEA" name="j" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGkloHEeS2WoXr83SnEA" name="exists" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ExistsIteration" isValidating="true">
<ownedComment xmi:id="_ArQGk1oHEeS2WoXr83SnEA" body="Results in oclText[true] if body evaluates to oclText[true] for at least one element in the source collection."/>
<ownedParameter xmi:id="_ArQGlFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGlVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGlloHEeS2WoXr83SnEA" name="forAll" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ForAllIteration" isValidating="true">
<ownedParameter xmi:id="_ArQGl1oHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGmFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGmVoHEeS2WoXr83SnEA" name="j" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGmloHEeS2WoXr83SnEA" name="forAll" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ForAllIteration" isValidating="true">
<ownedComment xmi:id="_ArQGm1oHEeS2WoXr83SnEA" body="Results in oclText[true] if the body expression evaluates to oclText[true] for each element in the source collection; otherwise, result is oclText[false]."/>
<ownedParameter xmi:id="_ArQGnFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGnVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGnloHEeS2WoXr83SnEA" name="isUnique" type="_ArQE-1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.IsUniqueIteration">
<ownedComment xmi:id="_ArQGn1oHEeS2WoXr83SnEA" body="Results in oclText[true] if body evaluates to a different value for each element in the source collection; otherwise, result is oclText[false]."/>
<ownedParameter xmi:id="_ArQGoFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDQVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGoVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGoloHEeS2WoXr83SnEA" name="iterate" isRequired="false" type="_ArQGpVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.IterateIteration">
<ownedTemplateSignature xmi:id="_ArQGo1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGpFoHEeS2WoXr83SnEA" parameteredElement="_ArQGpVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGpVoHEeS2WoXr83SnEA" name="Tacc" templateParameter="_ArQGpFoHEeS2WoXr83SnEA"
typedElement="_ArQGoloHEeS2WoXr83SnEA _ArQGp1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQGploHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDQFoHEeS2WoXr83SnEA"/>
<ownedAccumulator xmi:id="_ArQGp1oHEeS2WoXr83SnEA" name="acc" isRequired="false" type="_ArQGpVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGqFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGqVoHEeS2WoXr83SnEA" name="one" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.OneIteration">
<ownedComment xmi:id="_ArQGqloHEeS2WoXr83SnEA" body="Results in oclText[true] if there is exactly one element in the source collection for which body is oclText[true]."/>
<ownedParameter xmi:id="_ArQGq1oHEeS2WoXr83SnEA" name="lambda" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGrFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGrVoHEeS2WoXr83SnEA" name="reject" type="_ArQGGFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_ArQGrloHEeS2WoXr83SnEA" body="The sub-collection of the source collection for which body is oclText[false]."/>
<ownedParameter xmi:id="_ArQGr1oHEeS2WoXr83SnEA" name="lambda" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGsFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGsVoHEeS2WoXr83SnEA" name="select" type="_ArQGGFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_ArQGsloHEeS2WoXr83SnEA" body="The sub-collection of the source collection for which body is oclText[true]."/>
<ownedParameter xmi:id="_ArQGs1oHEeS2WoXr83SnEA" name="lambda" type="_ArQDPVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGtFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQGtVoHEeS2WoXr83SnEA" name="sortedBy" type="_ArQEk1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_ArQGtloHEeS2WoXr83SnEA" body="Results in the Collection containing all elements of the source collection.&#xA;The element for which body has the lowest value comes first, and so on.&#xA;The type of the body expression must have the &lt; operation defined.&#xA;The &lt; operation must return a Boolean value and must be transitive (i.e., if a &lt; b and b &lt; c then a &lt; c)."/>
<ownedParameter xmi:id="_ArQGt1oHEeS2WoXr83SnEA" name="lambda" type="_ArQDQVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQGuFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQGG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQGuVoHEeS2WoXr83SnEA" name="Enumeration" templateParameterSubstitution="_ArQDbFoHEeS2WoXr83SnEA _ArQDtFoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGuloHEeS2WoXr83SnEA" body="The Enumeration type is the type of an OrderedSet of EnumerationLiteral."/>
<ownedAttribute xmi:id="_ArQGu1oHEeS2WoXr83SnEA" isStatic="true" name="allLiterals" type="_ArQEdVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.enumeration.EnumerationOwnedLiteralProperty"
opposite="_ArQGwVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGvFoHEeS2WoXr83SnEA" body="Evaluates to the literals of the enumeration."/>
</ownedAttribute>
<ownedOperation xmi:id="_ArQGvVoHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.enumeration.EnumerationAllInstancesOperation">
<ownedComment xmi:id="_ArQGvloHEeS2WoXr83SnEA" body="Return a set of all enumeration values of oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQGv1oHEeS2WoXr83SnEA" name="EnumerationLiteral" templateParameterSubstitution="_ArQDsVoHEeS2WoXr83SnEA _ArQER1oHEeS2WoXr83SnEA _ArQEd1oHEeS2WoXr83SnEA _ArQE0VoHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGwFoHEeS2WoXr83SnEA" body="The standard type EnumerationLiteral represents a named constant value of an Enumeration."/>
<ownedAttribute xmi:id="_ArQGwVoHEeS2WoXr83SnEA" name="Enumeration" type="_ArQDaloHEeS2WoXr83SnEA" implicit="true" opposite="_ArQGu1oHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_ArQGwloHEeS2WoXr83SnEA" name="Metaclass" templateParameterSubstitution="_ArQDb1oHEeS2WoXr83SnEA _ArQDt1oHEeS2WoXr83SnEA"
superClass="_ArQGF1oHEeS2WoXr83SnEA _ArQHUVoHEeS2WoXr83SnEA" instanceType="_ArQGxVoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQGw1oHEeS2WoXr83SnEA" templateBinding="_ArQD_loHEeS2WoXr83SnEA _ArQEAVoHEeS2WoXr83SnEA _ArQEBFoHEeS2WoXr83SnEA _ArQEB1oHEeS2WoXr83SnEA _ArQECloHEeS2WoXr83SnEA _ArQEDVoHEeS2WoXr83SnEA _ArQEEFoHEeS2WoXr83SnEA _ArQEE1oHEeS2WoXr83SnEA _ArQEFloHEeS2WoXr83SnEA _ArQEGVoHEeS2WoXr83SnEA _ArQEHFoHEeS2WoXr83SnEA _ArQEH1oHEeS2WoXr83SnEA _ArQEIloHEeS2WoXr83SnEA _ArQEJVoHEeS2WoXr83SnEA _ArQEKFoHEeS2WoXr83SnEA _ArQEK1oHEeS2WoXr83SnEA _ArQELloHEeS2WoXr83SnEA _ArQEMVoHEeS2WoXr83SnEA _ArQENFoHEeS2WoXr83SnEA _ArQEN1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQGxFoHEeS2WoXr83SnEA" parameteredElement="_ArQGxVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD_1oHEeS2WoXr83SnEA _ArQEAloHEeS2WoXr83SnEA _ArQEBVoHEeS2WoXr83SnEA _ArQECFoHEeS2WoXr83SnEA _ArQEC1oHEeS2WoXr83SnEA _ArQEDloHEeS2WoXr83SnEA _ArQEEVoHEeS2WoXr83SnEA _ArQEFFoHEeS2WoXr83SnEA _ArQEF1oHEeS2WoXr83SnEA _ArQEGloHEeS2WoXr83SnEA _ArQEHVoHEeS2WoXr83SnEA _ArQEIFoHEeS2WoXr83SnEA _ArQEI1oHEeS2WoXr83SnEA _ArQEJloHEeS2WoXr83SnEA _ArQEKVoHEeS2WoXr83SnEA _ArQELFoHEeS2WoXr83SnEA _ArQEL1oHEeS2WoXr83SnEA _ArQEMloHEeS2WoXr83SnEA _ArQENVoHEeS2WoXr83SnEA _ArQEOFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQGxVoHEeS2WoXr83SnEA" name="T" templateParameter="_ArQGxFoHEeS2WoXr83SnEA"
typedElement="_ArQGx1oHEeS2WoXr83SnEA">
<ownedAttribute xmi:id="_ArQGxloHEeS2WoXr83SnEA" name="Metaclass" type="_ArQDbVoHEeS2WoXr83SnEA" implicit="true" opposite="_ArQGx1oHEeS2WoXr83SnEA"/>
</ownedParameteredElement>
</ownedParameter>
</ownedTemplateSignature>
<ownedAttribute xmi:id="_ArQGx1oHEeS2WoXr83SnEA" name="instanceType" type="_ArQGxVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.MetaclassInstanceTypeProperty"
opposite="_ArQGxloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGyFoHEeS2WoXr83SnEA" body="Evaluates to the type of instances."/>
</ownedAttribute>
</ownedType>
<ownedType xmi:type="flatemofqvt:AnyType" xmi:id="_ArQGyVoHEeS2WoXr83SnEA" name="OclAny" templateParameterSubstitution="_ArQDuloHEeS2WoXr83SnEA _ArQE1FoHEeS2WoXr83SnEA"
typedElement="_ArQF4VoHEeS2WoXr83SnEA _ArQGM1oHEeS2WoXr83SnEA _ArQGNloHEeS2WoXr83SnEA _ArQGP1oHEeS2WoXr83SnEA _ArQGSloHEeS2WoXr83SnEA _ArQHP1oHEeS2WoXr83SnEA _ArQHdFoHEeS2WoXr83SnEA _ArQHiloHEeS2WoXr83SnEA _ArQH3VoHEeS2WoXr83SnEA _ArQILloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGyloHEeS2WoXr83SnEA" body="All types in the UML model and the primitive and collection types in the OCL standard library conforms to the type OclAny.&#xA;Conceptually, OclAny behaves as a supertype for all the types.&#xA;Features of OclAny are available on each object in all OCL expressions.&#xA;OclAny is itself an instance of the metatype AnyType.&#xA;&#xA;All classes in a UML model inherit all operations defined on OclAny.&#xA;To avoid name conflicts between properties in the model and the properties inherited from OclAny,&#xA;all names on the properties of OclAny start with &#x2018;ocl.&#x2019;&#xA;Although theoretically there may still be name conflicts, they can be avoided.&#xA;One can also use qualification by OclAny (name of the type) to explicitly refer to the OclAny properties.&#xA;&#xA;Operations of OclAny, where the instance of OclAny is called object."/>
<ownedOperation xmi:id="_ArQGy1oHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGzFoHEeS2WoXr83SnEA" body="True if oclText[self] is a different object from object2. Infix operator."/>
<ownedParameter xmi:id="_ArQGzVoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQGzloHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQGz1oHEeS2WoXr83SnEA" body="True if oclText[self] is the same object as object2. Infix operator."/>
<ownedParameter xmi:id="_ArQG0FoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG0VoHEeS2WoXr83SnEA" name="oclAsSet" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsSetOperation">
<ownedComment xmi:id="_ArQG0loHEeS2WoXr83SnEA" body="Returns a Set with oclText[self] as the sole content, unless oclText[self] is oclText[null] in which case returns an empty set,"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG01oHEeS2WoXr83SnEA" name="oclAsType" isRequired="false" type="_ArQG11oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsTypeOperation">
<ownedComment xmi:id="_ArQG1FoHEeS2WoXr83SnEA" body="Evaluates to oclText[self], where oclText[self] is of the type identified by T.&#xA;The type T may be any classifier defined in the UML model;&#xA;if the actual type of oclText[self] at evaluation time does not conform to T,&#xA;then the oclAsType operation evaluates to oclText[invalid].&#xA;&#xA;In the case of feature redefinition, casting an object to a supertype of its actual type&#xA;does not access the supertype&#x2019;s definition of the feature;&#xA;according to the semantics of redefinition, the redefined feature simply does not exist for the object.&#xA;However, when casting to a supertype, any features additionally defined by the subtype are suppressed."/>
<ownedTemplateSignature xmi:id="_ArQG1VoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQG1loHEeS2WoXr83SnEA" parameteredElement="_ArQG11oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQG11oHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQG1loHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEDloHEeS2WoXr83SnEA" typedElement="_ArQG01oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQG2FoHEeS2WoXr83SnEA" name="type" type="_ArQEDFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG2VoHEeS2WoXr83SnEA" name="oclIsInState" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInStateOperation">
<ownedComment xmi:id="_ArQG2loHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is in the state indentified by statespec."/>
<ownedParameter xmi:id="_ArQG21oHEeS2WoXr83SnEA" name="statespec" type="_ArQHQ1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG3FoHEeS2WoXr83SnEA" name="oclIsInvalid" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true">
<ownedComment xmi:id="_ArQG3VoHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is equal to OclInvalid."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG3loHEeS2WoXr83SnEA" name="oclIsKindOf" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsKindOfOperation">
<ownedComment xmi:id="_ArQG31oHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the type of oclText[self] conforms to t.&#xA;That is, oclText[self] is of type t or a subtype of t."/>
<ownedTemplateSignature xmi:id="_ArQG4FoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQG4VoHEeS2WoXr83SnEA" parameteredElement="_ArQG4loHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQG4loHEeS2WoXr83SnEA" name="T" templateParameter="_ArQG4VoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEEVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQG41oHEeS2WoXr83SnEA" name="type" type="_ArQED1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG5FoHEeS2WoXr83SnEA" name="oclIsNew" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_ArQG5VoHEeS2WoXr83SnEA" body="Can only be used in a postcondition.&#xA;Evaluates to oclText[true] if the oclText[self] is created during performing the operation (for instance, it didn&#x2019;t exist at precondition time)."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG5loHEeS2WoXr83SnEA" name="oclIsTypeOf" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsTypeOfOperation">
<ownedComment xmi:id="_ArQG51oHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if oclText[self] is of the type t but not a subtype of t"/>
<ownedTemplateSignature xmi:id="_ArQG6FoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQG6VoHEeS2WoXr83SnEA" parameteredElement="_ArQG6loHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQG6loHEeS2WoXr83SnEA" name="T" templateParameter="_ArQG6VoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEFFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQG61oHEeS2WoXr83SnEA" name="type" type="_ArQEEloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG7FoHEeS2WoXr83SnEA" name="oclIsUndefined" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true">
<ownedComment xmi:id="_ArQG7VoHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is equal to oclText[invalid] or equal to oclText[null]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG7loHEeS2WoXr83SnEA" name="oclLog" type="_ArQHQVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclLogOperation">
<ownedComment xmi:id="_ArQG71oHEeS2WoXr83SnEA" body="Evaluates to the self, with the side effect of generating a log message comprising self."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG8FoHEeS2WoXr83SnEA" name="oclLog" type="_ArQHQVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclLogOperation">
<ownedComment xmi:id="_ArQG8VoHEeS2WoXr83SnEA" body="Evaluates to the self, with the side effect of generating a log message comprising message followed by self."/>
<ownedParameter xmi:id="_ArQG8loHEeS2WoXr83SnEA" name="message" type="_ArQFbVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG81oHEeS2WoXr83SnEA" name="oclType" type="_ArQEIVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclTypeOperation">
<ownedComment xmi:id="_ArQG9FoHEeS2WoXr83SnEA" body="Evaluates to the type of which oclText[self] is an instance."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG9VoHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQG9loHEeS2WoXr83SnEA" body="Returns a string representation of oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQG91oHEeS2WoXr83SnEA" name="OclComparable" superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQG-FoHEeS2WoXr83SnEA" body="The type OclComparable defines the compareTo operation used by the sortedBy iteration. Only types that provide a derived&#xA;compareTo implementation may be sorted."/>
<ownedOperation xmi:id="_ArQG-VoHEeS2WoXr83SnEA" name="&lt;" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableLessThanOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQG-loHEeS2WoXr83SnEA" body="True if oclText[self] is less than oclText[that]."/>
<ownedParameter xmi:id="_ArQG-1oHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG_FoHEeS2WoXr83SnEA" name="&lt;=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableLessThanEqualOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQG_VoHEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to oclText[that]."/>
<ownedParameter xmi:id="_ArQG_loHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQG_1oHEeS2WoXr83SnEA" name=">" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableGreaterThanOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHAFoHEeS2WoXr83SnEA" body="True if oclText[self] is greater than oclText[that]."/>
<ownedParameter xmi:id="_ArQHAVoHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHAloHEeS2WoXr83SnEA" name=">=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableGreaterThanEqualOperation"
precedence="_ArQIfloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHA1oHEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to oclText[that]."/>
<ownedParameter xmi:id="_ArQHBFoHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHBVoHEeS2WoXr83SnEA" name="compareTo" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableCompareToOperation">
<ownedComment xmi:id="_ArQHBloHEeS2WoXr83SnEA" body="Return -ve, 0, +ve according to whether self is less than, equal to , or greater than that.&#xA;&#xA;The compareTo operation should be commutative."/>
<ownedParameter xmi:id="_ArQHB1oHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHCFoHEeS2WoXr83SnEA" name="OclElement" templateParameterSubstitution="_ArQDvVoHEeS2WoXr83SnEA _ArQEtloHEeS2WoXr83SnEA _ArQE11oHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQHDFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHCVoHEeS2WoXr83SnEA" body="The type OclElement is the implicit supertype of any user-defined type that has no explicit supertypes. Operations defined&#xA;for OclElement are therefore applicable to all user-defined types."/>
<ownedOperation xmi:id="_ArQHCloHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierAllInstancesOperation">
<ownedComment xmi:id="_ArQHC1oHEeS2WoXr83SnEA" body="Return a set of all instances of the type and derived types of self."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHDFoHEeS2WoXr83SnEA" name="oclContainer" isRequired="false" type="_ArQHCFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierOclContainerOperation">
<ownedComment xmi:id="_ArQHDVoHEeS2WoXr83SnEA" body="Returns the object for which self is a composed content or null if there is no such object."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHDloHEeS2WoXr83SnEA" name="oclContents" type="_ArQEtFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierOclContentsOperation">
<ownedComment xmi:id="_ArQHD1oHEeS2WoXr83SnEA" body="Returns the composed contents of self."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:InvalidType" xmi:id="_ArQHEFoHEeS2WoXr83SnEA" name="OclInvalid" templateParameterSubstitution="_ArQEIFoHEeS2WoXr83SnEA"
superClass="_ArQHVloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHEVoHEeS2WoXr83SnEA" body="The type OclInvalid is a type that conforms to all other types.&#xA;It has one single instance, identified as oclText[invalid].&#xA;Any property call applied on invalid results in oclText[invalid], except for the operations oclIsUndefined() and oclIsInvalid().&#xA;OclInvalid is itself an instance of the metatype InvalidType."/>
<ownedOperation xmi:id="_ArQHEloHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHE1oHEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
<ownedParameter xmi:id="_ArQHFFoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHFVoHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHFloHEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
<ownedParameter xmi:id="_ArQHF1oHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHGFoHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclinvalid.OclInvalidAllInstancesOperation">
<ownedComment xmi:id="_ArQHGVoHEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHGloHEeS2WoXr83SnEA" name="and" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isValidating="true" precedence="_ArQIgFoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHG1oHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHHFoHEeS2WoXr83SnEA" name="implies" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanImpliesOperation"
isValidating="true" precedence="_ArQIg1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHHVoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHHloHEeS2WoXr83SnEA" name="oclAsSet" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsSetOperation"/>
<ownedOperation xmi:id="_ArQHH1oHEeS2WoXr83SnEA" name="oclAsType" type="_ArQHIloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsTypeOperation">
<ownedTemplateSignature xmi:id="_ArQHIFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHIVoHEeS2WoXr83SnEA" parameteredElement="_ArQHIloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHIloHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQHIVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEF1oHEeS2WoXr83SnEA" typedElement="_ArQHH1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHI1oHEeS2WoXr83SnEA" name="type" type="_ArQEFVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHJFoHEeS2WoXr83SnEA" name="oclIsInvalid" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true"/>
<ownedOperation xmi:id="_ArQHJVoHEeS2WoXr83SnEA" name="oclIsKindOf" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsKindOfOperation">
<ownedTemplateSignature xmi:id="_ArQHJloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHJ1oHEeS2WoXr83SnEA" parameteredElement="_ArQHKFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHKFoHEeS2WoXr83SnEA" name="T" templateParameter="_ArQHJ1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEGloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHKVoHEeS2WoXr83SnEA" name="type" type="_ArQEGFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHKloHEeS2WoXr83SnEA" name="oclIsTypeOf" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsTypeOfOperation">
<ownedTemplateSignature xmi:id="_ArQHK1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHLFoHEeS2WoXr83SnEA" parameteredElement="_ArQHLVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHLVoHEeS2WoXr83SnEA" name="T" templateParameter="_ArQHLFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEHVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHLloHEeS2WoXr83SnEA" name="type" type="_ArQEG1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHL1oHEeS2WoXr83SnEA" name="oclIsUndefined" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true"/>
<ownedOperation xmi:id="_ArQHMFoHEeS2WoXr83SnEA" name="oclType" type="_ArQEIVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclTypeOperation"/>
<ownedOperation xmi:id="_ArQHMVoHEeS2WoXr83SnEA" name="or" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isValidating="true" precedence="_ArQIgVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHMloHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHM1oHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQHNFoHEeS2WoXr83SnEA" body="Returns 'invalid'."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHNVoHEeS2WoXr83SnEA" name="OclLambda" superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHNloHEeS2WoXr83SnEA" body="The type OclLambda is the implicit supertype of all Lambda types. The operations defined for OclLambda&#xA;therefore apply to all lambda expressions."/>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHN1oHEeS2WoXr83SnEA" name="OclMessage" superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHOFoHEeS2WoXr83SnEA" body="OclMessage&#xA;This sub clause contains the definition of the standard type OclMessage.&#xA;As defined in this sub clause, each ocl message type is actually a template type with one parameter.&#xA;&#x2018;T&#x2019; denotes the parameter.&#xA;A concrete ocl message type is created by substituting an operation or signal for the T.&#xA;&#xA;The predefined type OclMessage is an instance of MessageType.&#xA;Every OclMessage is fully determined by either the operation, or signal given as parameter.&#xA;Note that there is conceptually an undefined (infinite) number of these types,&#xA;as each is determined by a different operation or signal.&#xA;These types are unnamed. Every type has as attributes the name of the operation or signal,&#xA;and either all formal parameters of the operation, or all attributes of the signal.&#xA;OclMessage is itself an instance of the metatype MessageType.&#xA;&#xA;OclMessage has a number of predefined operations, as shown in the OCL Standard Library."/>
<ownedOperation xmi:id="_ArQHOVoHEeS2WoXr83SnEA" name="hasReturned" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_ArQHOloHEeS2WoXr83SnEA" body="True if type of template parameter is an operation call, and the called operation has returned a value.&#xA;This implies the fact that the message has been sent. False in all other cases."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHO1oHEeS2WoXr83SnEA" name="isOperationCall" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_ArQHPFoHEeS2WoXr83SnEA" body="Returns oclText[true] if the OclMessage represents the sending of a UML Operation call."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHPVoHEeS2WoXr83SnEA" name="isSignalSent" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_ArQHPloHEeS2WoXr83SnEA" body="Returns oclText[true] if the OclMessage represents the sending of a UML Signal."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHP1oHEeS2WoXr83SnEA" name="result" type="_ArQGyVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_ArQHQFoHEeS2WoXr83SnEA" body="Returns the result of the called operation, if type of template parameter is an operation call,&#xA;and the called operation has returned a value. Otherwise the oclText[invalid] value is returned."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SelfType" xmi:id="_ArQHQVoHEeS2WoXr83SnEA" name="OclSelf" templateParameterSubstitution="_ArQDwFoHEeS2WoXr83SnEA _ArQEI1oHEeS2WoXr83SnEA _ArQEuVoHEeS2WoXr83SnEA _ArQE2loHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQE_loHEeS2WoXr83SnEA _ArQFAVoHEeS2WoXr83SnEA _ArQFHFoHEeS2WoXr83SnEA _ArQFH1oHEeS2WoXr83SnEA _ArQFJFoHEeS2WoXr83SnEA _ArQFJ1oHEeS2WoXr83SnEA _ArQFLFoHEeS2WoXr83SnEA _ArQFMloHEeS2WoXr83SnEA _ArQFNVoHEeS2WoXr83SnEA _ArQFPloHEeS2WoXr83SnEA _ArQFQVoHEeS2WoXr83SnEA _ArQFRloHEeS2WoXr83SnEA _ArQFSVoHEeS2WoXr83SnEA _ArQFTFoHEeS2WoXr83SnEA _ArQFT1oHEeS2WoXr83SnEA _ArQFUloHEeS2WoXr83SnEA _ArQFVVoHEeS2WoXr83SnEA _ArQFWFoHEeS2WoXr83SnEA _ArQFW1oHEeS2WoXr83SnEA _ArQFYFoHEeS2WoXr83SnEA _ArQFZVoHEeS2WoXr83SnEA _ArQFaFoHEeS2WoXr83SnEA _ArQFc1oHEeS2WoXr83SnEA _ArQFdloHEeS2WoXr83SnEA _ArQFeFoHEeS2WoXr83SnEA _ArQFeloHEeS2WoXr83SnEA _ArQFfVoHEeS2WoXr83SnEA _ArQFgFoHEeS2WoXr83SnEA _ArQFiFoHEeS2WoXr83SnEA _ArQF21oHEeS2WoXr83SnEA _ArQF3loHEeS2WoXr83SnEA _ArQGJVoHEeS2WoXr83SnEA _ArQGKFoHEeS2WoXr83SnEA _ArQGzVoHEeS2WoXr83SnEA _ArQG0FoHEeS2WoXr83SnEA _ArQG7loHEeS2WoXr83SnEA _ArQG8FoHEeS2WoXr83SnEA _ArQG-1oHEeS2WoXr83SnEA _ArQG_loHEeS2WoXr83SnEA _ArQHAVoHEeS2WoXr83SnEA _ArQHBFoHEeS2WoXr83SnEA _ArQHB1oHEeS2WoXr83SnEA _ArQHFFoHEeS2WoXr83SnEA _ArQHF1oHEeS2WoXr83SnEA _ArQHRloHEeS2WoXr83SnEA _ArQHSFoHEeS2WoXr83SnEA _ArQHSVoHEeS2WoXr83SnEA _ArQHTloHEeS2WoXr83SnEA _ArQHUFoHEeS2WoXr83SnEA _ArQHWVoHEeS2WoXr83SnEA _ArQHXFoHEeS2WoXr83SnEA _ArQHf1oHEeS2WoXr83SnEA _ArQHgVoHEeS2WoXr83SnEA _ArQH0VoHEeS2WoXr83SnEA _ArQH1FoHEeS2WoXr83SnEA _ArQIKFoHEeS2WoXr83SnEA _ArQIK1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHQloHEeS2WoXr83SnEA" body="The pseudo-type OclSelf denotes the statically determinate type of oclText[self] in Operation&#xA;and Iteration signatures. Instances of OclSelf are never created."/>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHQ1oHEeS2WoXr83SnEA" name="OclState" superClass="_ArQGyVoHEeS2WoXr83SnEA" typedElement="_ArQG21oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHRFoHEeS2WoXr83SnEA" name="OclSummable" superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHRVoHEeS2WoXr83SnEA" body="The type OclSummable defines the sum and zero operations used by the Collection::sum iteration. Only types that provide derived&#xA;sum and zero implementations may be summed."/>
<ownedOperation xmi:id="_ArQHRloHEeS2WoXr83SnEA" name="sum" type="_ArQHQVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHR1oHEeS2WoXr83SnEA" body="Return the sum of self and that.&#xA;&#xA;The sum operation should be associative."/>
<ownedParameter xmi:id="_ArQHSFoHEeS2WoXr83SnEA" name="that" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHSVoHEeS2WoXr83SnEA" name="zero" type="_ArQHQVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHSloHEeS2WoXr83SnEA" body="Return the 'zero' value of self to initialize a summation.&#xA;&#xA;zero().sum(self) = self."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHS1oHEeS2WoXr83SnEA" name="OclTuple" superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHTFoHEeS2WoXr83SnEA" body="The type OclTuple is the implicit supertype of all Tuple types. The operations defined for OclTuple&#xA;therefore apply to all tuples."/>
<ownedOperation xmi:id="_ArQHTVoHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHTloHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHT1oHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHUFoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQHUVoHEeS2WoXr83SnEA" name="OclType" superClass="_ArQHCFoHEeS2WoXr83SnEA" typedElement="_ArQHVVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHUloHEeS2WoXr83SnEA" body="The type OclType is the implicit supertype of any UML type. Operations defined&#xA;for OclType are therefore applicable to all UML types."/>
<ownedOperation xmi:id="_ArQHU1oHEeS2WoXr83SnEA" name="conformsTo" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.OclTypeConformsToOperation">
<ownedComment xmi:id="_ArQHVFoHEeS2WoXr83SnEA" body="Returns true if type2 conforms to self."/>
<ownedParameter xmi:id="_ArQHVVoHEeS2WoXr83SnEA" name="type2" type="_ArQHUVoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:VoidType" xmi:id="_ArQHVloHEeS2WoXr83SnEA" name="OclVoid" templateParameterSubstitution="_ArQEJloHEeS2WoXr83SnEA"
superClass="_ArQGyVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHV1oHEeS2WoXr83SnEA" body="The type OclVoid is a type that conforms to all other types except OclInvalid.&#xA;It has one single instance, identified as oclText[null], that corresponds with the UML LiteralNull value specification.&#xA;Any property call applied on oclText[null] results in oclText[invalid], except for the&#xA;oclIsUndefined(), oclIsInvalid(), =(OclAny) and &lt;>(OclAny) operations.&#xA;However, by virtue of the implicit conversion to a collection literal,&#xA;an expression evaluating to oclText[null] can be used as source of collection operations (such as &#x2018;isEmpty&#x2019;).&#xA;If the source is the oclText[null] literal, it is implicitly converted to Bag{}.&#xA;&#xA;OclVoid is itself an instance of the metatype VoidType."/>
<ownedOperation xmi:id="_ArQHWFoHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHWVoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHWloHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHW1oHEeS2WoXr83SnEA" body="Redefines the OclAny operation, returning oclText[true] if object is oclText[null], oclText[invalid]&#xA;if object is oclText[invalid], oclText[false] otherwise."/>
<ownedParameter xmi:id="_ArQHXFoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHXVoHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_ArQEt1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidAllInstancesOperation">
<ownedComment xmi:id="_ArQHXloHEeS2WoXr83SnEA" body="Returns oclText[Set{null}]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHX1oHEeS2WoXr83SnEA" name="and" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidAndOperation"
precedence="_ArQIgFoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHYFoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHYVoHEeS2WoXr83SnEA" name="implies" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidImpliesOperation"
precedence="_ArQIg1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHYloHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHY1oHEeS2WoXr83SnEA" name="oclIsInvalid" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true"/>
<ownedOperation xmi:id="_ArQHZFoHEeS2WoXr83SnEA" name="oclIsUndefined" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true"/>
<ownedOperation xmi:id="_ArQHZVoHEeS2WoXr83SnEA" name="or" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidOrOperation"
precedence="_ArQIgVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHZloHEeS2WoXr83SnEA" name="b" isRequired="false" type="_ArQE-1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHZ1oHEeS2WoXr83SnEA" name="toString" type="_ArQFbVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_ArQHaFoHEeS2WoXr83SnEA" body="Returns oclText[null]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQHaVoHEeS2WoXr83SnEA" name="OrderedCollection" superClass="_ArQDwVoHEeS2WoXr83SnEA"
elementType="_ArQHbFoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQHaloHEeS2WoXr83SnEA" templateBinding="_ArQEOloHEeS2WoXr83SnEA _ArQEPVoHEeS2WoXr83SnEA _ArQEQFoHEeS2WoXr83SnEA _ArQEQ1oHEeS2WoXr83SnEA _ArQERloHEeS2WoXr83SnEA _ArQESVoHEeS2WoXr83SnEA _ArQETFoHEeS2WoXr83SnEA _ArQET1oHEeS2WoXr83SnEA _ArQEUloHEeS2WoXr83SnEA _ArQEVVoHEeS2WoXr83SnEA _ArQEWFoHEeS2WoXr83SnEA _ArQEW1oHEeS2WoXr83SnEA _ArQEXloHEeS2WoXr83SnEA _ArQEYVoHEeS2WoXr83SnEA _ArQEZFoHEeS2WoXr83SnEA _ArQEZ1oHEeS2WoXr83SnEA _ArQEaloHEeS2WoXr83SnEA _ArQEbVoHEeS2WoXr83SnEA _ArQEcFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHa1oHEeS2WoXr83SnEA" parameteredElement="_ArQHbFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEO1oHEeS2WoXr83SnEA _ArQEPloHEeS2WoXr83SnEA _ArQEQVoHEeS2WoXr83SnEA _ArQERFoHEeS2WoXr83SnEA _ArQER1oHEeS2WoXr83SnEA _ArQESloHEeS2WoXr83SnEA _ArQETVoHEeS2WoXr83SnEA _ArQEUFoHEeS2WoXr83SnEA _ArQEU1oHEeS2WoXr83SnEA _ArQEVloHEeS2WoXr83SnEA _ArQEWVoHEeS2WoXr83SnEA _ArQEXFoHEeS2WoXr83SnEA _ArQEX1oHEeS2WoXr83SnEA _ArQEYloHEeS2WoXr83SnEA _ArQEZVoHEeS2WoXr83SnEA _ArQEaFoHEeS2WoXr83SnEA _ArQEa1oHEeS2WoXr83SnEA _ArQEbloHEeS2WoXr83SnEA _ArQEcVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHbFoHEeS2WoXr83SnEA" name="T" templateParameter="_ArQHa1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDw1oHEeS2WoXr83SnEA" typedElement="_ArQHbVoHEeS2WoXr83SnEA _ArQHcFoHEeS2WoXr83SnEA _ArQHdVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_ArQHbVoHEeS2WoXr83SnEA" name="at" isRequired="false" type="_ArQHbFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQHbloHEeS2WoXr83SnEA" body="The i-th element of ordered collection."/>
<ownedParameter xmi:id="_ArQHb1oHEeS2WoXr83SnEA" name="index" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHcFoHEeS2WoXr83SnEA" name="first" isRequired="false" type="_ArQHbFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionFirstOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQHcVoHEeS2WoXr83SnEA" body="The first element in oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHcloHEeS2WoXr83SnEA" name="indexOf" type="_ArQFGVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionIndexOfOperation">
<ownedComment xmi:id="_ArQHc1oHEeS2WoXr83SnEA" body="The index of object obj in the ordered collection."/>
<ownedParameter xmi:id="_ArQHdFoHEeS2WoXr83SnEA" name="obj" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHdVoHEeS2WoXr83SnEA" name="last" isRequired="false" type="_ArQHbFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionLastOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQHdloHEeS2WoXr83SnEA" body="The last element in oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_ArQHd1oHEeS2WoXr83SnEA" name="OrderedSet" superClass="_ArQEV1oHEeS2WoXr83SnEA _ArQE5FoHEeS2WoXr83SnEA"
typedElement="_ArQHe1oHEeS2WoXr83SnEA _ArQHgloHEeS2WoXr83SnEA _ArQHhVoHEeS2WoXr83SnEA _ArQHiFoHEeS2WoXr83SnEA _ArQHi1oHEeS2WoXr83SnEA _ArQHkloHEeS2WoXr83SnEA _ArQHlVoHEeS2WoXr83SnEA _ArQHmVoHEeS2WoXr83SnEA _ArQHnFoHEeS2WoXr83SnEA _ArQHn1oHEeS2WoXr83SnEA _ArQHq1oHEeS2WoXr83SnEA _ArQHr1oHEeS2WoXr83SnEA _ArQHwFoHEeS2WoXr83SnEA _ArQHxFoHEeS2WoXr83SnEA _ArQHyFoHEeS2WoXr83SnEA"
elementType="_ArQHeloHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQHeFoHEeS2WoXr83SnEA" templateBinding="_ArQEc1oHEeS2WoXr83SnEA _ArQEdloHEeS2WoXr83SnEA _ArQEeVoHEeS2WoXr83SnEA _ArQEfFoHEeS2WoXr83SnEA _ArQEf1oHEeS2WoXr83SnEA _ArQEgloHEeS2WoXr83SnEA _ArQEhVoHEeS2WoXr83SnEA _ArQEiFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHeVoHEeS2WoXr83SnEA" parameteredElement="_ArQHeloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEdFoHEeS2WoXr83SnEA _ArQEd1oHEeS2WoXr83SnEA _ArQEeloHEeS2WoXr83SnEA _ArQEfVoHEeS2WoXr83SnEA _ArQEgFoHEeS2WoXr83SnEA _ArQEg1oHEeS2WoXr83SnEA _ArQEhloHEeS2WoXr83SnEA _ArQEiVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHeloHEeS2WoXr83SnEA" name="T" templateParameter="_ArQHeVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD1VoHEeS2WoXr83SnEA _ArQEWVoHEeS2WoXr83SnEA _ArQE5loHEeS2WoXr83SnEA" typedElement="_ArQHhFoHEeS2WoXr83SnEA _ArQHlFoHEeS2WoXr83SnEA _ArQHmFoHEeS2WoXr83SnEA _ArQHm1oHEeS2WoXr83SnEA _ArQHsloHEeS2WoXr83SnEA _ArQHuVoHEeS2WoXr83SnEA _ArQHv1oHEeS2WoXr83SnEA _ArQHw1oHEeS2WoXr83SnEA _ArQHx1oHEeS2WoXr83SnEA _ArQHy1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_ArQHe1oHEeS2WoXr83SnEA" name="-" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQHfFoHEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="_ArQHfVoHEeS2WoXr83SnEA" name="s" type="_ArQE0loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHfloHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHf1oHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHgFoHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQHgVoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHgloHEeS2WoXr83SnEA" name="append" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendOperation">
<ownedComment xmi:id="_ArQHg1oHEeS2WoXr83SnEA" body="The set of elements, consisting of all elements of oclText[self], followed by object."/>
<ownedParameter xmi:id="_ArQHhFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHhVoHEeS2WoXr83SnEA" name="appendAll" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendAllOperation">
<ownedComment xmi:id="_ArQHhloHEeS2WoXr83SnEA" body="The set of elements, consisting of all elements of oclText[self], followed by objects."/>
<ownedParameter xmi:id="_ArQHh1oHEeS2WoXr83SnEA" name="objects" type="_ArQEV1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHiFoHEeS2WoXr83SnEA" name="excluding" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_ArQHiVoHEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] apart from object.&#xA;&#xA;The order of the remaining elements is not changed."/>
<ownedParameter xmi:id="_ArQHiloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHi1oHEeS2WoXr83SnEA" name="excludingAll" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_ArQHjFoHEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_ArQHjVoHEeS2WoXr83SnEA" name="objects" type="_ArQDuFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHjloHEeS2WoXr83SnEA" name="flatten" type="_ArQEeFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedTemplateSignature xmi:id="_ArQHj1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHkFoHEeS2WoXr83SnEA" parameteredElement="_ArQHkVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHkVoHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQHkFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDzFoHEeS2WoXr83SnEA _ArQEUFoHEeS2WoXr83SnEA _ArQEeloHEeS2WoXr83SnEA _ArQE3VoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_ArQHkloHEeS2WoXr83SnEA" name="including" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_ArQHk1oHEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] plus object added as the last element if not already present."/>
<ownedParameter xmi:id="_ArQHlFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHlVoHEeS2WoXr83SnEA" name="insertAt" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionInsertAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQHlloHEeS2WoXr83SnEA" body="The ordered set consisting of oclText[self] with object present at position index."/>
<ownedParameter xmi:id="_ArQHl1oHEeS2WoXr83SnEA" name="index" type="_ArQFGVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQHmFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHmVoHEeS2WoXr83SnEA" name="prepend" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependOperation">
<ownedComment xmi:id="_ArQHmloHEeS2WoXr83SnEA" body="The sequence consisting of object, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_ArQHm1oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHnFoHEeS2WoXr83SnEA" name="prependAll" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependAllOperation">
<ownedComment xmi:id="_ArQHnVoHEeS2WoXr83SnEA" body="The sequence consisting of objects, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_ArQHnloHEeS2WoXr83SnEA" name="objects" type="_ArQEV1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHn1oHEeS2WoXr83SnEA" name="reverse" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionReverseOperation">
<ownedComment xmi:id="_ArQHoFoHEeS2WoXr83SnEA" body="The ordered set of elements with same elements but with the opposite order."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHoVoHEeS2WoXr83SnEA" name="selectByKind" type="_ArQEe1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_ArQHoloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHo1oHEeS2WoXr83SnEA" parameteredElement="_ArQHpFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHpFoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQHo1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDz1oHEeS2WoXr83SnEA _ArQEKVoHEeS2WoXr83SnEA _ArQEU1oHEeS2WoXr83SnEA _ArQEfVoHEeS2WoXr83SnEA _ArQE4FoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHpVoHEeS2WoXr83SnEA" name="type" type="_ArQEJ1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHploHEeS2WoXr83SnEA" name="selectByType" type="_ArQEfloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_ArQHp1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHqFoHEeS2WoXr83SnEA" parameteredElement="_ArQHqVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHqVoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQHqFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD0loHEeS2WoXr83SnEA _ArQELFoHEeS2WoXr83SnEA _ArQEVloHEeS2WoXr83SnEA _ArQEgFoHEeS2WoXr83SnEA _ArQE41oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHqloHEeS2WoXr83SnEA" name="type" type="_ArQEKloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQHq1oHEeS2WoXr83SnEA" name="subOrderedSet" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedSetSubOrderedSetOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQHrFoHEeS2WoXr83SnEA" body="The sub-set of oclText[self] starting at number lower, up to and including element number upper."/>
<ownedParameter xmi:id="_ArQHrVoHEeS2WoXr83SnEA" name="lower" type="_ArQFGVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQHrloHEeS2WoXr83SnEA" name="upper" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQHr1oHEeS2WoXr83SnEA" name="closure" type="_ArQHd1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_ArQHsFoHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_ArQHsVoHEeS2WoXr83SnEA" name="lambda" type="_ArQDRFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQHsloHEeS2WoXr83SnEA" name="i" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQHs1oHEeS2WoXr83SnEA" name="collectNested" type="_ArQElloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_ArQHtFoHEeS2WoXr83SnEA" body="The sequence of elements that results from applying body to every member of the source ordered collection."/>
<ownedTemplateSignature xmi:id="_ArQHtVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHtloHEeS2WoXr83SnEA" parameteredElement="_ArQHt1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHt1oHEeS2WoXr83SnEA" name="V" templateParameter="_ArQHtloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDxloHEeS2WoXr83SnEA _ArQESloHEeS2WoXr83SnEA _ArQEmFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHuFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDRVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQHuVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQHuloHEeS2WoXr83SnEA" name="collect" type="_ArQEmVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_ArQHu1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHvFoHEeS2WoXr83SnEA" parameteredElement="_ArQHvVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHvVoHEeS2WoXr83SnEA" name="V" templateParameter="_ArQHvFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDyVoHEeS2WoXr83SnEA _ArQETVoHEeS2WoXr83SnEA _ArQEm1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQHvloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDRloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQHv1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQHwFoHEeS2WoXr83SnEA" name="reject" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_ArQHwVoHEeS2WoXr83SnEA" body="The ordered set of the source ordered set for which body is oclText[false]."/>
<ownedParameter xmi:id="_ArQHwloHEeS2WoXr83SnEA" name="lambda" type="_ArQDQloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQHw1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQHxFoHEeS2WoXr83SnEA" name="select" type="_ArQHd1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_ArQHxVoHEeS2WoXr83SnEA" body="The ordered set of the source ordered set for which body is oclText[true]"/>
<ownedParameter xmi:id="_ArQHxloHEeS2WoXr83SnEA" name="lambda" type="_ArQDQloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQHx1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQHyFoHEeS2WoXr83SnEA" name="sortedBy" type="_ArQHd1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_ArQHyVoHEeS2WoXr83SnEA" body="Results in the ordered set containing all elements of the source collection.&#xA;The element for which body has the lowest value comes first, and so on.&#xA;The type of the body expression must have the &lt; operation defined.&#xA;The &lt; operation must return a Boolean value and must be transitive (i.e., if a &lt; b and b &lt; c, then a &lt; c)."/>
<ownedParameter xmi:id="_ArQHyloHEeS2WoXr83SnEA" name="lambda" type="_ArQDQ1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQHy1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHeloHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_ArQHzFoHEeS2WoXr83SnEA" name="Sequence" superClass="_ArQEaVoHEeS2WoXr83SnEA"
typedElement="_ArQH1VoHEeS2WoXr83SnEA _ArQH2FoHEeS2WoXr83SnEA _ArQH21oHEeS2WoXr83SnEA _ArQH3loHEeS2WoXr83SnEA _ArQH5loHEeS2WoXr83SnEA _ArQH6VoHEeS2WoXr83SnEA _ArQH7VoHEeS2WoXr83SnEA _ArQH8FoHEeS2WoXr83SnEA _ArQH81oHEeS2WoXr83SnEA _ArQH_1oHEeS2WoXr83SnEA _ArQIFFoHEeS2WoXr83SnEA _ArQIGFoHEeS2WoXr83SnEA _ArQIHFoHEeS2WoXr83SnEA"
elementType="_ArQHz1oHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQHzVoHEeS2WoXr83SnEA" templateBinding="_ArQEi1oHEeS2WoXr83SnEA _ArQEjloHEeS2WoXr83SnEA _ArQEkVoHEeS2WoXr83SnEA _ArQElFoHEeS2WoXr83SnEA _ArQEl1oHEeS2WoXr83SnEA _ArQEmloHEeS2WoXr83SnEA _ArQEnVoHEeS2WoXr83SnEA _ArQEoFoHEeS2WoXr83SnEA _ArQEo1oHEeS2WoXr83SnEA _ArQEploHEeS2WoXr83SnEA _ArQEqVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQHzloHEeS2WoXr83SnEA" parameteredElement="_ArQHz1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQEjFoHEeS2WoXr83SnEA _ArQEj1oHEeS2WoXr83SnEA _ArQEkloHEeS2WoXr83SnEA _ArQElVoHEeS2WoXr83SnEA _ArQEmFoHEeS2WoXr83SnEA _ArQEm1oHEeS2WoXr83SnEA _ArQEnloHEeS2WoXr83SnEA _ArQEoVoHEeS2WoXr83SnEA _ArQEpFoHEeS2WoXr83SnEA _ArQEp1oHEeS2WoXr83SnEA _ArQEqloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQHz1oHEeS2WoXr83SnEA" name="T" templateParameter="_ArQHzloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD51oHEeS2WoXr83SnEA _ArQEa1oHEeS2WoXr83SnEA _ArQEg1oHEeS2WoXr83SnEA _ArQE6VoHEeS2WoXr83SnEA"
typedElement="_ArQH11oHEeS2WoXr83SnEA _ArQH6FoHEeS2WoXr83SnEA _ArQH7FoHEeS2WoXr83SnEA _ArQH71oHEeS2WoXr83SnEA _ArQIBloHEeS2WoXr83SnEA _ArQIDVoHEeS2WoXr83SnEA _ArQIE1oHEeS2WoXr83SnEA _ArQIF1oHEeS2WoXr83SnEA _ArQIG1oHEeS2WoXr83SnEA _ArQIH1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_ArQH0FoHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQH0VoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH0loHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQH01oHEeS2WoXr83SnEA" body="True if oclText[self] contains the same elements as s in the same order."/>
<ownedParameter xmi:id="_ArQH1FoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH1VoHEeS2WoXr83SnEA" name="append" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendOperation">
<ownedComment xmi:id="_ArQH1loHEeS2WoXr83SnEA" body="The sequence of elements, consisting of all elements of oclText[self], followed by object."/>
<ownedParameter xmi:id="_ArQH11oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH2FoHEeS2WoXr83SnEA" name="appendAll" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendAllOperation">
<ownedComment xmi:id="_ArQH2VoHEeS2WoXr83SnEA" body="The sequence of elements, consisting of all elements of oclText[self], followed by objects."/>
<ownedParameter xmi:id="_ArQH2loHEeS2WoXr83SnEA" name="objects" type="_ArQEaVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH21oHEeS2WoXr83SnEA" name="excluding" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_ArQH3FoHEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] apart from all occurrences of object.&#xA;&#xA;The order of the remaining elements is not changed."/>
<ownedParameter xmi:id="_ArQH3VoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH3loHEeS2WoXr83SnEA" name="excludingAll" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_ArQH31oHEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_ArQH4FoHEeS2WoXr83SnEA" name="objects" type="_ArQDuFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH4VoHEeS2WoXr83SnEA" name="flatten" type="_ArQEoloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_ArQH4loHEeS2WoXr83SnEA" body="Redefines the Collection operation. If the element type is not a collection type, this results in the same sequence as oclText[self].&#xA;If the element type is a collection type, the result is the sequence containing all the elements&#xA;of all the recursively flattened elements of oclText[self]. The order of the elements is partial."/>
<ownedTemplateSignature xmi:id="_ArQH41oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQH5FoHEeS2WoXr83SnEA" parameteredElement="_ArQH5VoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQH5VoHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQH5FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD3loHEeS2WoXr83SnEA _ArQEYloHEeS2WoXr83SnEA _ArQEpFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_ArQH5loHEeS2WoXr83SnEA" name="including" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_ArQH51oHEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] plus object added as the last element."/>
<ownedParameter xmi:id="_ArQH6FoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH6VoHEeS2WoXr83SnEA" name="insertAt" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionInsertAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQH6loHEeS2WoXr83SnEA" body="The sequence consisting of oclText[self] with object inserted at position index."/>
<ownedParameter xmi:id="_ArQH61oHEeS2WoXr83SnEA" name="index" type="_ArQFGVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQH7FoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH7VoHEeS2WoXr83SnEA" name="prepend" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependOperation">
<ownedComment xmi:id="_ArQH7loHEeS2WoXr83SnEA" body="The sequence consisting of object, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_ArQH71oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH8FoHEeS2WoXr83SnEA" name="prependAll" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependAllOperation">
<ownedComment xmi:id="_ArQH8VoHEeS2WoXr83SnEA" body="The sequence consisting of objects, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_ArQH8loHEeS2WoXr83SnEA" name="objects" type="_ArQEaVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH81oHEeS2WoXr83SnEA" name="reverse" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionReverseOperation">
<ownedComment xmi:id="_ArQH9FoHEeS2WoXr83SnEA" body="The sequence containing the same elements but with the opposite order."/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH9VoHEeS2WoXr83SnEA" name="selectByKind" type="_ArQEpVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_ArQH9loHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQH91oHEeS2WoXr83SnEA" parameteredElement="_ArQH-FoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQH-FoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQH91oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD4VoHEeS2WoXr83SnEA _ArQEL1oHEeS2WoXr83SnEA _ArQEZVoHEeS2WoXr83SnEA _ArQEp1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQH-VoHEeS2WoXr83SnEA" name="type" type="_ArQELVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH-loHEeS2WoXr83SnEA" name="selectByType" type="_ArQEqFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_ArQH-1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQH_FoHEeS2WoXr83SnEA" parameteredElement="_ArQH_VoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQH_VoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQH_FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD5FoHEeS2WoXr83SnEA _ArQEMloHEeS2WoXr83SnEA _ArQEaFoHEeS2WoXr83SnEA _ArQEqloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQH_loHEeS2WoXr83SnEA" name="type" type="_ArQEMFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQH_1oHEeS2WoXr83SnEA" name="subSequence" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SequenceSubSequenceOperation"
isInvalidating="true">
<ownedComment xmi:id="_ArQIAFoHEeS2WoXr83SnEA" body="The sub-sequence of oclText[self] starting at number lower, up to and including element number upper."/>
<ownedParameter xmi:id="_ArQIAVoHEeS2WoXr83SnEA" name="lower" type="_ArQFGVoHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_ArQIAloHEeS2WoXr83SnEA" name="upper" type="_ArQFGVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIA1oHEeS2WoXr83SnEA" name="closure" type="_ArQEgVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_ArQIBFoHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_ArQIBVoHEeS2WoXr83SnEA" name="lambda" type="_ArQDSVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIBloHEeS2WoXr83SnEA" name="i" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIB1oHEeS2WoXr83SnEA" name="collectNested" type="_ArQEnFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_ArQICFoHEeS2WoXr83SnEA" body="The sequence of elements that results from applying body to every member of the source ordered collection."/>
<ownedTemplateSignature xmi:id="_ArQICVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQICloHEeS2WoXr83SnEA" parameteredElement="_ArQIC1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIC1oHEeS2WoXr83SnEA" name="V" templateParameter="_ArQICloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD2FoHEeS2WoXr83SnEA _ArQEXFoHEeS2WoXr83SnEA _ArQEnloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQIDFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDSloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIDVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIDloHEeS2WoXr83SnEA" name="collect" type="_ArQEn1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_ArQID1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQIEFoHEeS2WoXr83SnEA" parameteredElement="_ArQIEVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIEVoHEeS2WoXr83SnEA" name="V" templateParameter="_ArQIEFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD21oHEeS2WoXr83SnEA _ArQEX1oHEeS2WoXr83SnEA _ArQEoVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQIEloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDS1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIE1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIFFoHEeS2WoXr83SnEA" name="reject" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_ArQIFVoHEeS2WoXr83SnEA" body="The subsequence of the source sequence for which body is oclText[false]."/>
<ownedParameter xmi:id="_ArQIFloHEeS2WoXr83SnEA" name="lambda" type="_ArQDR1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIF1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIGFoHEeS2WoXr83SnEA" name="select" type="_ArQHzFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_ArQIGVoHEeS2WoXr83SnEA" body="The subsequence of the source sequence for which body is oclText[true]."/>
<ownedParameter xmi:id="_ArQIGloHEeS2WoXr83SnEA" name="lambda" type="_ArQDR1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIG1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIHFoHEeS2WoXr83SnEA" name="sortedBy" type="_ArQHzFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_ArQIHVoHEeS2WoXr83SnEA" body="Results in the Sequence containing all elements of the source collection.&#xA;The element for which body has the lowest value comes first, and so on.&#xA;The type of the body expression must have the &lt; operation defined.&#xA;The &lt; operation must return a Boolean value and must be transitive (i.e., if a &lt; b and b &lt; c then a &lt; c)."/>
<ownedParameter xmi:id="_ArQIHloHEeS2WoXr83SnEA" name="lambda" type="_ArQDSFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIH1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQHz1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_ArQIIFoHEeS2WoXr83SnEA" name="Set" superClass="_ArQE81oHEeS2WoXr83SnEA" typedElement="_ArQIJFoHEeS2WoXr83SnEA _ArQILFoHEeS2WoXr83SnEA _ArQIL1oHEeS2WoXr83SnEA _ArQIN1oHEeS2WoXr83SnEA _ArQIOloHEeS2WoXr83SnEA _ArQIR1oHEeS2WoXr83SnEA _ArQIWFoHEeS2WoXr83SnEA _ArQIXFoHEeS2WoXr83SnEA"
elementType="_ArQII1oHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQIIVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQIIloHEeS2WoXr83SnEA" parameteredElement="_ArQII1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQII1oHEeS2WoXr83SnEA" name="T" templateParameter="_ArQIIloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD-VoHEeS2WoXr83SnEA _ArQEbloHEeS2WoXr83SnEA _ArQEhloHEeS2WoXr83SnEA _ArQE9VoHEeS2WoXr83SnEA"
typedElement="_ArQIOVoHEeS2WoXr83SnEA _ArQISloHEeS2WoXr83SnEA _ArQIUVoHEeS2WoXr83SnEA _ArQIV1oHEeS2WoXr83SnEA _ArQIW1oHEeS2WoXr83SnEA _ArQIX1oHEeS2WoXr83SnEA _ArQIY1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQErVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEsFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEs1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEtloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEuVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEvFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEv1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEwloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQExVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="umlMM.xml#_ArQIlFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="mitosi.xml#_ArQDL1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="javaMM.xml#_ArQIsloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="javaMM.xml#_ArQItVoHEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="#_ArQErFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEr1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEsloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEtVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEuFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEu1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEvloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEwVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQExFoHEeS2WoXr83SnEA"/>
<templateBinding href="umlMM.xml#_ArQIk1oHEeS2WoXr83SnEA"/>
<templateBinding href="mitosi.xml#_ArQDLloHEeS2WoXr83SnEA"/>
<templateBinding href="javaMM.xml#_ArQIsVoHEeS2WoXr83SnEA"/>
<templateBinding href="javaMM.xml#_ArQItFoHEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="_ArQIJFoHEeS2WoXr83SnEA" name="-" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQIJVoHEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="_ArQIJloHEeS2WoXr83SnEA" name="s" type="_ArQE0loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIJ1oHEeS2WoXr83SnEA" name="&lt;>" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_ArQIKFoHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIKVoHEeS2WoXr83SnEA" name="=" type="_ArQE-1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_ArQIf1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQIKloHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if oclText[self] and s contain the same elements."/>
<ownedParameter xmi:id="_ArQIK1oHEeS2WoXr83SnEA" name="object2" type="_ArQHQVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQILFoHEeS2WoXr83SnEA" name="excluding" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_ArQILVoHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] without object."/>
<ownedParameter xmi:id="_ArQILloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQGyVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIL1oHEeS2WoXr83SnEA" name="excludingAll" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_ArQIMFoHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_ArQIMVoHEeS2WoXr83SnEA" name="objects" type="_ArQDuFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIMloHEeS2WoXr83SnEA" name="flatten" type="_ArQEuloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_ArQIM1oHEeS2WoXr83SnEA" body="Redefines the Collection operation. If the element type is not a collection type, this results in the same set as oclText[self].&#xA;If the element type is a collection type, the result is the set containing all the elements of all the recursively flattened elements of oclText[self]."/>
<ownedTemplateSignature xmi:id="_ArQINFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQINVoHEeS2WoXr83SnEA" parameteredElement="_ArQINloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQINloHEeS2WoXr83SnEA" name="T2" templateParameter="_ArQINVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD8FoHEeS2WoXr83SnEA _ArQEvFoHEeS2WoXr83SnEA _ArQE7FoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_ArQIN1oHEeS2WoXr83SnEA" name="including" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_ArQIOFoHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="_ArQIOVoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIOloHEeS2WoXr83SnEA" name="includingAll" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="_ArQIO1oHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="_ArQIPFoHEeS2WoXr83SnEA" name="objects" type="_ArQD91oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIPVoHEeS2WoXr83SnEA" name="selectByKind" type="_ArQEvVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_ArQIPloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQIP1oHEeS2WoXr83SnEA" parameteredElement="_ArQIQFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIQFoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQIP1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD81oHEeS2WoXr83SnEA _ArQENVoHEeS2WoXr83SnEA _ArQEv1oHEeS2WoXr83SnEA _ArQE71oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQIQVoHEeS2WoXr83SnEA" name="type" type="_ArQEM1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIQloHEeS2WoXr83SnEA" name="selectByType" type="_ArQEwFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_ArQIQ1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQIRFoHEeS2WoXr83SnEA" parameteredElement="_ArQIRVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIRVoHEeS2WoXr83SnEA" name="TT" templateParameter="_ArQIRFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD9loHEeS2WoXr83SnEA _ArQEOFoHEeS2WoXr83SnEA _ArQEwloHEeS2WoXr83SnEA _ArQE8loHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQIRloHEeS2WoXr83SnEA" name="type" type="_ArQENloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIR1oHEeS2WoXr83SnEA" name="closure" type="_ArQIIFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_ArQISFoHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_ArQISVoHEeS2WoXr83SnEA" name="lambda" type="_ArQDTloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQISloHEeS2WoXr83SnEA" name="i" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIS1oHEeS2WoXr83SnEA" name="collectNested" type="_ArQDcFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_ArQITFoHEeS2WoXr83SnEA" body="The Bag of elements which results from applying body to every member of the source nonordered collection."/>
<ownedTemplateSignature xmi:id="_ArQITVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQITloHEeS2WoXr83SnEA" parameteredElement="_ArQIT1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIT1oHEeS2WoXr83SnEA" name="V" templateParameter="_ArQITloHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDcloHEeS2WoXr83SnEA _ArQD6loHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQIUFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDT1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIUVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIUloHEeS2WoXr83SnEA" name="collect" type="_ArQDc1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_ArQIU1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQIVFoHEeS2WoXr83SnEA" parameteredElement="_ArQIVVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIVVoHEeS2WoXr83SnEA" name="V" templateParameter="_ArQIVFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQDdVoHEeS2WoXr83SnEA _ArQD7VoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_ArQIVloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_ArQDUFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIV1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIWFoHEeS2WoXr83SnEA" name="reject" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_ArQIWVoHEeS2WoXr83SnEA" body="The subset of the source set for which body is oclText[false]."/>
<ownedParameter xmi:id="_ArQIWloHEeS2WoXr83SnEA" name="lambda" type="_ArQDTFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIW1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIXFoHEeS2WoXr83SnEA" name="select" type="_ArQIIFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_ArQIXVoHEeS2WoXr83SnEA" body="The subset of set for which expr is oclText[true]."/>
<ownedParameter xmi:id="_ArQIXloHEeS2WoXr83SnEA" name="lambda" type="_ArQDTFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIX1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIYFoHEeS2WoXr83SnEA" name="sortedBy" type="_ArQEhFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_ArQIYVoHEeS2WoXr83SnEA" body="Results in the ordered set containing all elements of the source collection.&#xA;The element for which body has the lowest value comes first, and so on.&#xA;The type of the body expression must have the &lt; operation defined.&#xA;The &lt; operation must return a Boolean value and must be transitive (i.e., if a &lt; b and b &lt; c, then a &lt; c)."/>
<ownedParameter xmi:id="_ArQIYloHEeS2WoXr83SnEA" name="lambda" type="_ArQDTVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIY1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQII1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQIZFoHEeS2WoXr83SnEA" name="State" superClass="_ArQHQ1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_ArQIZVoHEeS2WoXr83SnEA" name="Type" superClass="_ArQHUVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_ArQIZloHEeS2WoXr83SnEA" name="UniqueCollection" superClass="_ArQD-loHEeS2WoXr83SnEA"
typedElement="_ArQIaloHEeS2WoXr83SnEA _ArQIdVoHEeS2WoXr83SnEA" elementType="_ArQIaVoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_ArQIZ1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_ArQIaFoHEeS2WoXr83SnEA" parameteredElement="_ArQIaVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_ArQIaVoHEeS2WoXr83SnEA" name="T" templateParameter="_ArQIaFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_ArQD_FoHEeS2WoXr83SnEA _ArQEcVoHEeS2WoXr83SnEA _ArQEiVoHEeS2WoXr83SnEA _ArQExVoHEeS2WoXr83SnEA _ArQE-FoHEeS2WoXr83SnEA"
typedElement="_ArQIeVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEyFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEy1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQEzloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE0VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE1FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE11oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE2loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE3VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE4FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE41oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE5loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE6VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE7FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE71oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE8loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE9VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_ArQE-FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="umlMM.xml#_ArQIl1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="mitosi.xml#_ArQDMloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="javaMM.xml#_ArQIuFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="javaMM.xml#_ArQIu1oHEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="#_ArQEx1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEyloHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQEzVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE0FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE01oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE1loHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE2VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE3FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE31oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE4loHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE5VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE6FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE61oHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE7loHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE8VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE9FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_ArQE91oHEeS2WoXr83SnEA"/>
<templateBinding href="umlMM.xml#_ArQIlloHEeS2WoXr83SnEA"/>
<templateBinding href="mitosi.xml#_ArQDMVoHEeS2WoXr83SnEA"/>
<templateBinding href="javaMM.xml#_ArQIt1oHEeS2WoXr83SnEA"/>
<templateBinding href="javaMM.xml#_ArQIuloHEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="_ArQIaloHEeS2WoXr83SnEA" name="-" type="_ArQIZloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="_ArQIfVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_ArQIa1oHEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="_ArQIbFoHEeS2WoXr83SnEA" name="s" type="_ArQE0loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIbVoHEeS2WoXr83SnEA" name="intersection" type="_ArQEw1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="_ArQIbloHEeS2WoXr83SnEA" body="The intersection of oclText[self] and c (i.e., the set of all elements that are in both oclText[self] and c)."/>
<ownedParameter xmi:id="_ArQIb1oHEeS2WoXr83SnEA" name="c" type="_ArQD-loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIcFoHEeS2WoXr83SnEA" name="symmetricDifference" type="_ArQEw1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetSymmetricDifferenceOperation">
<ownedComment xmi:id="_ArQIcVoHEeS2WoXr83SnEA" body="The set containing all the elements that are in oclText[self] or s, but not in both."/>
<ownedParameter xmi:id="_ArQIcloHEeS2WoXr83SnEA" name="s" type="_ArQE0loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_ArQIc1oHEeS2WoXr83SnEA" name="union" type="_ArQEw1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUnionOperation">
<ownedComment xmi:id="_ArQIdFoHEeS2WoXr83SnEA" body="The set consisting of all elements in oclText[self] and all elements in s."/>
<ownedParameter xmi:id="_ArQIdVoHEeS2WoXr83SnEA" name="s" type="_ArQIZloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_ArQIdloHEeS2WoXr83SnEA" name="sortedBy" type="_ArQEh1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_ArQId1oHEeS2WoXr83SnEA" body="Results in the ordered set containing all elements of the source collection.&#xA;The element for which body has the lowest value comes first, and so on.&#xA;The type of the body expression must have the &lt; operation defined.&#xA;The &lt; operation must return a Boolean value and must be transitive (i.e., if a &lt; b and b &lt; c, then a &lt; c)."/>
<ownedParameter xmi:id="_ArQIeFoHEeS2WoXr83SnEA" name="lambda" type="_ArQDUVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_ArQIeVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_ArQIaVoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedPrecedence xmi:id="_ArQIeloHEeS2WoXr83SnEA" name="NAVIGATION"/>
<ownedPrecedence xmi:id="_ArQIe1oHEeS2WoXr83SnEA" name="UNARY" order="1"/>
<ownedPrecedence xmi:id="_ArQIfFoHEeS2WoXr83SnEA" name="MULTIPLICATIVE" order="2"/>
<ownedPrecedence xmi:id="_ArQIfVoHEeS2WoXr83SnEA" name="ADDITIVE" order="3"/>
<ownedPrecedence xmi:id="_ArQIfloHEeS2WoXr83SnEA" name="RELATIONAL" order="4"/>
<ownedPrecedence xmi:id="_ArQIf1oHEeS2WoXr83SnEA" name="EQUALITY" order="5"/>
<ownedPrecedence xmi:id="_ArQIgFoHEeS2WoXr83SnEA" name="AND" order="6"/>
<ownedPrecedence xmi:id="_ArQIgVoHEeS2WoXr83SnEA" name="OR" order="7"/>
<ownedPrecedence xmi:id="_ArQIgloHEeS2WoXr83SnEA" name="XOR" order="8"/>
<ownedPrecedence xmi:id="_ArQIg1oHEeS2WoXr83SnEA" name="IMPLIES" order="9"/>
</nestedPackage>
</flatemofqvt:Root>