blob: 8489539d67a8001a4b89d3b0ca4e774aa6a5079e [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="__ImkIFoGEeS2WoXr83SnEA" name="OCL.oclstdlib" externalURI="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib">
<nestedPackage xmi:id="__ImkIVoGEeS2WoXr83SnEA" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkIloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwXbVoGEeS2WoXr83SnEA __IwXcVoGEeS2WoXr83SnEA"
contextType="__IwXOVoGEeS2WoXr83SnEA" resultType="__IwWW1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkI1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwXY1oGEeS2WoXr83SnEA"
contextType="__IwXOVoGEeS2WoXr83SnEA" resultType="__IwXYloGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkJFoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwXaVoGEeS2WoXr83SnEA"
contextType="__IwXOVoGEeS2WoXr83SnEA" resultType="__IwXaFoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkJVoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwXdVoGEeS2WoXr83SnEA"
contextType="__IwXOVoGEeS2WoXr83SnEA" resultType="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkJloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwXXFoGEeS2WoXr83SnEA"
contextType="__IwXOVoGEeS2WoXr83SnEA" resultType="__IwWDloGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkJ1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwX3loGEeS2WoXr83SnEA __IwX71oGEeS2WoXr83SnEA __IwX9FoGEeS2WoXr83SnEA __IwX91oGEeS2WoXr83SnEA __IwX_FoGEeS2WoXr83SnEA __IwYC1oGEeS2WoXr83SnEA __IwYD1oGEeS2WoXr83SnEA __IwYE1oGEeS2WoXr83SnEA"
contextType="__IwXe1oGEeS2WoXr83SnEA" resultType="__IwWW1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkKFoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwX5VoGEeS2WoXr83SnEA"
contextType="__IwXe1oGEeS2WoXr83SnEA" resultType="__IwX5FoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkKVoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwX7FoGEeS2WoXr83SnEA"
contextType="__IwXe1oGEeS2WoXr83SnEA" resultType="__IwX61oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkKloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwYBloGEeS2WoXr83SnEA"
contextType="__IwXe1oGEeS2WoXr83SnEA" resultType="__IwYBVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkK1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwYAFoGEeS2WoXr83SnEA __IwYF1oGEeS2WoXr83SnEA"
contextType="__IwXe1oGEeS2WoXr83SnEA" resultType="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkLFoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZIloGEeS2WoXr83SnEA __IwZJloGEeS2WoXr83SnEA"
contextType="__IwY2loGEeS2WoXr83SnEA" resultType="__IwWW1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkLVoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZKloGEeS2WoXr83SnEA"
contextType="__IwY2loGEeS2WoXr83SnEA" resultType="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkLloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZEVoGEeS2WoXr83SnEA"
contextType="__IwY2loGEeS2WoXr83SnEA" resultType="__IwY11oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkL1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZGFoGEeS2WoXr83SnEA"
contextType="__IwY2loGEeS2WoXr83SnEA" resultType="__IwZF1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkMFoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZHloGEeS2WoXr83SnEA"
contextType="__IwY2loGEeS2WoXr83SnEA" resultType="__IwZHVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkMVoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZdloGEeS2WoXr83SnEA __IwZeloGEeS2WoXr83SnEA"
contextType="__IwZL1oGEeS2WoXr83SnEA" resultType="__IwWW1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkMloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZfloGEeS2WoXr83SnEA"
contextType="__IwZL1oGEeS2WoXr83SnEA" resultType="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkM1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZZVoGEeS2WoXr83SnEA"
contextType="__IwZL1oGEeS2WoXr83SnEA" resultType="__IwV4VoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkNFoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZbFoGEeS2WoXr83SnEA"
contextType="__IwZL1oGEeS2WoXr83SnEA" resultType="__IwZa1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkNVoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZcloGEeS2WoXr83SnEA"
contextType="__IwZL1oGEeS2WoXr83SnEA" resultType="__IwZcVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkNloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZuloGEeS2WoXr83SnEA __IwZvloGEeS2WoXr83SnEA"
contextType="__IwZg1oGEeS2WoXr83SnEA" resultType="__IwWW1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkN1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZwloGEeS2WoXr83SnEA"
contextType="__IwZg1oGEeS2WoXr83SnEA" resultType="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkOFoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZqVoGEeS2WoXr83SnEA"
contextType="__IwZg1oGEeS2WoXr83SnEA" resultType="__IwZgFoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkOVoGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZsFoGEeS2WoXr83SnEA"
contextType="__IwZg1oGEeS2WoXr83SnEA" resultType="__IwZr1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkOloGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZtloGEeS2WoXr83SnEA"
contextType="__IwZg1oGEeS2WoXr83SnEA" resultType="__IwZtVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="__ImkO1oGEeS2WoXr83SnEA" name="Lambda" superClass="__IwYlVoGEeS2WoXr83SnEA" typedElement="__IwZ2FoGEeS2WoXr83SnEA"
contextType="__IwZyVoGEeS2WoXr83SnEA" resultType="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:TupleType" xmi:id="__ImkPFoGEeS2WoXr83SnEA" name="Tuple" templateParameterSubstitution="__ImkaFoGEeS2WoXr83SnEA __IwWDVoGEeS2WoXr83SnEA __IwWKFoGEeS2WoXr83SnEA"
superClass="__IwYq1oGEeS2WoXr83SnEA">
<ownedAttribute xmi:id="__ImkPVoGEeS2WoXr83SnEA" name="first" type="__IwXe1oGEeS2WoXr83SnEA"/>
<ownedAttribute xmi:id="__ImkPloGEeS2WoXr83SnEA" name="second" type="__IwXyVoGEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkP1oGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__ImkaVoGEeS2WoXr83SnEA" typedElement="__IwXXloGEeS2WoXr83SnEA" elementType="__IwXYloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkQFoGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkQVoGEeS2WoXr83SnEA" actual="__IwXYloGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkQloGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__ImkbFoGEeS2WoXr83SnEA" typedElement="__IwXZVoGEeS2WoXr83SnEA" elementType="__IwXaFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkQ1oGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkRFoGEeS2WoXr83SnEA" actual="__IwXaFoGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkRVoGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__Imkb1oGEeS2WoXr83SnEA" typedElement="__IwXRVoGEeS2WoXr83SnEA" elementType="__IwXSVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkRloGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkR1oGEeS2WoXr83SnEA" actual="__IwXSVoGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkSFoGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__ImkcloGEeS2WoXr83SnEA" typedElement="__IwXUFoGEeS2WoXr83SnEA" elementType="__IwXU1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkSVoGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkSloGEeS2WoXr83SnEA" actual="__IwXU1oGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkS1oGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__ImkdVoGEeS2WoXr83SnEA" typedElement="__IwXVVoGEeS2WoXr83SnEA" elementType="__IwXWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkTFoGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkTVoGEeS2WoXr83SnEA" actual="__IwXWFoGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkTloGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__Imkk1oGEeS2WoXr83SnEA" typedElement="__IwXiVoGEeS2WoXr83SnEA __IwXt1oGEeS2WoXr83SnEA __IwX2VoGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkT1oGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkUFoGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkUVoGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__ImklloGEeS2WoXr83SnEA" typedElement="__IwXfFoGEeS2WoXr83SnEA" elementType="__IwXeFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkUloGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkU1oGEeS2WoXr83SnEA" actual="__IwXeFoGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkVFoGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__ImknFoGEeS2WoXr83SnEA" typedElement="__IwYIVoGEeS2WoXr83SnEA" elementType="__IwYGVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkVVoGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkVloGEeS2WoXr83SnEA" actual="__IwYGVoGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkV1oGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__Imkn1oGEeS2WoXr83SnEA" typedElement="__IwYJloGEeS2WoXr83SnEA" elementType="__IwYIloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkWFoGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkWVoGEeS2WoXr83SnEA" actual="__IwYIloGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkWloGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__IwVSFoGEeS2WoXr83SnEA" typedElement="__IwZq1oGEeS2WoXr83SnEA" elementType="__IwZr1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkW1oGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkXFoGEeS2WoXr83SnEA" actual="__IwZr1oGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__ImkXVoGEeS2WoXr83SnEA" name="Bag" unspecializedElement="__IwXNloGEeS2WoXr83SnEA"
superClass="__IwVS1oGEeS2WoXr83SnEA" typedElement="__IwZsloGEeS2WoXr83SnEA" elementType="__IwZtVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkXloGEeS2WoXr83SnEA" signature="__IwXN1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkX1oGEeS2WoXr83SnEA" actual="__IwZtVoGEeS2WoXr83SnEA" formal="__IwXOFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkYFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwWeVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkYVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkYloGEeS2WoXr83SnEA" actual="__IwWeVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkY1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwWzVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkZFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkZVoGEeS2WoXr83SnEA" actual="__IwWzVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkZloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__ImkPFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkZ1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkaFoGEeS2WoXr83SnEA" actual="__ImkPFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkaVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXYloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkaloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__Imka1oGEeS2WoXr83SnEA" actual="__IwXYloGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkbFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXaFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkbVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkbloGEeS2WoXr83SnEA" actual="__IwXaFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__Imkb1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXSVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkcFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkcVoGEeS2WoXr83SnEA" actual="__IwXSVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkcloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXU1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__Imkc1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkdFoGEeS2WoXr83SnEA" actual="__IwXU1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkdVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkdloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__Imkd1oGEeS2WoXr83SnEA" actual="__IwXWFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkeFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXT1oGEeS2WoXr83SnEA" elementType="__IwXOVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkeVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkeloGEeS2WoXr83SnEA" actual="__IwXOVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__Imke1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwX4FoGEeS2WoXr83SnEA" elementType="__IwX5FoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkfFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkfVoGEeS2WoXr83SnEA" actual="__IwX5FoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkfloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwX51oGEeS2WoXr83SnEA" elementType="__IwX61oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__Imkf1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkgFoGEeS2WoXr83SnEA" actual="__IwX61oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkgVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXnFoGEeS2WoXr83SnEA" elementType="__IwXm1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkgloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__Imkg1oGEeS2WoXr83SnEA" actual="__IwXm1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkhFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXo1oGEeS2WoXr83SnEA" elementType="__IwXp1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkhVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkhloGEeS2WoXr83SnEA" actual="__IwXp1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__Imkh1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXsFoGEeS2WoXr83SnEA" elementType="__IwXr1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkiFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkiVoGEeS2WoXr83SnEA" actual="__IwXr1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkiloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXyloGEeS2WoXr83SnEA" elementType="__IwXyVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__Imki1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkjFoGEeS2WoXr83SnEA" actual="__IwXyVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkjVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXy1oGEeS2WoXr83SnEA" elementType="__IwXzloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkjloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__Imkj1oGEeS2WoXr83SnEA" actual="__IwXzloGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkkFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwX0FoGEeS2WoXr83SnEA" elementType="__IwX01oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkkVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkkloGEeS2WoXr83SnEA" actual="__IwX01oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__Imkk1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImklFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImklVoGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImklloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwXeFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__Imkl1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkmFoGEeS2WoXr83SnEA" actual="__IwXeFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkmVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwYH1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkmloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__Imkm1oGEeS2WoXr83SnEA" actual="__IwYH1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImknFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwYGVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImknVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImknloGEeS2WoXr83SnEA" actual="__IwYGVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__Imkn1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwYIloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkoFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkoVoGEeS2WoXr83SnEA" actual="__IwYIloGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkoloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXRFoGEeS2WoXr83SnEA __IwXoloGEeS2WoXr83SnEA __IwY7VoGEeS2WoXr83SnEA __IwZQFoGEeS2WoXr83SnEA __IwZkVoGEeS2WoXr83SnEA"
elementType="__IwYKVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__Imko1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__ImkpFoGEeS2WoXr83SnEA" actual="__IwYKVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkpVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwYaFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkploGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__Imkp1oGEeS2WoXr83SnEA" actual="__IwYaFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__ImkqFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwYoVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__ImkqVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVIFoGEeS2WoXr83SnEA" actual="__IwYoVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVIVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwYzFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVIloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVI1oGEeS2WoXr83SnEA" actual="__IwYzFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVJFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZF1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVJVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVJloGEeS2WoXr83SnEA" actual="__IwZF1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVJ1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZHVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVKFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVKVoGEeS2WoXr83SnEA" actual="__IwZHVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVKloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwY8VoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVK1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVLFoGEeS2WoXr83SnEA" actual="__IwY8VoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVLVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZBFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVLloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVL1oGEeS2WoXr83SnEA" actual="__IwZBFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVMFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZCVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVMVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVMloGEeS2WoXr83SnEA" actual="__IwZCVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVM1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwY2loGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVNFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVNVoGEeS2WoXr83SnEA" actual="__IwY2loGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVNloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZa1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVN1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVOFoGEeS2WoXr83SnEA" actual="__IwZa1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVOVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZcVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVOloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVO1oGEeS2WoXr83SnEA" actual="__IwZcVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVPFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZRVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVPVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVPloGEeS2WoXr83SnEA" actual="__IwZRVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVP1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVQFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVQVoGEeS2WoXr83SnEA" actual="__IwZWFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVQloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZXVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVQ1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVRFoGEeS2WoXr83SnEA" actual="__IwZXVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVRVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZL1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVRloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVR1oGEeS2WoXr83SnEA" actual="__IwZL1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVSFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZr1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVSVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVSloGEeS2WoXr83SnEA" actual="__IwZr1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVS1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZtVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVTFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVTVoGEeS2WoXr83SnEA" actual="__IwZtVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVTloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZlloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVT1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVUFoGEeS2WoXr83SnEA" actual="__IwZlloGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVUVoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZoFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVUloGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVU1oGEeS2WoXr83SnEA" actual="__IwZoFoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVVFoGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" elementType="__IwZpVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVVVoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVVloGEeS2WoXr83SnEA" actual="__IwZpVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVV1oGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwZnFoGEeS2WoXr83SnEA" elementType="__IwZg1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVWFoGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVWVoGEeS2WoXr83SnEA" actual="__IwZg1oGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVWloGEeS2WoXr83SnEA" name="Collection" unspecializedElement="__IwXeFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwZz1oGEeS2WoXr83SnEA" elementType="__IwZyVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVW1oGEeS2WoXr83SnEA" signature="__IwXeVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVXFoGEeS2WoXr83SnEA" actual="__IwZyVoGEeS2WoXr83SnEA" formal="__IwXeloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVXVoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwXNVoGEeS2WoXr83SnEA" instanceType="__IwXNFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVXloGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVX1oGEeS2WoXr83SnEA" actual="__IwXNFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVYFoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwXVFoGEeS2WoXr83SnEA" instanceType="__IwXU1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVYVoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVYloGEeS2WoXr83SnEA" actual="__IwXU1oGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVY1oGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwXWVoGEeS2WoXr83SnEA" instanceType="__IwXWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVZFoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVZVoGEeS2WoXr83SnEA" actual="__IwXWFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVZloGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwXz1oGEeS2WoXr83SnEA" instanceType="__IwXzloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVZ1oGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVaFoGEeS2WoXr83SnEA" actual="__IwXzloGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVaVoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwX1FoGEeS2WoXr83SnEA" instanceType="__IwX01oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwValoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVa1oGEeS2WoXr83SnEA" actual="__IwX01oGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVbFoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYOFoGEeS2WoXr83SnEA" instanceType="__IwYN1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVbVoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVbloGEeS2WoXr83SnEA" actual="__IwYN1oGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVb1oGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYQ1oGEeS2WoXr83SnEA" instanceType="__IwYQloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVcFoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVcVoGEeS2WoXr83SnEA" actual="__IwYQloGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVcloGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYS1oGEeS2WoXr83SnEA" instanceType="__IwYSloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVc1oGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVdFoGEeS2WoXr83SnEA" actual="__IwYSloGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVdVoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYg1oGEeS2WoXr83SnEA" instanceType="__IwYgloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVdloGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVd1oGEeS2WoXr83SnEA" actual="__IwYgloGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVeFoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYiVoGEeS2WoXr83SnEA" instanceType="__IwYiFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVeVoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVeloGEeS2WoXr83SnEA" actual="__IwYiFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVe1oGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYjloGEeS2WoXr83SnEA" instanceType="__IwYjVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVfFoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVfVoGEeS2WoXr83SnEA" actual="__IwYjVoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVfloGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" instanceType="__IwYcFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVf1oGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVgFoGEeS2WoXr83SnEA" actual="__IwYcFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVgVoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwYU1oGEeS2WoXr83SnEA __IwYkFoGEeS2WoXr83SnEA" instanceType="__IwYoVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVgloGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVg1oGEeS2WoXr83SnEA" actual="__IwYoVoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVhFoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" instanceType="__IwYtloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVhVoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVhloGEeS2WoXr83SnEA" actual="__IwYtloGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVh1oGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwZBVoGEeS2WoXr83SnEA" instanceType="__IwZBFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwViFoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwViVoGEeS2WoXr83SnEA" actual="__IwZBFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwViloGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwZCloGEeS2WoXr83SnEA" instanceType="__IwZCVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVi1oGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVjFoGEeS2WoXr83SnEA" actual="__IwZCVoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVjVoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwZWVoGEeS2WoXr83SnEA" instanceType="__IwZWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVjloGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVj1oGEeS2WoXr83SnEA" actual="__IwZWFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVkFoGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwZXloGEeS2WoXr83SnEA" instanceType="__IwZXVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVkVoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVkloGEeS2WoXr83SnEA" actual="__IwZXVoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVk1oGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwZoVoGEeS2WoXr83SnEA" instanceType="__IwZoFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVlFoGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVlVoGEeS2WoXr83SnEA" actual="__IwZoFoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwVlloGEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="__IwYIloGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" typedElement="__IwZploGEeS2WoXr83SnEA" instanceType="__IwZpVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVl1oGEeS2WoXr83SnEA" signature="__IwYI1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVmFoGEeS2WoXr83SnEA" actual="__IwZpVoGEeS2WoXr83SnEA" formal="__IwYJFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVmVoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__ImkYFoGEeS2WoXr83SnEA" elementType="__IwWeVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVmloGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVm1oGEeS2WoXr83SnEA" actual="__IwWeVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVnFoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__ImkY1oGEeS2WoXr83SnEA" elementType="__IwWzVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVnVoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVnloGEeS2WoXr83SnEA" actual="__IwWzVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVn1oGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__ImkeFoGEeS2WoXr83SnEA" elementType="__IwXOVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVoFoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVoVoGEeS2WoXr83SnEA" actual="__IwXOVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVoloGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__Imkk1oGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVo1oGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVpFoGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVpVoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__ImkmVoGEeS2WoXr83SnEA" elementType="__IwYH1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVploGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVp1oGEeS2WoXr83SnEA" actual="__IwYH1oGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVqFoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVJFoGEeS2WoXr83SnEA" elementType="__IwZF1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVqVoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVqloGEeS2WoXr83SnEA" actual="__IwZF1oGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVq1oGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVJ1oGEeS2WoXr83SnEA" elementType="__IwZHVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVrFoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVrVoGEeS2WoXr83SnEA" actual="__IwZHVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVrloGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVKloGEeS2WoXr83SnEA" elementType="__IwY8VoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVr1oGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVsFoGEeS2WoXr83SnEA" actual="__IwY8VoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVsVoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVLVoGEeS2WoXr83SnEA" elementType="__IwZBFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVsloGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVs1oGEeS2WoXr83SnEA" actual="__IwZBFoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVtFoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVMFoGEeS2WoXr83SnEA" elementType="__IwZCVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVtVoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVtloGEeS2WoXr83SnEA" actual="__IwZCVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVt1oGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVM1oGEeS2WoXr83SnEA" typedElement="__IwY51oGEeS2WoXr83SnEA __IwY_loGEeS2WoXr83SnEA" elementType="__IwY2loGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVuFoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVuVoGEeS2WoXr83SnEA" actual="__IwY2loGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVuloGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVNloGEeS2WoXr83SnEA" elementType="__IwZa1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVu1oGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVvFoGEeS2WoXr83SnEA" actual="__IwZa1oGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVvVoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVOVoGEeS2WoXr83SnEA" elementType="__IwZcVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVvloGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVv1oGEeS2WoXr83SnEA" actual="__IwZcVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVwFoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVPFoGEeS2WoXr83SnEA" elementType="__IwZRVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVwVoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVwloGEeS2WoXr83SnEA" actual="__IwZRVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVw1oGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVP1oGEeS2WoXr83SnEA" elementType="__IwZWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVxFoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVxVoGEeS2WoXr83SnEA" actual="__IwZWFoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVxloGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVQloGEeS2WoXr83SnEA" elementType="__IwZXVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVx1oGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVyFoGEeS2WoXr83SnEA" actual="__IwZXVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVyVoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVRVoGEeS2WoXr83SnEA" typedElement="__IwZOloGEeS2WoXr83SnEA __IwZUloGEeS2WoXr83SnEA" elementType="__IwZL1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVyloGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVy1oGEeS2WoXr83SnEA" actual="__IwZL1oGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVzFoGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVV1oGEeS2WoXr83SnEA" elementType="__IwZg1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwVzVoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwVzloGEeS2WoXr83SnEA" actual="__IwZg1oGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwVz1oGEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="__IwYyVoGEeS2WoXr83SnEA"
superClass="__IwVWloGEeS2WoXr83SnEA" elementType="__IwZyVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV0FoGEeS2WoXr83SnEA" signature="__IwYyloGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV0VoGEeS2WoXr83SnEA" actual="__IwZyVoGEeS2WoXr83SnEA" formal="__IwYy1oGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV0loGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVoloGEeS2WoXr83SnEA __IwWLFoGEeS2WoXr83SnEA" typedElement="__IwXi1oGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV01oGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV1FoGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV1VoGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVpVoGEeS2WoXr83SnEA __IwWL1oGEeS2WoXr83SnEA" typedElement="__IwYG1oGEeS2WoXr83SnEA" elementType="__IwYH1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV1loGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV11oGEeS2WoXr83SnEA" actual="__IwYH1oGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV2FoGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVrloGEeS2WoXr83SnEA __IwWO1oGEeS2WoXr83SnEA" typedElement="__IwY7loGEeS2WoXr83SnEA" elementType="__IwY8VoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV2VoGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV2loGEeS2WoXr83SnEA" actual="__IwY8VoGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV21oGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVsVoGEeS2WoXr83SnEA __IwWPloGEeS2WoXr83SnEA" typedElement="__IwZAVoGEeS2WoXr83SnEA" elementType="__IwZBFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV3FoGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV3VoGEeS2WoXr83SnEA" actual="__IwZBFoGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV3loGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVtFoGEeS2WoXr83SnEA __IwWQVoGEeS2WoXr83SnEA" typedElement="__IwZBloGEeS2WoXr83SnEA" elementType="__IwZCVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV31oGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV4FoGEeS2WoXr83SnEA" actual="__IwZCVoGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV4VoGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVyVoGEeS2WoXr83SnEA __IwWR1oGEeS2WoXr83SnEA" typedElement="__IwZY1oGEeS2WoXr83SnEA" elementType="__IwZL1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV4loGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV41oGEeS2WoXr83SnEA" actual="__IwZL1oGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV5FoGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVzFoGEeS2WoXr83SnEA __IwWU1oGEeS2WoXr83SnEA" typedElement="__IwZwFoGEeS2WoXr83SnEA" elementType="__IwZg1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV5VoGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV5loGEeS2WoXr83SnEA" actual="__IwZg1oGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwV51oGEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="__IwY11oGEeS2WoXr83SnEA"
superClass="__IwVz1oGEeS2WoXr83SnEA __IwWVloGEeS2WoXr83SnEA" typedElement="__IwZ1loGEeS2WoXr83SnEA" elementType="__IwZyVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV6FoGEeS2WoXr83SnEA" signature="__IwY2FoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV6VoGEeS2WoXr83SnEA" actual="__IwZyVoGEeS2WoXr83SnEA" formal="__IwY2VoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV6loGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVmVoGEeS2WoXr83SnEA" elementType="__IwWeVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV61oGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV7FoGEeS2WoXr83SnEA" actual="__IwWeVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV7VoGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVnFoGEeS2WoXr83SnEA" typedElement="__IwW5FoGEeS2WoXr83SnEA __IwXJFoGEeS2WoXr83SnEA __IwXJloGEeS2WoXr83SnEA __IwXKVoGEeS2WoXr83SnEA"
elementType="__IwWzVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV7loGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV71oGEeS2WoXr83SnEA" actual="__IwWzVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV8FoGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVn1oGEeS2WoXr83SnEA" typedElement="__IwXc1oGEeS2WoXr83SnEA" elementType="__IwXOVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV8VoGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV8loGEeS2WoXr83SnEA" actual="__IwXOVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV81oGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVoloGEeS2WoXr83SnEA" typedElement="__IwXjVoGEeS2WoXr83SnEA __IwYFVoGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV9FoGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV9VoGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV9loGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVqFoGEeS2WoXr83SnEA" typedElement="__IwZE1oGEeS2WoXr83SnEA" elementType="__IwZF1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV91oGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV-FoGEeS2WoXr83SnEA" actual="__IwZF1oGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV-VoGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVq1oGEeS2WoXr83SnEA" typedElement="__IwZGloGEeS2WoXr83SnEA" elementType="__IwZHVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV-loGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV-1oGEeS2WoXr83SnEA" actual="__IwZHVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV_FoGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVuloGEeS2WoXr83SnEA" typedElement="__IwZZ1oGEeS2WoXr83SnEA" elementType="__IwZa1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwV_VoGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwV_loGEeS2WoXr83SnEA" actual="__IwZa1oGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwV_1oGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVvVoGEeS2WoXr83SnEA" typedElement="__IwZbloGEeS2WoXr83SnEA" elementType="__IwZcVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWAFoGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWAVoGEeS2WoXr83SnEA" actual="__IwZcVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwWAloGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVwFoGEeS2WoXr83SnEA" typedElement="__IwZQVoGEeS2WoXr83SnEA" elementType="__IwZRVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWA1oGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWBFoGEeS2WoXr83SnEA" actual="__IwZRVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwWBVoGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVw1oGEeS2WoXr83SnEA" typedElement="__IwZVVoGEeS2WoXr83SnEA" elementType="__IwZWFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWBloGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWB1oGEeS2WoXr83SnEA" actual="__IwZWFoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwWCFoGEeS2WoXr83SnEA" name="Sequence" unspecializedElement="__IwZLFoGEeS2WoXr83SnEA"
superClass="__IwVxloGEeS2WoXr83SnEA" typedElement="__IwZWloGEeS2WoXr83SnEA" elementType="__IwZXVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWCVoGEeS2WoXr83SnEA" signature="__IwZLVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWCloGEeS2WoXr83SnEA" actual="__IwZXVoGEeS2WoXr83SnEA" formal="__IwZLloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWC1oGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWJloGEeS2WoXr83SnEA" typedElement="__IwXxVoGEeS2WoXr83SnEA" elementType="__ImkPFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWDFoGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWDVoGEeS2WoXr83SnEA" actual="__ImkPFoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWDloGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWKVoGEeS2WoXr83SnEA" typedElement="__IwXWloGEeS2WoXr83SnEA" elementType="__IwXOVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWD1oGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWEFoGEeS2WoXr83SnEA" actual="__IwXOVoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWEVoGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWLFoGEeS2WoXr83SnEA" typedElement="__IwXj1oGEeS2WoXr83SnEA __IwXuloGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWEloGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWE1oGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWFFoGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWNVoGEeS2WoXr83SnEA" typedElement="__IwYbloGEeS2WoXr83SnEA" elementType="__IwYaFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWFVoGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWFloGEeS2WoXr83SnEA" actual="__IwYaFoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWF1oGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWOFoGEeS2WoXr83SnEA" typedElement="__IwWYloGEeS2WoXr83SnEA __IwYHVoGEeS2WoXr83SnEA __IwYMVoGEeS2WoXr83SnEA __IwYaloGEeS2WoXr83SnEA __IwYeFoGEeS2WoXr83SnEA __IwYfloGEeS2WoXr83SnEA __IwYvVoGEeS2WoXr83SnEA"
elementType="__IwYoVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWGFoGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWGVoGEeS2WoXr83SnEA" actual="__IwYoVoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWGloGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWSloGEeS2WoXr83SnEA" typedElement="__IwZkloGEeS2WoXr83SnEA" elementType="__IwZlloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWG1oGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWHFoGEeS2WoXr83SnEA" actual="__IwZlloGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWHVoGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWTVoGEeS2WoXr83SnEA" typedElement="__IwZnVoGEeS2WoXr83SnEA" elementType="__IwZoFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWHloGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWH1oGEeS2WoXr83SnEA" actual="__IwZoFoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWIFoGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWUFoGEeS2WoXr83SnEA" typedElement="__IwZoloGEeS2WoXr83SnEA" elementType="__IwZpVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWIVoGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWIloGEeS2WoXr83SnEA" actual="__IwZpVoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwWI1oGEeS2WoXr83SnEA" name="Set" unspecializedElement="__IwZgFoGEeS2WoXr83SnEA"
superClass="__IwWVloGEeS2WoXr83SnEA" typedElement="__IwZzVoGEeS2WoXr83SnEA __IwZ0FoGEeS2WoXr83SnEA __IwZ01oGEeS2WoXr83SnEA" elementType="__IwZyVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWJFoGEeS2WoXr83SnEA" signature="__IwZgVoGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWJVoGEeS2WoXr83SnEA" actual="__IwZyVoGEeS2WoXr83SnEA" formal="__IwZgloGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWJloGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__ImkZloGEeS2WoXr83SnEA" elementType="__ImkPFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWJ1oGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWKFoGEeS2WoXr83SnEA" actual="__ImkPFoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWKVoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__ImkeFoGEeS2WoXr83SnEA" elementType="__IwXOVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWKloGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWK1oGEeS2WoXr83SnEA" actual="__IwXOVoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWLFoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__Imkk1oGEeS2WoXr83SnEA" typedElement="__IwXvFoGEeS2WoXr83SnEA" elementType="__IwXe1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWLVoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWLloGEeS2WoXr83SnEA" actual="__IwXe1oGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWL1oGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__ImkmVoGEeS2WoXr83SnEA" elementType="__IwYH1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWMFoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWMVoGEeS2WoXr83SnEA" actual="__IwYH1oGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWMloGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__ImkoloGEeS2WoXr83SnEA" typedElement="__IwY3VoGEeS2WoXr83SnEA __IwZhloGEeS2WoXr83SnEA __IwZzFoGEeS2WoXr83SnEA __IwZ0loGEeS2WoXr83SnEA"
elementType="__IwYKVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWM1oGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWNFoGEeS2WoXr83SnEA" actual="__IwYKVoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWNVoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__ImkpVoGEeS2WoXr83SnEA" elementType="__IwYaFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWNloGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWN1oGEeS2WoXr83SnEA" actual="__IwYaFoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWOFoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__ImkqFoGEeS2WoXr83SnEA" elementType="__IwYoVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWOVoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWOloGEeS2WoXr83SnEA" actual="__IwYoVoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWO1oGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVKloGEeS2WoXr83SnEA" elementType="__IwY8VoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWPFoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWPVoGEeS2WoXr83SnEA" actual="__IwY8VoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWPloGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVLVoGEeS2WoXr83SnEA" elementType="__IwZBFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWP1oGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWQFoGEeS2WoXr83SnEA" actual="__IwZBFoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWQVoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVMFoGEeS2WoXr83SnEA" elementType="__IwZCVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWQloGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWQ1oGEeS2WoXr83SnEA" actual="__IwZCVoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWRFoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVM1oGEeS2WoXr83SnEA" elementType="__IwY2loGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWRVoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWRloGEeS2WoXr83SnEA" actual="__IwY2loGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWR1oGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVRVoGEeS2WoXr83SnEA" elementType="__IwZL1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWSFoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWSVoGEeS2WoXr83SnEA" actual="__IwZL1oGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWSloGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVTloGEeS2WoXr83SnEA" elementType="__IwZlloGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWS1oGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWTFoGEeS2WoXr83SnEA" actual="__IwZlloGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWTVoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVUVoGEeS2WoXr83SnEA" elementType="__IwZoFoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWTloGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWT1oGEeS2WoXr83SnEA" actual="__IwZoFoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWUFoGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVVFoGEeS2WoXr83SnEA" elementType="__IwZpVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWUVoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWUloGEeS2WoXr83SnEA" actual="__IwZpVoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWU1oGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVV1oGEeS2WoXr83SnEA" elementType="__IwZg1oGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWVFoGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWVVoGEeS2WoXr83SnEA" actual="__IwZg1oGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwWVloGEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="__IwZxloGEeS2WoXr83SnEA"
superClass="__IwVWloGEeS2WoXr83SnEA" elementType="__IwZyVoGEeS2WoXr83SnEA">
<templateBinding xmi:id="__IwWV1oGEeS2WoXr83SnEA" signature="__IwZx1oGEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="__IwWWFoGEeS2WoXr83SnEA" actual="__IwZyVoGEeS2WoXr83SnEA" formal="__IwZyFoGEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
</nestedPackage>
<nestedPackage xmi:type="flatemofqvt:Library" xmi:id="__IwWWVoGEeS2WoXr83SnEA" name="ocl" nsPrefix="ocl" nsURI="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib">
<ownedComment xmi:id="__IwWWloGEeS2WoXr83SnEA" 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="__IwWW1oGEeS2WoXr83SnEA" name="Boolean" superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedOperation xmi:id="__IwWXFoGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWXVoGEeS2WoXr83SnEA" 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="__IwWXloGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWX1oGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWYFoGEeS2WoXr83SnEA" 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="__IwWYVoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWYloGEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAllInstancesOperation">
<ownedComment xmi:id="__IwWY1oGEeS2WoXr83SnEA" body="Returns oclText[Set{false, true}]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWZFoGEeS2WoXr83SnEA" name="and" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isInvalidating="true" isValidating="true" precedence="__IwZ4FoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWZVoGEeS2WoXr83SnEA" 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="__IwWZloGEeS2WoXr83SnEA" type="__IwWW1oGEeS2WoXr83SnEA">
<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="__IwWZ1oGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWaFoGEeS2WoXr83SnEA" name="implies" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanImpliesOperation"
isInvalidating="true" isValidating="true" precedence="__IwZ41oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWaVoGEeS2WoXr83SnEA" 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="__IwWaloGEeS2WoXr83SnEA" type="__IwWW1oGEeS2WoXr83SnEA">
<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="__IwWa1oGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWbFoGEeS2WoXr83SnEA" name="not" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanNotOperation"
precedence="__IwZ21oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWbVoGEeS2WoXr83SnEA" 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="__IwWbloGEeS2WoXr83SnEA" type="__IwWW1oGEeS2WoXr83SnEA">
<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="__IwWb1oGEeS2WoXr83SnEA" name="or" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanOrOperation"
isInvalidating="true" isValidating="true" precedence="__IwZ4VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWcFoGEeS2WoXr83SnEA" 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="__IwWcVoGEeS2WoXr83SnEA" type="__IwWW1oGEeS2WoXr83SnEA">
<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="__IwWcloGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWc1oGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwWdFoGEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWdVoGEeS2WoXr83SnEA" name="xor" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanXorOperation"
precedence="__IwZ4loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWdloGEeS2WoXr83SnEA" 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="__IwWd1oGEeS2WoXr83SnEA" type="__IwWW1oGEeS2WoXr83SnEA">
<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="__IwWeFoGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWXFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWX1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWZFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#__IwWZloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwWZ1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWaFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#__IwWaloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwWa1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWbFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#__IwWbloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWb1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#__IwWcVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwWcloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWdVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#__IwWd1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwWeFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWqloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWrVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWsFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWs1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWtloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWuVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW0VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW1FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW11oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW2VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW21oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW3loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW7FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW71oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW-FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXBVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXFFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXLFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXOloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXPFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXg1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXhloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXlFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXl1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXqFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXq1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXvVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXw1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#__IwX7loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#__IwX8loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#__IwX9loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#__IwX-loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#__IwX_loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#__IwYCVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYK1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYLloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYOVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYPFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYPloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYRFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYRloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYTFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYWVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYXFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYX1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYYloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYcloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYdVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYeloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYe1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYfFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYfVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYhFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYhVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYiloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYj1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYkVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYkloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYmVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYm1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYnVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYrVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYr1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYs1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYuFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYuloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYv1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYwFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYwVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYwloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYw1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYxFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYxVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYxloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwY3loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwY4FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwZMFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwZMloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwZh1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwZiVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="SeqToStm.xml#__IwavFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="SeqToStm.xml#__Iwa9VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="SeqToStm.xml#__Iwa-VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="SeqToStm.xml#__Iwa_VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="SeqToStm.xml#__IwbHloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="SeqToStm.xml#__IwbIloGEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="__IwWeVoGEeS2WoXr83SnEA" name="Integer" templateParameterSubstitution="__ImkYloGEeS2WoXr83SnEA __IwVm1oGEeS2WoXr83SnEA __IwV7FoGEeS2WoXr83SnEA"
superClass="__IwWm1oGEeS2WoXr83SnEA" typedElement="__IwWeloGEeS2WoXr83SnEA __IwWfVoGEeS2WoXr83SnEA __IwWgFoGEeS2WoXr83SnEA __IwWgloGEeS2WoXr83SnEA __IwWiFoGEeS2WoXr83SnEA __IwWiloGEeS2WoXr83SnEA __IwWjVoGEeS2WoXr83SnEA __IwWj1oGEeS2WoXr83SnEA __IwWkFoGEeS2WoXr83SnEA __IwWk1oGEeS2WoXr83SnEA __IwWlloGEeS2WoXr83SnEA __IwWmFoGEeS2WoXr83SnEA __IwWvloGEeS2WoXr83SnEA __IwWwVoGEeS2WoXr83SnEA __IwWyVoGEeS2WoXr83SnEA __IwW41oGEeS2WoXr83SnEA __IwW5loGEeS2WoXr83SnEA __IwW8loGEeS2WoXr83SnEA __IwW9VoGEeS2WoXr83SnEA __IwXA1oGEeS2WoXr83SnEA __IwXEloGEeS2WoXr83SnEA __IwXE1oGEeS2WoXr83SnEA __IwXFloGEeS2WoXr83SnEA __IwXf1oGEeS2WoXr83SnEA __IwXgVoGEeS2WoXr83SnEA __IwXkVoGEeS2WoXr83SnEA __IwX1VoGEeS2WoXr83SnEA __IwYZVoGEeS2WoXr83SnEA __IwYz1oGEeS2WoXr83SnEA __IwY0loGEeS2WoXr83SnEA __IwY91oGEeS2WoXr83SnEA __IwZDVoGEeS2WoXr83SnEA __IwZDloGEeS2WoXr83SnEA __IwZS1oGEeS2WoXr83SnEA __IwZYVoGEeS2WoXr83SnEA __IwZYloGEeS2WoXr83SnEA">
<ownedOperation xmi:id="__IwWeloGEeS2WoXr83SnEA" name="*" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericTimesOperation"
precedence="__IwZ3FoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWe1oGEeS2WoXr83SnEA" body="The value of the multiplication of oclText[self] and i."/>
<ownedParameter xmi:id="__IwWfFoGEeS2WoXr83SnEA" name="i" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWfVoGEeS2WoXr83SnEA" name="+" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericPlusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWfloGEeS2WoXr83SnEA" body="The value of the addition of oclText[self] and i."/>
<ownedParameter xmi:id="__IwWf1oGEeS2WoXr83SnEA" name="i" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWgFoGEeS2WoXr83SnEA" name="-" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericNegateOperation"
precedence="__IwZ21oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWgVoGEeS2WoXr83SnEA" body="The negative value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWgloGEeS2WoXr83SnEA" name="-" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWg1oGEeS2WoXr83SnEA" body="The value of the subtraction of i from oclText[self]."/>
<ownedParameter xmi:id="__IwWhFoGEeS2WoXr83SnEA" name="i" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWhVoGEeS2WoXr83SnEA" name="/" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivideOperation"
precedence="__IwZ3FoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWhloGEeS2WoXr83SnEA" body="The value of oclText[self] divided by i.&#xA;Evaluates to oclText[invalid] if r is equal to zero."/>
<ownedParameter xmi:id="__IwWh1oGEeS2WoXr83SnEA" name="i" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWiFoGEeS2WoXr83SnEA" name="abs" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericAbsOperation">
<ownedComment xmi:id="__IwWiVoGEeS2WoXr83SnEA" body="The absolute value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWiloGEeS2WoXr83SnEA" name="compareTo" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericCompareToOperation">
<ownedComment xmi:id="__IwWi1oGEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="__IwWjFoGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWjVoGEeS2WoXr83SnEA" name="div" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivOperation">
<ownedComment xmi:id="__IwWjloGEeS2WoXr83SnEA" body="The number of times that i fits completely within oclText[self]."/>
<ownedParameter xmi:id="__IwWj1oGEeS2WoXr83SnEA" name="i" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWkFoGEeS2WoXr83SnEA" name="max" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMaxOperation">
<ownedComment xmi:id="__IwWkVoGEeS2WoXr83SnEA" body="The maximum of oclText[self] an i."/>
<ownedParameter xmi:id="__IwWkloGEeS2WoXr83SnEA" name="i" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWk1oGEeS2WoXr83SnEA" name="min" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinOperation">
<ownedComment xmi:id="__IwWlFoGEeS2WoXr83SnEA" body="The minimum of oclText[self] an i."/>
<ownedParameter xmi:id="__IwWlVoGEeS2WoXr83SnEA" name="i" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWlloGEeS2WoXr83SnEA" name="mod" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericModOperation">
<ownedComment xmi:id="__IwWl1oGEeS2WoXr83SnEA" body="The result is oclText[self] modulo i."/>
<ownedParameter xmi:id="__IwWmFoGEeS2WoXr83SnEA" name="i" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWmVoGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwWmloGEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="__IwWm1oGEeS2WoXr83SnEA" name="Real" superClass="__IwYV1oGEeS2WoXr83SnEA __IwYpFoGEeS2WoXr83SnEA"
typedElement="__IwWhVoGEeS2WoXr83SnEA __IwWnFoGEeS2WoXr83SnEA __IwWn1oGEeS2WoXr83SnEA __IwWoloGEeS2WoXr83SnEA __IwWpFoGEeS2WoXr83SnEA __IwWp1oGEeS2WoXr83SnEA __IwWvFoGEeS2WoXr83SnEA __IwWw1oGEeS2WoXr83SnEA __IwWxloGEeS2WoXr83SnEA __IwXHFoGEeS2WoXr83SnEA">
<ownedOperation xmi:id="__IwWnFoGEeS2WoXr83SnEA" name="*" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericTimesOperation"
precedence="__IwZ3FoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWnVoGEeS2WoXr83SnEA" body="The value of the multiplication of oclText[self] and r."/>
<ownedParameter xmi:id="__IwWnloGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWn1oGEeS2WoXr83SnEA" name="+" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericPlusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWoFoGEeS2WoXr83SnEA" body="The value of the addition of oclText[self] and r."/>
<ownedParameter xmi:id="__IwWoVoGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWoloGEeS2WoXr83SnEA" name="-" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericNegateOperation"
precedence="__IwZ21oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWo1oGEeS2WoXr83SnEA" body="The negative value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWpFoGEeS2WoXr83SnEA" name="-" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWpVoGEeS2WoXr83SnEA" body="The value of the subtraction of r from oclText[self]."/>
<ownedParameter xmi:id="__IwWploGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWp1oGEeS2WoXr83SnEA" name="/" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivideOperation"
precedence="__IwZ3FoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWqFoGEeS2WoXr83SnEA" body="The value of oclText[self] divided by r. Evaluates to oclText[invalid] if r is equal to zero."/>
<ownedParameter xmi:id="__IwWqVoGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWqloGEeS2WoXr83SnEA" name="&lt;" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericLessThanOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWq1oGEeS2WoXr83SnEA" body="True if oclText[self] is less than r."/>
<ownedParameter xmi:id="__IwWrFoGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWrVoGEeS2WoXr83SnEA" name="&lt;=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericLessThanEqualOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWrloGEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to r."/>
<ownedParameter xmi:id="__IwWr1oGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWsFoGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWsVoGEeS2WoXr83SnEA" 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="__IwWsloGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWs1oGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWtFoGEeS2WoXr83SnEA" 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="__IwWtVoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWtloGEeS2WoXr83SnEA" name=">" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericGreaterThanOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWt1oGEeS2WoXr83SnEA" body="True if oclText[self] is greater than r."/>
<ownedParameter xmi:id="__IwWuFoGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWuVoGEeS2WoXr83SnEA" name=">=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericGreaterThanEqualOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWuloGEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to r."/>
<ownedParameter xmi:id="__IwWu1oGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWvFoGEeS2WoXr83SnEA" name="abs" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericAbsOperation">
<ownedComment xmi:id="__IwWvVoGEeS2WoXr83SnEA" body="The absolute value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWvloGEeS2WoXr83SnEA" name="compareTo" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericCompareToOperation">
<ownedComment xmi:id="__IwWv1oGEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="__IwWwFoGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWwVoGEeS2WoXr83SnEA" name="floor" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericFloorOperation">
<ownedComment xmi:id="__IwWwloGEeS2WoXr83SnEA" body="The largest integer that is less than or equal to oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWw1oGEeS2WoXr83SnEA" name="max" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMaxOperation">
<ownedComment xmi:id="__IwWxFoGEeS2WoXr83SnEA" body="The maximum of oclText[self] and r."/>
<ownedParameter xmi:id="__IwWxVoGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWxloGEeS2WoXr83SnEA" name="min" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinOperation">
<ownedComment xmi:id="__IwWx1oGEeS2WoXr83SnEA" body="The minimum of oclText[self] and r."/>
<ownedParameter xmi:id="__IwWyFoGEeS2WoXr83SnEA" name="r" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwWyVoGEeS2WoXr83SnEA" name="round" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericRoundOperation">
<ownedComment xmi:id="__IwWyloGEeS2WoXr83SnEA" body="The integer that is closest to oclText[self]. When there are two such integers, the largest one."/>
</ownedOperation>
<ownedOperation xmi:id="__IwWy1oGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwWzFoGEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="__IwWzVoGEeS2WoXr83SnEA" name="String" templateParameterSubstitution="__ImkZVoGEeS2WoXr83SnEA __IwVnloGEeS2WoXr83SnEA __IwV71oGEeS2WoXr83SnEA"
superClass="__IwYV1oGEeS2WoXr83SnEA __IwYpFoGEeS2WoXr83SnEA">
<ownedOperation xmi:id="__IwWzloGEeS2WoXr83SnEA" name="+" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringConcatOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwWz1oGEeS2WoXr83SnEA" body="The concatenation of oclText[self] and s."/>
<ownedParameter xmi:id="__IwW0FoGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW0VoGEeS2WoXr83SnEA" name="&lt;" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLessThanOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwW0loGEeS2WoXr83SnEA" body="True if oclText[self] is less than s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="__IwW01oGEeS2WoXr83SnEA" name="s" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW1FoGEeS2WoXr83SnEA" name="&lt;=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLessThanEqualOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwW1VoGEeS2WoXr83SnEA" 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="__IwW1loGEeS2WoXr83SnEA" name="s" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW11oGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwW2FoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW2VoGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwW2loGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW21oGEeS2WoXr83SnEA" name=">" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringGreaterThanOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwW3FoGEeS2WoXr83SnEA" body="True if oclText[self] is greater than s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="__IwW3VoGEeS2WoXr83SnEA" name="s" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW3loGEeS2WoXr83SnEA" name=">=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringGreaterThanEqualOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwW31oGEeS2WoXr83SnEA" 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="__IwW4FoGEeS2WoXr83SnEA" name="s" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW4VoGEeS2WoXr83SnEA" name="at" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringAtOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwW4loGEeS2WoXr83SnEA" body="Queries the character at position i in oclText[self]."/>
<ownedParameter xmi:id="__IwW41oGEeS2WoXr83SnEA" name="i" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW5FoGEeS2WoXr83SnEA" name="characters" type="__IwV7VoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringCharactersOperation">
<ownedComment xmi:id="__IwW5VoGEeS2WoXr83SnEA" body="Obtains the characters of oclText[self] as a sequence."/>
</ownedOperation>
<ownedOperation xmi:id="__IwW5loGEeS2WoXr83SnEA" name="compareTo" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringCompareToOperation">
<ownedComment xmi:id="__IwW51oGEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="__IwW6FoGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW6VoGEeS2WoXr83SnEA" name="concat" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringConcatOperation">
<ownedComment xmi:id="__IwW6loGEeS2WoXr83SnEA" body="The concatenation of oclText[self] and s."/>
<ownedParameter xmi:id="__IwW61oGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW7FoGEeS2WoXr83SnEA" name="endsWith" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringEndsWithOperation">
<ownedComment xmi:id="__IwW7VoGEeS2WoXr83SnEA" body="Returns true if oclText[self] ends with the string s.&#xA;Every string ends with the empty string."/>
<ownedParameter xmi:id="__IwW7loGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW71oGEeS2WoXr83SnEA" name="equalsIgnoreCase" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringEqualsIgnoreCaseOperation">
<ownedComment xmi:id="__IwW8FoGEeS2WoXr83SnEA" body="Queries whether s and oclText[self] are equivalent under case-insensitive collation."/>
<ownedParameter xmi:id="__IwW8VoGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW8loGEeS2WoXr83SnEA" name="indexOf" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringIndexOfOperation">
<ownedComment xmi:id="__IwW81oGEeS2WoXr83SnEA" 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="__IwW9FoGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW9VoGEeS2WoXr83SnEA" name="lastIndexOf" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLastIndexOfOperation">
<ownedComment xmi:id="__IwW9loGEeS2WoXr83SnEA" 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="__IwW91oGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW-FoGEeS2WoXr83SnEA" name="matches" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringMatchesOperation">
<ownedComment xmi:id="__IwW-VoGEeS2WoXr83SnEA" body="Use a regular expression match and return true if self matches regex, false otherwise."/>
<ownedParameter xmi:id="__IwW-loGEeS2WoXr83SnEA" name="regex" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW-1oGEeS2WoXr83SnEA" name="replaceAll" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringReplaceAllOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwW_FoGEeS2WoXr83SnEA" body="Return a string derived from self by replacing all matches of regex by replacement."/>
<ownedParameter xmi:id="__IwW_VoGEeS2WoXr83SnEA" name="regex" type="__IwWzVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwW_loGEeS2WoXr83SnEA" name="replacement" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwW_1oGEeS2WoXr83SnEA" name="replaceFirst" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringReplaceFirstOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwXAFoGEeS2WoXr83SnEA" body="Return a string derived from self by replacing the first match of regex by replacement."/>
<ownedParameter xmi:id="__IwXAVoGEeS2WoXr83SnEA" name="regex" type="__IwWzVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwXAloGEeS2WoXr83SnEA" name="replacement" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXA1oGEeS2WoXr83SnEA" name="size" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSizeOperation">
<ownedComment xmi:id="__IwXBFoGEeS2WoXr83SnEA" body="The number of characters in oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXBVoGEeS2WoXr83SnEA" name="startsWith" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringStartsWithOperation">
<ownedComment xmi:id="__IwXBloGEeS2WoXr83SnEA" body="Returns true if oclText[self] starts with the string s.&#xA;Every string starts with the empty string."/>
<ownedParameter xmi:id="__IwXB1oGEeS2WoXr83SnEA" name="s" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXCFoGEeS2WoXr83SnEA" name="substituteAll" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstituteAllOperation">
<ownedComment xmi:id="__IwXCVoGEeS2WoXr83SnEA" body="Return a string derived from self by replacing all occurrences of oldSubstring by newSubstring."/>
<ownedParameter xmi:id="__IwXCloGEeS2WoXr83SnEA" name="oldSubstring" type="__IwWzVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwXC1oGEeS2WoXr83SnEA" name="newSubstring" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXDFoGEeS2WoXr83SnEA" name="substituteFirst" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstituteFirstOperation">
<ownedComment xmi:id="__IwXDVoGEeS2WoXr83SnEA" 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="__IwXDloGEeS2WoXr83SnEA" name="oldSubstring" type="__IwWzVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwXD1oGEeS2WoXr83SnEA" name="newSubstring" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXEFoGEeS2WoXr83SnEA" name="substring" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstringOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwXEVoGEeS2WoXr83SnEA" 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="__IwXEloGEeS2WoXr83SnEA" name="lower" type="__IwWeVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwXE1oGEeS2WoXr83SnEA" name="upper" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXFFoGEeS2WoXr83SnEA" name="toBoolean" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToBooleanOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwXFVoGEeS2WoXr83SnEA" body="Converts oclText[self] to a boolean value."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXFloGEeS2WoXr83SnEA" name="toInteger" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToIntegerOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwXF1oGEeS2WoXr83SnEA" body="Converts oclText[self] to an Integer value."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXGFoGEeS2WoXr83SnEA" name="toLower" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToLowerCaseOperation">
<ownedComment xmi:id="__IwXGVoGEeS2WoXr83SnEA" body="This is a deprecated variant of toLowerCase() preserving compatibility with traditional Eclipse OCL behaviour."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXGloGEeS2WoXr83SnEA" name="toLowerCase" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToLowerCaseOperation">
<ownedComment xmi:id="__IwXG1oGEeS2WoXr83SnEA" 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="__IwXHFoGEeS2WoXr83SnEA" name="toReal" type="__IwWm1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToRealOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwXHVoGEeS2WoXr83SnEA" body="Converts oclText[self] to a Real value."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXHloGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwXH1oGEeS2WoXr83SnEA" body="Returns oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXIFoGEeS2WoXr83SnEA" name="toUpper" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToUpperCaseOperation">
<ownedComment xmi:id="__IwXIVoGEeS2WoXr83SnEA" body="This is a deprecated variant of toUpperCase() preserving compatibility with traditional Eclipse OCL behaviour."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXIloGEeS2WoXr83SnEA" name="toUpperCase" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToUpperCaseOperation">
<ownedComment xmi:id="__IwXI1oGEeS2WoXr83SnEA" 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="__IwXJFoGEeS2WoXr83SnEA" name="tokenize" type="__IwV7VoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="__IwXJVoGEeS2WoXr83SnEA" 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="__IwXJloGEeS2WoXr83SnEA" name="tokenize" type="__IwV7VoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="__IwXJ1oGEeS2WoXr83SnEA" body="Partition oclText[self] into a sequence substrings separated by characters in the delimiters. The delimiters are omitted from the return."/>
<ownedParameter xmi:id="__IwXKFoGEeS2WoXr83SnEA" name="delimiters" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXKVoGEeS2WoXr83SnEA" name="tokenize" type="__IwV7VoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="__IwXKloGEeS2WoXr83SnEA" 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="__IwXK1oGEeS2WoXr83SnEA" name="delimiters" type="__IwWzVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwXLFoGEeS2WoXr83SnEA" name="returnDelimiters" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXLVoGEeS2WoXr83SnEA" name="trim" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTrimOperation">
<ownedComment xmi:id="__IwXLloGEeS2WoXr83SnEA" body="Return oclText[self] with leading and trailing whitespace removed."/>
</ownedOperation>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWc1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWmVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWy1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwWzloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW0FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW4VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW6VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW61oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW7loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW8VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW9FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW91oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW-loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW-1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW_VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwW_loGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwW_1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXAVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXAloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXB1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXCFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXCloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXC1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXDFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXDloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXD1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXEFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXGFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXGloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXHloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXIFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXIloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXKFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwXK1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwXLVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#__IwYUloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYVVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYk1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#__IwYx1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="SeqMM.xml#__IwbQFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="SeqMM.xml#__IwbRVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="SeqMM.xml#__IwbSloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="SeqMM.xml#__IwbWloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwZ51oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwZ7VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwZ8FoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwZ91oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwZ-1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwaAloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="StmcMM.xml#__IwaA1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__IwamloGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__Iwan1oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="SeqToStm.xml#__IwaoFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__IwaqFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__IwasVoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="SeqToStm.xml#__IwatFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__IwaxFoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__Iwa11oGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="SeqToStm.xml#__Iwa4VoGEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="SeqToStm.xml#__Iwa5FoGEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="__IwXL1oGEeS2WoXr83SnEA" name="UnlimitedNatural" superClass="__IwWeVoGEeS2WoXr83SnEA">
<ownedOperation xmi:id="__IwXMFoGEeS2WoXr83SnEA" name="oclAsType" type="__IwXNFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.UnlimitedNaturalOclAsTypeOperation">
<ownedComment xmi:id="__IwXMVoGEeS2WoXr83SnEA" 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="__IwXMloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXM1oGEeS2WoXr83SnEA" parameteredElement="__IwXNFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXNFoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwXM1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVX1oGEeS2WoXr83SnEA" typedElement="__IwXMFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXNVoGEeS2WoXr83SnEA" name="type" type="__IwVXVoGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="__IwXNloGEeS2WoXr83SnEA" name="Bag" superClass="__ImkeFoGEeS2WoXr83SnEA" typedElement="__IwXP1oGEeS2WoXr83SnEA __IwXQloGEeS2WoXr83SnEA __IwXSloGEeS2WoXr83SnEA __IwXTVoGEeS2WoXr83SnEA __IwXa1oGEeS2WoXr83SnEA __IwXb1oGEeS2WoXr83SnEA"
elementType="__IwXOVoGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwXN1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXOFoGEeS2WoXr83SnEA" parameteredElement="__IwXOVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXOVoGEeS2WoXr83SnEA" name="T" templateParameter="__IwXOFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkeloGEeS2WoXr83SnEA __IwVoVoGEeS2WoXr83SnEA __IwV8loGEeS2WoXr83SnEA __IwWEFoGEeS2WoXr83SnEA __IwWK1oGEeS2WoXr83SnEA"
typedElement="__IwXTFoGEeS2WoXr83SnEA __IwXXVoGEeS2WoXr83SnEA __IwXZFoGEeS2WoXr83SnEA __IwXaloGEeS2WoXr83SnEA __IwXbloGEeS2WoXr83SnEA __IwXcloGEeS2WoXr83SnEA __IwXdloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaYloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwajFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkQVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkRFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkR1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkSloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkTVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkUFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkU1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkVloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkWVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkXFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkX1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbX1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaCloGEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="orphanage.xml#__IwaYVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__Iwai1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkQFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkQ1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkRloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkSVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkTFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkT1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkUloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkVVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkWFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkW1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkXloGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbXloGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaCVoGEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="__IwXOloGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwXO1oGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXPFoGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwXPVoGEeS2WoXr83SnEA" body="True if oclText[self] and bag contain the same elements, the same number of times."/>
<ownedParameter xmi:id="__IwXPloGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXP1oGEeS2WoXr83SnEA" name="excluding" type="__IwXNloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="__IwXQFoGEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] apart from all occurrences of object."/>
<ownedParameter xmi:id="__IwXQVoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXQloGEeS2WoXr83SnEA" name="excludingAll" type="__IwXNloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="__IwXQ1oGEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="__IwXRFoGEeS2WoXr83SnEA" name="objects" type="__ImkoloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXRVoGEeS2WoXr83SnEA" name="flatten" type="__ImkRVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="__IwXRloGEeS2WoXr83SnEA" 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="__IwXR1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXSFoGEeS2WoXr83SnEA" parameteredElement="__IwXSVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXSVoGEeS2WoXr83SnEA" name="T2" templateParameter="__IwXSFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkR1oGEeS2WoXr83SnEA __ImkcVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="__IwXSloGEeS2WoXr83SnEA" name="including" type="__IwXNloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="__IwXS1oGEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="__IwXTFoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXTVoGEeS2WoXr83SnEA" name="includingAll" type="__IwXNloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="__IwXTloGEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="__IwXT1oGEeS2WoXr83SnEA" name="objects" type="__ImkeFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXUFoGEeS2WoXr83SnEA" name="selectByKind" type="__ImkSFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="__IwXUVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXUloGEeS2WoXr83SnEA" parameteredElement="__IwXU1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXU1oGEeS2WoXr83SnEA" name="TT" templateParameter="__IwXUloGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkSloGEeS2WoXr83SnEA __ImkdFoGEeS2WoXr83SnEA __IwVYloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXVFoGEeS2WoXr83SnEA" name="type" type="__IwVYFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXVVoGEeS2WoXr83SnEA" name="selectByType" type="__ImkS1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="__IwXVloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXV1oGEeS2WoXr83SnEA" parameteredElement="__IwXWFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXWFoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwXV1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkTVoGEeS2WoXr83SnEA __Imkd1oGEeS2WoXr83SnEA __IwVZVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXWVoGEeS2WoXr83SnEA" name="type" type="__IwVY1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwXWloGEeS2WoXr83SnEA" name="closure" type="__IwWDloGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="__IwXW1oGEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="__IwXXFoGEeS2WoXr83SnEA" name="lambda" type="__ImkJloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwXXVoGEeS2WoXr83SnEA" name="i" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwXXloGEeS2WoXr83SnEA" name="collectNested" type="__ImkP1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="__IwXX1oGEeS2WoXr83SnEA" body="The Bag of elements which results from applying body to every member of the source nonordered collection."/>
<ownedTemplateSignature xmi:id="__IwXYFoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXYVoGEeS2WoXr83SnEA" parameteredElement="__IwXYloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXYloGEeS2WoXr83SnEA" name="V" templateParameter="__IwXYVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkQVoGEeS2WoXr83SnEA __Imka1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXY1oGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkI1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwXZFoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwXZVoGEeS2WoXr83SnEA" name="collect" type="__ImkQloGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="__IwXZloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXZ1oGEeS2WoXr83SnEA" parameteredElement="__IwXaFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXaFoGEeS2WoXr83SnEA" name="V" templateParameter="__IwXZ1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkRFoGEeS2WoXr83SnEA __ImkbloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXaVoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkJFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwXaloGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwXa1oGEeS2WoXr83SnEA" name="reject" type="__IwXNloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="__IwXbFoGEeS2WoXr83SnEA" 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="__IwXbVoGEeS2WoXr83SnEA" name="lambda" type="__ImkIloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwXbloGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwXb1oGEeS2WoXr83SnEA" name="select" type="__IwXNloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="__IwXcFoGEeS2WoXr83SnEA" 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="__IwXcVoGEeS2WoXr83SnEA" name="lambda" type="__ImkIloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwXcloGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwXc1oGEeS2WoXr83SnEA" name="sortedBy" type="__IwV8FoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="__IwXdFoGEeS2WoXr83SnEA" 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="__IwXdVoGEeS2WoXr83SnEA" name="lambda" type="__ImkJVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwXdloGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXOVoGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwXd1oGEeS2WoXr83SnEA" name="Class" superClass="__IwYKVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwXeFoGEeS2WoXr83SnEA" name="Collection" templateParameterSubstitution="__ImkU1oGEeS2WoXr83SnEA __ImkmFoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwXnVoGEeS2WoXr83SnEA __IwXoFoGEeS2WoXr83SnEA __IwXsVoGEeS2WoXr83SnEA __IwXtFoGEeS2WoXr83SnEA __IwXtloGEeS2WoXr83SnEA __IwXuVoGEeS2WoXr83SnEA __IwX21oGEeS2WoXr83SnEA __IwYDVoGEeS2WoXr83SnEA __IwYEVoGEeS2WoXr83SnEA"
elementType="__IwXe1oGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwXeVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXeloGEeS2WoXr83SnEA" parameteredElement="__IwXe1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXe1oGEeS2WoXr83SnEA" name="T" templateParameter="__IwXeloGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkUFoGEeS2WoXr83SnEA __ImklVoGEeS2WoXr83SnEA __IwVpFoGEeS2WoXr83SnEA __IwV1FoGEeS2WoXr83SnEA __IwV9VoGEeS2WoXr83SnEA __IwWE1oGEeS2WoXr83SnEA __IwWLloGEeS2WoXr83SnEA"
typedElement="__ImkPVoGEeS2WoXr83SnEA __IwXfVoGEeS2WoXr83SnEA __IwXs1oGEeS2WoXr83SnEA __IwXv1oGEeS2WoXr83SnEA __IwXwVoGEeS2WoXr83SnEA __IwX11oGEeS2WoXr83SnEA __IwX3FoGEeS2WoXr83SnEA __IwX31oGEeS2WoXr83SnEA __IwX5loGEeS2WoXr83SnEA __IwX7VoGEeS2WoXr83SnEA __IwX8FoGEeS2WoXr83SnEA __IwX8VoGEeS2WoXr83SnEA __IwX9VoGEeS2WoXr83SnEA __IwX-FoGEeS2WoXr83SnEA __IwX-VoGEeS2WoXr83SnEA __IwX_VoGEeS2WoXr83SnEA __IwYAVoGEeS2WoXr83SnEA __IwYCFoGEeS2WoXr83SnEA __IwYDFoGEeS2WoXr83SnEA __IwYEFoGEeS2WoXr83SnEA __IwYFFoGEeS2WoXr83SnEA __IwYGFoGEeS2WoXr83SnEA">
<ownedAttribute xmi:id="__IwXfFoGEeS2WoXr83SnEA" name="Collection" type="__ImkUVoGEeS2WoXr83SnEA" implicit="true" opposite="__IwXfVoGEeS2WoXr83SnEA"/>
</ownedParameteredElement>
<templateParameterSubstitution href="orphanage.xml#__IwaNVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaPloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaR1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaUFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaWVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaZVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwabloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__Iwad1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwagFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaiVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkYloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkZVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkaFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__Imka1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkbloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkcVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkdFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__Imkd1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkeloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkfVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkgFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__Imkg1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkhloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkiVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkjFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__Imkj1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkkloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImklVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkmFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__Imkm1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImknloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkoVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__ImkpFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__Imkp1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVIFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVI1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVJloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVKVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVLFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVL1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVMloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVNVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVOFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVO1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVPloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVQVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVRFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVR1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVSloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVTVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVUFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVU1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVVloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVWVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwVXFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbYloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbZVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbaFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__Iwba1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbbloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaDVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaEFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaE1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaFloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaGVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqToStm.xml#__IwbLVoGEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="orphanage.xml#__IwaNFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaPVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaRloGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaT1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaWFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaZFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwabVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwadloGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__Iwaf1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaiFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkYVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkZFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkZ1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkaloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkbVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkcFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__Imkc1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkdloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkeVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkfFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__Imkf1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkgloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkhVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkiFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__Imki1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkjloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkkVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImklFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__Imkl1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkmloGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImknVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkoFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__Imko1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkploGEeS2WoXr83SnEA"/>
<templateBinding href="#__ImkqVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVIloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVJVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVKFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVK1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVLloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVMVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVNFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVN1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVOloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVPVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVQFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVQ1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVRloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVSVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVTFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVT1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVUloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVVVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVWFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwVW1oGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbYVoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbZFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbZ1oGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbaloGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbbVoGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaDFoGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaD1oGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaEloGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaFVoGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaGFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqToStm.xml#__IwbLFoGEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedAttribute xmi:id="__IwXfVoGEeS2WoXr83SnEA" isStatic="true" name="elementType" type="__IwXe1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionElementTypeProperty"
opposite="__IwXfFoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwXfloGEeS2WoXr83SnEA" body="Evaluates to the type of the collection elements."/>
</ownedAttribute>
<ownedAttribute xmi:id="__IwXf1oGEeS2WoXr83SnEA" isStatic="true" name="lower" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionLowerProperty">
<ownedComment xmi:id="__IwXgFoGEeS2WoXr83SnEA" body="Evaluates to the lower bound on the number of collection elements."/>
</ownedAttribute>
<ownedAttribute xmi:id="__IwXgVoGEeS2WoXr83SnEA" isStatic="true" name="upper" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUpperProperty">
<ownedComment xmi:id="__IwXgloGEeS2WoXr83SnEA" body="Evaluates to the upper bound on the number of collection elements."/>
</ownedAttribute>
<ownedOperation xmi:id="__IwXg1oGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwXhFoGEeS2WoXr83SnEA" body="True if c is not equal to oclText[self]."/>
<ownedParameter xmi:id="__IwXhVoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXhloGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwXh1oGEeS2WoXr83SnEA" 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="__IwXiFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXiVoGEeS2WoXr83SnEA" name="asBag" type="__ImkTloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsBagOperation">
<ownedComment xmi:id="__IwXiloGEeS2WoXr83SnEA" body="The Bag that contains all the elements from oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXi1oGEeS2WoXr83SnEA" name="asOrderedSet" type="__IwV0loGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsOrderedSetOperation">
<ownedComment xmi:id="__IwXjFoGEeS2WoXr83SnEA" 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="__IwXjVoGEeS2WoXr83SnEA" name="asSequence" type="__IwV81oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsSequenceOperation">
<ownedComment xmi:id="__IwXjloGEeS2WoXr83SnEA" 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="__IwXj1oGEeS2WoXr83SnEA" name="asSet" type="__IwWEVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsSetOperation">
<ownedComment xmi:id="__IwXkFoGEeS2WoXr83SnEA" body="The Set containing all the elements from oclText[self], with duplicates removed."/>
</ownedOperation>
<ownedOperation xmi:id="__IwXkVoGEeS2WoXr83SnEA" name="count" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionCountOperation">
<ownedComment xmi:id="__IwXkloGEeS2WoXr83SnEA" body="The number of times that object occurs in the collection oclText[self]."/>
<ownedParameter xmi:id="__IwXk1oGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXlFoGEeS2WoXr83SnEA" name="excludes" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludesOperation">
<ownedComment xmi:id="__IwXlVoGEeS2WoXr83SnEA" body="True if object is not an element of oclText[self], oclText[false] otherwise."/>
<ownedParameter xmi:id="__IwXlloGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXl1oGEeS2WoXr83SnEA" name="excludesAll" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludesAllOperation">
<ownedComment xmi:id="__IwXmFoGEeS2WoXr83SnEA" body="Does oclText[self] contain none of the elements of c2 ?"/>
<ownedTemplateSignature xmi:id="__IwXmVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXmloGEeS2WoXr83SnEA" parameteredElement="__IwXm1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXm1oGEeS2WoXr83SnEA" name="T2" templateParameter="__IwXmloGEeS2WoXr83SnEA"
templateParameterSubstitution="__Imkg1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXnFoGEeS2WoXr83SnEA" name="c2" type="__ImkgVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXnVoGEeS2WoXr83SnEA" name="excluding" type="__IwXeFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="__IwXnloGEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] apart from object."/>
<ownedParameter xmi:id="__IwXn1oGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXoFoGEeS2WoXr83SnEA" name="excludingAll" type="__IwXeFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="__IwXoVoGEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="__IwXoloGEeS2WoXr83SnEA" name="objects" type="__ImkoloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXo1oGEeS2WoXr83SnEA" name="flatten" type="__ImkhFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="__IwXpFoGEeS2WoXr83SnEA" 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="__IwXpVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXploGEeS2WoXr83SnEA" parameteredElement="__IwXp1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXp1oGEeS2WoXr83SnEA" name="T2" templateParameter="__IwXploGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkhloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="__IwXqFoGEeS2WoXr83SnEA" name="includes" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludesOperation">
<ownedComment xmi:id="__IwXqVoGEeS2WoXr83SnEA" body="True if object is an element of oclText[self], oclText[false] otherwise."/>
<ownedParameter xmi:id="__IwXqloGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXq1oGEeS2WoXr83SnEA" name="includesAll" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludesAllOperation">
<ownedComment xmi:id="__IwXrFoGEeS2WoXr83SnEA" body="Does oclText[self] contain all the elements of c2 ?"/>
<ownedTemplateSignature xmi:id="__IwXrVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXrloGEeS2WoXr83SnEA" parameteredElement="__IwXr1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXr1oGEeS2WoXr83SnEA" name="T2" templateParameter="__IwXrloGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkiVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXsFoGEeS2WoXr83SnEA" name="c2" type="__Imkh1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXsVoGEeS2WoXr83SnEA" name="including" type="__IwXeFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="__IwXsloGEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="__IwXs1oGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXtFoGEeS2WoXr83SnEA" name="includingAll" type="__IwXeFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="__IwXtVoGEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="__IwXtloGEeS2WoXr83SnEA" name="objects" type="__IwXeFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXt1oGEeS2WoXr83SnEA" name="intersection" type="__ImkTloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="__IwXuFoGEeS2WoXr83SnEA" body="The intersection of oclText[self] and bag; the bag of all elements that are in both oclText[self] and c."/>
<ownedParameter xmi:id="__IwXuVoGEeS2WoXr83SnEA" name="c" type="__IwXeFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXuloGEeS2WoXr83SnEA" name="intersection" type="__IwWEVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="__IwXu1oGEeS2WoXr83SnEA" 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="__IwXvFoGEeS2WoXr83SnEA" name="u" type="__IwWLFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXvVoGEeS2WoXr83SnEA" name="isEmpty" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIsEmptyOperation">
<ownedComment xmi:id="__IwXvloGEeS2WoXr83SnEA" 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="__IwXv1oGEeS2WoXr83SnEA" name="max" type="__IwXe1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionMaxOperation">
<ownedComment xmi:id="__IwXwFoGEeS2WoXr83SnEA" 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="__IwXwVoGEeS2WoXr83SnEA" name="min" type="__IwXe1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionMinOperation">
<ownedComment xmi:id="__IwXwloGEeS2WoXr83SnEA" 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="__IwXw1oGEeS2WoXr83SnEA" name="notEmpty" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionNotEmptyOperation">
<ownedComment xmi:id="__IwXxFoGEeS2WoXr83SnEA" 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="__IwXxVoGEeS2WoXr83SnEA" name="product" type="__IwWC1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionProductOperation">
<ownedComment xmi:id="__IwXxloGEeS2WoXr83SnEA" body="The cartesian product operation of oclText[self] and c2."/>
<ownedTemplateSignature xmi:id="__IwXx1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXyFoGEeS2WoXr83SnEA" parameteredElement="__IwXyVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXyVoGEeS2WoXr83SnEA" name="T2" templateParameter="__IwXyFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkjFoGEeS2WoXr83SnEA" typedElement="__ImkPloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXyloGEeS2WoXr83SnEA" name="c2" type="__ImkiloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwXy1oGEeS2WoXr83SnEA" name="selectByKind" type="__ImkjVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="__IwXzFoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwXzVoGEeS2WoXr83SnEA" parameteredElement="__IwXzloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwXzloGEeS2WoXr83SnEA" name="TT" templateParameter="__IwXzVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__Imkj1oGEeS2WoXr83SnEA __IwVaFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwXz1oGEeS2WoXr83SnEA" name="type" type="__IwVZloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwX0FoGEeS2WoXr83SnEA" name="selectByType" type="__ImkkFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="__IwX0VoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwX0loGEeS2WoXr83SnEA" parameteredElement="__IwX01oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwX01oGEeS2WoXr83SnEA" name="TT" templateParameter="__IwX0loGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkkloGEeS2WoXr83SnEA __IwVa1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwX1FoGEeS2WoXr83SnEA" name="type" type="__IwVaVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwX1VoGEeS2WoXr83SnEA" name="size" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSizeOperation">
<ownedComment xmi:id="__IwX1loGEeS2WoXr83SnEA" body="The number of elements in the collection oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwX11oGEeS2WoXr83SnEA" name="sum" type="__IwXe1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSumOperation">
<ownedComment xmi:id="__IwX2FoGEeS2WoXr83SnEA" 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="__IwX2VoGEeS2WoXr83SnEA" name="union" type="__ImkTloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUnionOperation">
<ownedComment xmi:id="__IwX2loGEeS2WoXr83SnEA" body="The bag consisting of all elements in oclText[self] and all elements in c."/>
<ownedParameter xmi:id="__IwX21oGEeS2WoXr83SnEA" name="c" type="__IwXeFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX3FoGEeS2WoXr83SnEA" name="any" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.AnyIteration" isInvalidating="true">
<ownedComment xmi:id="__IwX3VoGEeS2WoXr83SnEA" 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="__IwX3loGEeS2WoXr83SnEA" name="lambda" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX31oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX4FoGEeS2WoXr83SnEA" name="collectNested" type="__Imke1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="__IwX4VoGEeS2WoXr83SnEA" body="The Collection of elements which results from applying body to every member of the source collection."/>
<ownedTemplateSignature xmi:id="__IwX4loGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwX41oGEeS2WoXr83SnEA" parameteredElement="__IwX5FoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwX5FoGEeS2WoXr83SnEA" name="V" templateParameter="__IwX41oGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkfVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwX5VoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkKFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX5loGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX51oGEeS2WoXr83SnEA" name="collect" type="__ImkfloGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedComment xmi:id="__IwX6FoGEeS2WoXr83SnEA" 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="__IwX6VoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwX6loGEeS2WoXr83SnEA" parameteredElement="__IwX61oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwX61oGEeS2WoXr83SnEA" name="V" templateParameter="__IwX6loGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkgFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwX7FoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkKVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX7VoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX7loGEeS2WoXr83SnEA" name="exists" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ExistsIteration" isValidating="true">
<ownedParameter xmi:id="__IwX71oGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX8FoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX8VoGEeS2WoXr83SnEA" name="j" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX8loGEeS2WoXr83SnEA" name="exists" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ExistsIteration" isValidating="true">
<ownedComment xmi:id="__IwX81oGEeS2WoXr83SnEA" body="Results in oclText[true] if body evaluates to oclText[true] for at least one element in the source collection."/>
<ownedParameter xmi:id="__IwX9FoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX9VoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX9loGEeS2WoXr83SnEA" name="forAll" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ForAllIteration" isValidating="true">
<ownedParameter xmi:id="__IwX91oGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX-FoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX-VoGEeS2WoXr83SnEA" name="j" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX-loGEeS2WoXr83SnEA" name="forAll" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ForAllIteration" isValidating="true">
<ownedComment xmi:id="__IwX-1oGEeS2WoXr83SnEA" 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="__IwX_FoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwX_VoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwX_loGEeS2WoXr83SnEA" name="isUnique" type="__IwWW1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.IsUniqueIteration">
<ownedComment xmi:id="__IwX_1oGEeS2WoXr83SnEA" 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="__IwYAFoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkK1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwYAVoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwYAloGEeS2WoXr83SnEA" name="iterate" isRequired="false" type="__IwYBVoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.IterateIteration">
<ownedTemplateSignature xmi:id="__IwYA1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYBFoGEeS2WoXr83SnEA" parameteredElement="__IwYBVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYBVoGEeS2WoXr83SnEA" name="Tacc" templateParameter="__IwYBFoGEeS2WoXr83SnEA"
typedElement="__IwYAloGEeS2WoXr83SnEA __IwYB1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYBloGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkKloGEeS2WoXr83SnEA"/>
<ownedAccumulator xmi:id="__IwYB1oGEeS2WoXr83SnEA" name="acc" isRequired="false" type="__IwYBVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwYCFoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwYCVoGEeS2WoXr83SnEA" name="one" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.OneIteration">
<ownedComment xmi:id="__IwYCloGEeS2WoXr83SnEA" body="Results in oclText[true] if there is exactly one element in the source collection for which body is oclText[true]."/>
<ownedParameter xmi:id="__IwYC1oGEeS2WoXr83SnEA" name="lambda" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwYDFoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwYDVoGEeS2WoXr83SnEA" name="reject" type="__IwXeFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="__IwYDloGEeS2WoXr83SnEA" body="The sub-collection of the source collection for which body is oclText[false]."/>
<ownedParameter xmi:id="__IwYD1oGEeS2WoXr83SnEA" name="lambda" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwYEFoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwYEVoGEeS2WoXr83SnEA" name="select" type="__IwXeFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="__IwYEloGEeS2WoXr83SnEA" body="The sub-collection of the source collection for which body is oclText[true]."/>
<ownedParameter xmi:id="__IwYE1oGEeS2WoXr83SnEA" name="lambda" type="__ImkJ1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwYFFoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwYFVoGEeS2WoXr83SnEA" name="sortedBy" type="__IwV81oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="__IwYFloGEeS2WoXr83SnEA" 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="__IwYF1oGEeS2WoXr83SnEA" name="lambda" type="__ImkK1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwYGFoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwXe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYGVoGEeS2WoXr83SnEA" name="Enumeration" templateParameterSubstitution="__ImkVloGEeS2WoXr83SnEA __ImknloGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYGloGEeS2WoXr83SnEA" body="The Enumeration type is the type of an OrderedSet of EnumerationLiteral."/>
<ownedAttribute xmi:id="__IwYG1oGEeS2WoXr83SnEA" isStatic="true" name="allLiterals" type="__IwV1VoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.enumeration.EnumerationOwnedLiteralProperty"
opposite="__IwYIVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYHFoGEeS2WoXr83SnEA" body="Evaluates to the literals of the enumeration."/>
</ownedAttribute>
<ownedOperation xmi:id="__IwYHVoGEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.enumeration.EnumerationAllInstancesOperation">
<ownedComment xmi:id="__IwYHloGEeS2WoXr83SnEA" body="Return a set of all enumeration values of oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYH1oGEeS2WoXr83SnEA" name="EnumerationLiteral" templateParameterSubstitution="__Imkm1oGEeS2WoXr83SnEA __IwVp1oGEeS2WoXr83SnEA __IwV11oGEeS2WoXr83SnEA __IwWMVoGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYIFoGEeS2WoXr83SnEA" body="The standard type EnumerationLiteral represents a named constant value of an Enumeration."/>
<ownedAttribute xmi:id="__IwYIVoGEeS2WoXr83SnEA" name="Enumeration" type="__ImkVFoGEeS2WoXr83SnEA" implicit="true" opposite="__IwYG1oGEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="__IwYIloGEeS2WoXr83SnEA" name="Metaclass" templateParameterSubstitution="__ImkWVoGEeS2WoXr83SnEA __ImkoVoGEeS2WoXr83SnEA"
superClass="__IwXd1oGEeS2WoXr83SnEA __IwYsVoGEeS2WoXr83SnEA" instanceType="__IwYJVoGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwYI1oGEeS2WoXr83SnEA" templateBinding="__IwVXloGEeS2WoXr83SnEA __IwVYVoGEeS2WoXr83SnEA __IwVZFoGEeS2WoXr83SnEA __IwVZ1oGEeS2WoXr83SnEA __IwValoGEeS2WoXr83SnEA __IwVbVoGEeS2WoXr83SnEA __IwVcFoGEeS2WoXr83SnEA __IwVc1oGEeS2WoXr83SnEA __IwVdloGEeS2WoXr83SnEA __IwVeVoGEeS2WoXr83SnEA __IwVfFoGEeS2WoXr83SnEA __IwVf1oGEeS2WoXr83SnEA __IwVgloGEeS2WoXr83SnEA __IwVhVoGEeS2WoXr83SnEA __IwViFoGEeS2WoXr83SnEA __IwVi1oGEeS2WoXr83SnEA __IwVjloGEeS2WoXr83SnEA __IwVkVoGEeS2WoXr83SnEA __IwVlFoGEeS2WoXr83SnEA __IwVl1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYJFoGEeS2WoXr83SnEA" parameteredElement="__IwYJVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVX1oGEeS2WoXr83SnEA __IwVYloGEeS2WoXr83SnEA __IwVZVoGEeS2WoXr83SnEA __IwVaFoGEeS2WoXr83SnEA __IwVa1oGEeS2WoXr83SnEA __IwVbloGEeS2WoXr83SnEA __IwVcVoGEeS2WoXr83SnEA __IwVdFoGEeS2WoXr83SnEA __IwVd1oGEeS2WoXr83SnEA __IwVeloGEeS2WoXr83SnEA __IwVfVoGEeS2WoXr83SnEA __IwVgFoGEeS2WoXr83SnEA __IwVg1oGEeS2WoXr83SnEA __IwVhloGEeS2WoXr83SnEA __IwViVoGEeS2WoXr83SnEA __IwVjFoGEeS2WoXr83SnEA __IwVj1oGEeS2WoXr83SnEA __IwVkloGEeS2WoXr83SnEA __IwVlVoGEeS2WoXr83SnEA __IwVmFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYJVoGEeS2WoXr83SnEA" name="T" templateParameter="__IwYJFoGEeS2WoXr83SnEA"
typedElement="__IwYJ1oGEeS2WoXr83SnEA">
<ownedAttribute xmi:id="__IwYJloGEeS2WoXr83SnEA" name="Metaclass" type="__ImkV1oGEeS2WoXr83SnEA" implicit="true" opposite="__IwYJ1oGEeS2WoXr83SnEA"/>
</ownedParameteredElement>
</ownedParameter>
</ownedTemplateSignature>
<ownedAttribute xmi:id="__IwYJ1oGEeS2WoXr83SnEA" name="instanceType" type="__IwYJVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.MetaclassInstanceTypeProperty"
opposite="__IwYJloGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYKFoGEeS2WoXr83SnEA" body="Evaluates to the type of instances."/>
</ownedAttribute>
</ownedType>
<ownedType xmi:type="flatemofqvt:AnyType" xmi:id="__IwYKVoGEeS2WoXr83SnEA" name="OclAny" templateParameterSubstitution="__ImkpFoGEeS2WoXr83SnEA __IwWNFoGEeS2WoXr83SnEA"
typedElement="__IwXQVoGEeS2WoXr83SnEA __IwXk1oGEeS2WoXr83SnEA __IwXlloGEeS2WoXr83SnEA __IwXn1oGEeS2WoXr83SnEA __IwXqloGEeS2WoXr83SnEA __IwYn1oGEeS2WoXr83SnEA __IwY1FoGEeS2WoXr83SnEA __IwY6loGEeS2WoXr83SnEA __IwZPVoGEeS2WoXr83SnEA __IwZjloGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYKloGEeS2WoXr83SnEA" 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="__IwYK1oGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYLFoGEeS2WoXr83SnEA" body="True if oclText[self] is a different object from object2. Infix operator."/>
<ownedParameter xmi:id="__IwYLVoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYLloGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYL1oGEeS2WoXr83SnEA" body="True if oclText[self] is the same object as object2. Infix operator."/>
<ownedParameter xmi:id="__IwYMFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYMVoGEeS2WoXr83SnEA" name="oclAsSet" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsSetOperation">
<ownedComment xmi:id="__IwYMloGEeS2WoXr83SnEA" 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="__IwYM1oGEeS2WoXr83SnEA" name="oclAsType" isRequired="false" type="__IwYN1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsTypeOperation">
<ownedComment xmi:id="__IwYNFoGEeS2WoXr83SnEA" 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="__IwYNVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYNloGEeS2WoXr83SnEA" parameteredElement="__IwYN1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYN1oGEeS2WoXr83SnEA" name="TT" templateParameter="__IwYNloGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVbloGEeS2WoXr83SnEA" typedElement="__IwYM1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYOFoGEeS2WoXr83SnEA" name="type" type="__IwVbFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYOVoGEeS2WoXr83SnEA" name="oclIsInState" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInStateOperation">
<ownedComment xmi:id="__IwYOloGEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is in the state indentified by statespec."/>
<ownedParameter xmi:id="__IwYO1oGEeS2WoXr83SnEA" name="statespec" type="__IwYo1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYPFoGEeS2WoXr83SnEA" name="oclIsInvalid" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true">
<ownedComment xmi:id="__IwYPVoGEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is equal to OclInvalid."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYPloGEeS2WoXr83SnEA" name="oclIsKindOf" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsKindOfOperation">
<ownedComment xmi:id="__IwYP1oGEeS2WoXr83SnEA" 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="__IwYQFoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYQVoGEeS2WoXr83SnEA" parameteredElement="__IwYQloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYQloGEeS2WoXr83SnEA" name="T" templateParameter="__IwYQVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVcVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYQ1oGEeS2WoXr83SnEA" name="type" type="__IwVb1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYRFoGEeS2WoXr83SnEA" name="oclIsNew" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="__IwYRVoGEeS2WoXr83SnEA" 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="__IwYRloGEeS2WoXr83SnEA" name="oclIsTypeOf" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsTypeOfOperation">
<ownedComment xmi:id="__IwYR1oGEeS2WoXr83SnEA" body="Evaluates to oclText[true] if oclText[self] is of the type t but not a subtype of t"/>
<ownedTemplateSignature xmi:id="__IwYSFoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYSVoGEeS2WoXr83SnEA" parameteredElement="__IwYSloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYSloGEeS2WoXr83SnEA" name="T" templateParameter="__IwYSVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVdFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYS1oGEeS2WoXr83SnEA" name="type" type="__IwVcloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYTFoGEeS2WoXr83SnEA" name="oclIsUndefined" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true">
<ownedComment xmi:id="__IwYTVoGEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is equal to oclText[invalid] or equal to oclText[null]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYTloGEeS2WoXr83SnEA" name="oclLog" type="__IwYoVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclLogOperation">
<ownedComment xmi:id="__IwYT1oGEeS2WoXr83SnEA" body="Evaluates to the self, with the side effect of generating a log message comprising self."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYUFoGEeS2WoXr83SnEA" name="oclLog" type="__IwYoVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclLogOperation">
<ownedComment xmi:id="__IwYUVoGEeS2WoXr83SnEA" body="Evaluates to the self, with the side effect of generating a log message comprising message followed by self."/>
<ownedParameter xmi:id="__IwYUloGEeS2WoXr83SnEA" name="message" type="__IwWzVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYU1oGEeS2WoXr83SnEA" name="oclType" type="__IwVgVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclTypeOperation">
<ownedComment xmi:id="__IwYVFoGEeS2WoXr83SnEA" body="Evaluates to the type of which oclText[self] is an instance."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYVVoGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwYVloGEeS2WoXr83SnEA" body="Returns a string representation of oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYV1oGEeS2WoXr83SnEA" name="OclComparable" superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYWFoGEeS2WoXr83SnEA" 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="__IwYWVoGEeS2WoXr83SnEA" name="&lt;" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableLessThanOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYWloGEeS2WoXr83SnEA" body="True if oclText[self] is less than oclText[that]."/>
<ownedParameter xmi:id="__IwYW1oGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYXFoGEeS2WoXr83SnEA" name="&lt;=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableLessThanEqualOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYXVoGEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to oclText[that]."/>
<ownedParameter xmi:id="__IwYXloGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYX1oGEeS2WoXr83SnEA" name=">" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableGreaterThanOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYYFoGEeS2WoXr83SnEA" body="True if oclText[self] is greater than oclText[that]."/>
<ownedParameter xmi:id="__IwYYVoGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYYloGEeS2WoXr83SnEA" name=">=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableGreaterThanEqualOperation"
precedence="__IwZ3loGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYY1oGEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to oclText[that]."/>
<ownedParameter xmi:id="__IwYZFoGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYZVoGEeS2WoXr83SnEA" name="compareTo" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableCompareToOperation">
<ownedComment xmi:id="__IwYZloGEeS2WoXr83SnEA" 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="__IwYZ1oGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYaFoGEeS2WoXr83SnEA" name="OclElement" templateParameterSubstitution="__Imkp1oGEeS2WoXr83SnEA __IwWFloGEeS2WoXr83SnEA __IwWN1oGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwYbFoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYaVoGEeS2WoXr83SnEA" 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="__IwYaloGEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierAllInstancesOperation">
<ownedComment xmi:id="__IwYa1oGEeS2WoXr83SnEA" body="Return a set of all instances of the type and derived types of self."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYbFoGEeS2WoXr83SnEA" name="oclContainer" isRequired="false" type="__IwYaFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierOclContainerOperation">
<ownedComment xmi:id="__IwYbVoGEeS2WoXr83SnEA" body="Returns the object for which self is a composed content or null if there is no such object."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYbloGEeS2WoXr83SnEA" name="oclContents" type="__IwWFFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierOclContentsOperation">
<ownedComment xmi:id="__IwYb1oGEeS2WoXr83SnEA" body="Returns the composed contents of self."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:InvalidType" xmi:id="__IwYcFoGEeS2WoXr83SnEA" name="OclInvalid" templateParameterSubstitution="__IwVgFoGEeS2WoXr83SnEA"
superClass="__IwYtloGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYcVoGEeS2WoXr83SnEA" 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="__IwYcloGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYc1oGEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
<ownedParameter xmi:id="__IwYdFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYdVoGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYdloGEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
<ownedParameter xmi:id="__IwYd1oGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYeFoGEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclinvalid.OclInvalidAllInstancesOperation">
<ownedComment xmi:id="__IwYeVoGEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYeloGEeS2WoXr83SnEA" name="and" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isValidating="true" precedence="__IwZ4FoGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYe1oGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYfFoGEeS2WoXr83SnEA" name="implies" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanImpliesOperation"
isValidating="true" precedence="__IwZ41oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYfVoGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYfloGEeS2WoXr83SnEA" name="oclAsSet" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsSetOperation"/>
<ownedOperation xmi:id="__IwYf1oGEeS2WoXr83SnEA" name="oclAsType" type="__IwYgloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsTypeOperation">
<ownedTemplateSignature xmi:id="__IwYgFoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYgVoGEeS2WoXr83SnEA" parameteredElement="__IwYgloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYgloGEeS2WoXr83SnEA" name="TT" templateParameter="__IwYgVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVd1oGEeS2WoXr83SnEA" typedElement="__IwYf1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYg1oGEeS2WoXr83SnEA" name="type" type="__IwVdVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYhFoGEeS2WoXr83SnEA" name="oclIsInvalid" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true"/>
<ownedOperation xmi:id="__IwYhVoGEeS2WoXr83SnEA" name="oclIsKindOf" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsKindOfOperation">
<ownedTemplateSignature xmi:id="__IwYhloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYh1oGEeS2WoXr83SnEA" parameteredElement="__IwYiFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYiFoGEeS2WoXr83SnEA" name="T" templateParameter="__IwYh1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVeloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYiVoGEeS2WoXr83SnEA" name="type" type="__IwVeFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYiloGEeS2WoXr83SnEA" name="oclIsTypeOf" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsTypeOfOperation">
<ownedTemplateSignature xmi:id="__IwYi1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYjFoGEeS2WoXr83SnEA" parameteredElement="__IwYjVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYjVoGEeS2WoXr83SnEA" name="T" templateParameter="__IwYjFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVfVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwYjloGEeS2WoXr83SnEA" name="type" type="__IwVe1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYj1oGEeS2WoXr83SnEA" name="oclIsUndefined" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true"/>
<ownedOperation xmi:id="__IwYkFoGEeS2WoXr83SnEA" name="oclType" type="__IwVgVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclTypeOperation"/>
<ownedOperation xmi:id="__IwYkVoGEeS2WoXr83SnEA" name="or" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isValidating="true" precedence="__IwZ4VoGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYkloGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYk1oGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwYlFoGEeS2WoXr83SnEA" body="Returns 'invalid'."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYlVoGEeS2WoXr83SnEA" name="OclLambda" superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYlloGEeS2WoXr83SnEA" 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="__IwYl1oGEeS2WoXr83SnEA" name="OclMessage" superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYmFoGEeS2WoXr83SnEA" 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="__IwYmVoGEeS2WoXr83SnEA" name="hasReturned" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="__IwYmloGEeS2WoXr83SnEA" 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="__IwYm1oGEeS2WoXr83SnEA" name="isOperationCall" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="__IwYnFoGEeS2WoXr83SnEA" body="Returns oclText[true] if the OclMessage represents the sending of a UML Operation call."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYnVoGEeS2WoXr83SnEA" name="isSignalSent" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="__IwYnloGEeS2WoXr83SnEA" body="Returns oclText[true] if the OclMessage represents the sending of a UML Signal."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYn1oGEeS2WoXr83SnEA" name="result" type="__IwYKVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="__IwYoFoGEeS2WoXr83SnEA" 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="__IwYoVoGEeS2WoXr83SnEA" name="OclSelf" templateParameterSubstitution="__IwVIFoGEeS2WoXr83SnEA __IwVg1oGEeS2WoXr83SnEA __IwWGVoGEeS2WoXr83SnEA __IwWOloGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwWXloGEeS2WoXr83SnEA __IwWYVoGEeS2WoXr83SnEA __IwWfFoGEeS2WoXr83SnEA __IwWf1oGEeS2WoXr83SnEA __IwWhFoGEeS2WoXr83SnEA __IwWh1oGEeS2WoXr83SnEA __IwWjFoGEeS2WoXr83SnEA __IwWkloGEeS2WoXr83SnEA __IwWlVoGEeS2WoXr83SnEA __IwWnloGEeS2WoXr83SnEA __IwWoVoGEeS2WoXr83SnEA __IwWploGEeS2WoXr83SnEA __IwWqVoGEeS2WoXr83SnEA __IwWrFoGEeS2WoXr83SnEA __IwWr1oGEeS2WoXr83SnEA __IwWsloGEeS2WoXr83SnEA __IwWtVoGEeS2WoXr83SnEA __IwWuFoGEeS2WoXr83SnEA __IwWu1oGEeS2WoXr83SnEA __IwWwFoGEeS2WoXr83SnEA __IwWxVoGEeS2WoXr83SnEA __IwWyFoGEeS2WoXr83SnEA __IwW01oGEeS2WoXr83SnEA __IwW1loGEeS2WoXr83SnEA __IwW2FoGEeS2WoXr83SnEA __IwW2loGEeS2WoXr83SnEA __IwW3VoGEeS2WoXr83SnEA __IwW4FoGEeS2WoXr83SnEA __IwW6FoGEeS2WoXr83SnEA __IwXO1oGEeS2WoXr83SnEA __IwXPloGEeS2WoXr83SnEA __IwXhVoGEeS2WoXr83SnEA __IwXiFoGEeS2WoXr83SnEA __IwYLVoGEeS2WoXr83SnEA __IwYMFoGEeS2WoXr83SnEA __IwYTloGEeS2WoXr83SnEA __IwYUFoGEeS2WoXr83SnEA __IwYW1oGEeS2WoXr83SnEA __IwYXloGEeS2WoXr83SnEA __IwYYVoGEeS2WoXr83SnEA __IwYZFoGEeS2WoXr83SnEA __IwYZ1oGEeS2WoXr83SnEA __IwYdFoGEeS2WoXr83SnEA __IwYd1oGEeS2WoXr83SnEA __IwYploGEeS2WoXr83SnEA __IwYqFoGEeS2WoXr83SnEA __IwYqVoGEeS2WoXr83SnEA __IwYrloGEeS2WoXr83SnEA __IwYsFoGEeS2WoXr83SnEA __IwYuVoGEeS2WoXr83SnEA __IwYvFoGEeS2WoXr83SnEA __IwY31oGEeS2WoXr83SnEA __IwY4VoGEeS2WoXr83SnEA __IwZMVoGEeS2WoXr83SnEA __IwZNFoGEeS2WoXr83SnEA __IwZiFoGEeS2WoXr83SnEA __IwZi1oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYoloGEeS2WoXr83SnEA" 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="__IwYo1oGEeS2WoXr83SnEA" name="OclState" superClass="__IwYKVoGEeS2WoXr83SnEA" typedElement="__IwYO1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYpFoGEeS2WoXr83SnEA" name="OclSummable" superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYpVoGEeS2WoXr83SnEA" 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="__IwYploGEeS2WoXr83SnEA" name="sum" type="__IwYoVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYp1oGEeS2WoXr83SnEA" body="Return the sum of self and that.&#xA;&#xA;The sum operation should be associative."/>
<ownedParameter xmi:id="__IwYqFoGEeS2WoXr83SnEA" name="that" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYqVoGEeS2WoXr83SnEA" name="zero" type="__IwYoVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYqloGEeS2WoXr83SnEA" 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="__IwYq1oGEeS2WoXr83SnEA" name="OclTuple" superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYrFoGEeS2WoXr83SnEA" 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="__IwYrVoGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYrloGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYr1oGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYsFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwYsVoGEeS2WoXr83SnEA" name="OclType" superClass="__IwYaFoGEeS2WoXr83SnEA" typedElement="__IwYtVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYsloGEeS2WoXr83SnEA" 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="__IwYs1oGEeS2WoXr83SnEA" name="conformsTo" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.OclTypeConformsToOperation">
<ownedComment xmi:id="__IwYtFoGEeS2WoXr83SnEA" body="Returns true if type2 conforms to self."/>
<ownedParameter xmi:id="__IwYtVoGEeS2WoXr83SnEA" name="type2" type="__IwYsVoGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:VoidType" xmi:id="__IwYtloGEeS2WoXr83SnEA" name="OclVoid" templateParameterSubstitution="__IwVhloGEeS2WoXr83SnEA"
superClass="__IwYKVoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYt1oGEeS2WoXr83SnEA" 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="__IwYuFoGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYuVoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYuloGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwYu1oGEeS2WoXr83SnEA" 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="__IwYvFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYvVoGEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="__IwWF1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidAllInstancesOperation">
<ownedComment xmi:id="__IwYvloGEeS2WoXr83SnEA" body="Returns oclText[Set{null}]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwYv1oGEeS2WoXr83SnEA" name="and" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidAndOperation"
precedence="__IwZ4FoGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYwFoGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYwVoGEeS2WoXr83SnEA" name="implies" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidImpliesOperation"
precedence="__IwZ41oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYwloGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYw1oGEeS2WoXr83SnEA" name="oclIsInvalid" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true"/>
<ownedOperation xmi:id="__IwYxFoGEeS2WoXr83SnEA" name="oclIsUndefined" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true"/>
<ownedOperation xmi:id="__IwYxVoGEeS2WoXr83SnEA" name="or" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidOrOperation"
precedence="__IwZ4VoGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwYxloGEeS2WoXr83SnEA" name="b" isRequired="false" type="__IwWW1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwYx1oGEeS2WoXr83SnEA" name="toString" type="__IwWzVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="__IwYyFoGEeS2WoXr83SnEA" body="Returns oclText[null]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwYyVoGEeS2WoXr83SnEA" name="OrderedCollection" superClass="__IwVIVoGEeS2WoXr83SnEA"
elementType="__IwYzFoGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwYyloGEeS2WoXr83SnEA" templateBinding="__IwVmloGEeS2WoXr83SnEA __IwVnVoGEeS2WoXr83SnEA __IwVoFoGEeS2WoXr83SnEA __IwVo1oGEeS2WoXr83SnEA __IwVploGEeS2WoXr83SnEA __IwVqVoGEeS2WoXr83SnEA __IwVrFoGEeS2WoXr83SnEA __IwVr1oGEeS2WoXr83SnEA __IwVsloGEeS2WoXr83SnEA __IwVtVoGEeS2WoXr83SnEA __IwVuFoGEeS2WoXr83SnEA __IwVu1oGEeS2WoXr83SnEA __IwVvloGEeS2WoXr83SnEA __IwVwVoGEeS2WoXr83SnEA __IwVxFoGEeS2WoXr83SnEA __IwVx1oGEeS2WoXr83SnEA __IwVyloGEeS2WoXr83SnEA __IwVzVoGEeS2WoXr83SnEA __IwV0FoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwYy1oGEeS2WoXr83SnEA" parameteredElement="__IwYzFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVm1oGEeS2WoXr83SnEA __IwVnloGEeS2WoXr83SnEA __IwVoVoGEeS2WoXr83SnEA __IwVpFoGEeS2WoXr83SnEA __IwVp1oGEeS2WoXr83SnEA __IwVqloGEeS2WoXr83SnEA __IwVrVoGEeS2WoXr83SnEA __IwVsFoGEeS2WoXr83SnEA __IwVs1oGEeS2WoXr83SnEA __IwVtloGEeS2WoXr83SnEA __IwVuVoGEeS2WoXr83SnEA __IwVvFoGEeS2WoXr83SnEA __IwVv1oGEeS2WoXr83SnEA __IwVwloGEeS2WoXr83SnEA __IwVxVoGEeS2WoXr83SnEA __IwVyFoGEeS2WoXr83SnEA __IwVy1oGEeS2WoXr83SnEA __IwVzloGEeS2WoXr83SnEA __IwV0VoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwYzFoGEeS2WoXr83SnEA" name="T" templateParameter="__IwYy1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVI1oGEeS2WoXr83SnEA" typedElement="__IwYzVoGEeS2WoXr83SnEA __IwY0FoGEeS2WoXr83SnEA __IwY1VoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="__IwYzVoGEeS2WoXr83SnEA" name="at" isRequired="false" type="__IwYzFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAtOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwYzloGEeS2WoXr83SnEA" body="The i-th element of ordered collection."/>
<ownedParameter xmi:id="__IwYz1oGEeS2WoXr83SnEA" name="index" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY0FoGEeS2WoXr83SnEA" name="first" isRequired="false" type="__IwYzFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionFirstOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwY0VoGEeS2WoXr83SnEA" body="The first element in oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="__IwY0loGEeS2WoXr83SnEA" name="indexOf" type="__IwWeVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionIndexOfOperation">
<ownedComment xmi:id="__IwY01oGEeS2WoXr83SnEA" body="The index of object obj in the ordered collection."/>
<ownedParameter xmi:id="__IwY1FoGEeS2WoXr83SnEA" name="obj" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY1VoGEeS2WoXr83SnEA" name="last" isRequired="false" type="__IwYzFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionLastOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwY1loGEeS2WoXr83SnEA" body="The last element in oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="__IwY11oGEeS2WoXr83SnEA" name="OrderedSet" superClass="__IwVt1oGEeS2WoXr83SnEA __IwWRFoGEeS2WoXr83SnEA"
typedElement="__IwY21oGEeS2WoXr83SnEA __IwY4loGEeS2WoXr83SnEA __IwY5VoGEeS2WoXr83SnEA __IwY6FoGEeS2WoXr83SnEA __IwY61oGEeS2WoXr83SnEA __IwY8loGEeS2WoXr83SnEA __IwY9VoGEeS2WoXr83SnEA __IwY-VoGEeS2WoXr83SnEA __IwY_FoGEeS2WoXr83SnEA __IwY_1oGEeS2WoXr83SnEA __IwZC1oGEeS2WoXr83SnEA __IwZD1oGEeS2WoXr83SnEA __IwZIFoGEeS2WoXr83SnEA __IwZJFoGEeS2WoXr83SnEA __IwZKFoGEeS2WoXr83SnEA"
elementType="__IwY2loGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwY2FoGEeS2WoXr83SnEA" templateBinding="__IwV01oGEeS2WoXr83SnEA __IwV1loGEeS2WoXr83SnEA __IwV2VoGEeS2WoXr83SnEA __IwV3FoGEeS2WoXr83SnEA __IwV31oGEeS2WoXr83SnEA __IwV4loGEeS2WoXr83SnEA __IwV5VoGEeS2WoXr83SnEA __IwV6FoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwY2VoGEeS2WoXr83SnEA" parameteredElement="__IwY2loGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwV1FoGEeS2WoXr83SnEA __IwV11oGEeS2WoXr83SnEA __IwV2loGEeS2WoXr83SnEA __IwV3VoGEeS2WoXr83SnEA __IwV4FoGEeS2WoXr83SnEA __IwV41oGEeS2WoXr83SnEA __IwV5loGEeS2WoXr83SnEA __IwV6VoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwY2loGEeS2WoXr83SnEA" name="T" templateParameter="__IwY2VoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVNVoGEeS2WoXr83SnEA __IwVuVoGEeS2WoXr83SnEA __IwWRloGEeS2WoXr83SnEA" typedElement="__IwY5FoGEeS2WoXr83SnEA __IwY9FoGEeS2WoXr83SnEA __IwY-FoGEeS2WoXr83SnEA __IwY-1oGEeS2WoXr83SnEA __IwZEloGEeS2WoXr83SnEA __IwZGVoGEeS2WoXr83SnEA __IwZH1oGEeS2WoXr83SnEA __IwZI1oGEeS2WoXr83SnEA __IwZJ1oGEeS2WoXr83SnEA __IwZK1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="__IwY21oGEeS2WoXr83SnEA" name="-" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwY3FoGEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="__IwY3VoGEeS2WoXr83SnEA" name="s" type="__IwWMloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY3loGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwY31oGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY4FoGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwY4VoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY4loGEeS2WoXr83SnEA" name="append" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendOperation">
<ownedComment xmi:id="__IwY41oGEeS2WoXr83SnEA" body="The set of elements, consisting of all elements of oclText[self], followed by object."/>
<ownedParameter xmi:id="__IwY5FoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY5VoGEeS2WoXr83SnEA" name="appendAll" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendAllOperation">
<ownedComment xmi:id="__IwY5loGEeS2WoXr83SnEA" body="The set of elements, consisting of all elements of oclText[self], followed by objects."/>
<ownedParameter xmi:id="__IwY51oGEeS2WoXr83SnEA" name="objects" type="__IwVt1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY6FoGEeS2WoXr83SnEA" name="excluding" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="__IwY6VoGEeS2WoXr83SnEA" 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="__IwY6loGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY61oGEeS2WoXr83SnEA" name="excludingAll" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="__IwY7FoGEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="__IwY7VoGEeS2WoXr83SnEA" name="objects" type="__ImkoloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY7loGEeS2WoXr83SnEA" name="flatten" type="__IwV2FoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedTemplateSignature xmi:id="__IwY71oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwY8FoGEeS2WoXr83SnEA" parameteredElement="__IwY8VoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwY8VoGEeS2WoXr83SnEA" name="T2" templateParameter="__IwY8FoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVLFoGEeS2WoXr83SnEA __IwVsFoGEeS2WoXr83SnEA __IwV2loGEeS2WoXr83SnEA __IwWPVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="__IwY8loGEeS2WoXr83SnEA" name="including" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="__IwY81oGEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] plus object added as the last element if not already present."/>
<ownedParameter xmi:id="__IwY9FoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY9VoGEeS2WoXr83SnEA" name="insertAt" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionInsertAtOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwY9loGEeS2WoXr83SnEA" body="The ordered set consisting of oclText[self] with object present at position index."/>
<ownedParameter xmi:id="__IwY91oGEeS2WoXr83SnEA" name="index" type="__IwWeVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwY-FoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY-VoGEeS2WoXr83SnEA" name="prepend" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependOperation">
<ownedComment xmi:id="__IwY-loGEeS2WoXr83SnEA" body="The sequence consisting of object, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="__IwY-1oGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY_FoGEeS2WoXr83SnEA" name="prependAll" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependAllOperation">
<ownedComment xmi:id="__IwY_VoGEeS2WoXr83SnEA" body="The sequence consisting of objects, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="__IwY_loGEeS2WoXr83SnEA" name="objects" type="__IwVt1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwY_1oGEeS2WoXr83SnEA" name="reverse" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionReverseOperation">
<ownedComment xmi:id="__IwZAFoGEeS2WoXr83SnEA" body="The ordered set of elements with same elements but with the opposite order."/>
</ownedOperation>
<ownedOperation xmi:id="__IwZAVoGEeS2WoXr83SnEA" name="selectByKind" type="__IwV21oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="__IwZAloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZA1oGEeS2WoXr83SnEA" parameteredElement="__IwZBFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZBFoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwZA1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVL1oGEeS2WoXr83SnEA __IwViVoGEeS2WoXr83SnEA __IwVs1oGEeS2WoXr83SnEA __IwV3VoGEeS2WoXr83SnEA __IwWQFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZBVoGEeS2WoXr83SnEA" name="type" type="__IwVh1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZBloGEeS2WoXr83SnEA" name="selectByType" type="__IwV3loGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="__IwZB1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZCFoGEeS2WoXr83SnEA" parameteredElement="__IwZCVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZCVoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwZCFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVMloGEeS2WoXr83SnEA __IwVjFoGEeS2WoXr83SnEA __IwVtloGEeS2WoXr83SnEA __IwV4FoGEeS2WoXr83SnEA __IwWQ1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZCloGEeS2WoXr83SnEA" name="type" type="__IwViloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZC1oGEeS2WoXr83SnEA" name="subOrderedSet" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedSetSubOrderedSetOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwZDFoGEeS2WoXr83SnEA" body="The sub-set of oclText[self] starting at number lower, up to and including element number upper."/>
<ownedParameter xmi:id="__IwZDVoGEeS2WoXr83SnEA" name="lower" type="__IwWeVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwZDloGEeS2WoXr83SnEA" name="upper" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZD1oGEeS2WoXr83SnEA" name="closure" type="__IwY11oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="__IwZEFoGEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="__IwZEVoGEeS2WoXr83SnEA" name="lambda" type="__ImkLloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZEloGEeS2WoXr83SnEA" name="i" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZE1oGEeS2WoXr83SnEA" name="collectNested" type="__IwV9loGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="__IwZFFoGEeS2WoXr83SnEA" body="The sequence of elements that results from applying body to every member of the source ordered collection."/>
<ownedTemplateSignature xmi:id="__IwZFVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZFloGEeS2WoXr83SnEA" parameteredElement="__IwZF1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZF1oGEeS2WoXr83SnEA" name="V" templateParameter="__IwZFloGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVJloGEeS2WoXr83SnEA __IwVqloGEeS2WoXr83SnEA __IwV-FoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZGFoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkL1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZGVoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZGloGEeS2WoXr83SnEA" name="collect" type="__IwV-VoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="__IwZG1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZHFoGEeS2WoXr83SnEA" parameteredElement="__IwZHVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZHVoGEeS2WoXr83SnEA" name="V" templateParameter="__IwZHFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVKVoGEeS2WoXr83SnEA __IwVrVoGEeS2WoXr83SnEA __IwV-1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZHloGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkMFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZH1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZIFoGEeS2WoXr83SnEA" name="reject" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="__IwZIVoGEeS2WoXr83SnEA" body="The ordered set of the source ordered set for which body is oclText[false]."/>
<ownedParameter xmi:id="__IwZIloGEeS2WoXr83SnEA" name="lambda" type="__ImkLFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZI1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZJFoGEeS2WoXr83SnEA" name="select" type="__IwY11oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="__IwZJVoGEeS2WoXr83SnEA" body="The ordered set of the source ordered set for which body is oclText[true]"/>
<ownedParameter xmi:id="__IwZJloGEeS2WoXr83SnEA" name="lambda" type="__ImkLFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZJ1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZKFoGEeS2WoXr83SnEA" name="sortedBy" type="__IwY11oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="__IwZKVoGEeS2WoXr83SnEA" 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="__IwZKloGEeS2WoXr83SnEA" name="lambda" type="__ImkLVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZK1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwY2loGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="__IwZLFoGEeS2WoXr83SnEA" name="Sequence" superClass="__IwVyVoGEeS2WoXr83SnEA"
typedElement="__IwZNVoGEeS2WoXr83SnEA __IwZOFoGEeS2WoXr83SnEA __IwZO1oGEeS2WoXr83SnEA __IwZPloGEeS2WoXr83SnEA __IwZRloGEeS2WoXr83SnEA __IwZSVoGEeS2WoXr83SnEA __IwZTVoGEeS2WoXr83SnEA __IwZUFoGEeS2WoXr83SnEA __IwZU1oGEeS2WoXr83SnEA __IwZX1oGEeS2WoXr83SnEA __IwZdFoGEeS2WoXr83SnEA __IwZeFoGEeS2WoXr83SnEA __IwZfFoGEeS2WoXr83SnEA"
elementType="__IwZL1oGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwZLVoGEeS2WoXr83SnEA" templateBinding="__IwV61oGEeS2WoXr83SnEA __IwV7loGEeS2WoXr83SnEA __IwV8VoGEeS2WoXr83SnEA __IwV9FoGEeS2WoXr83SnEA __IwV91oGEeS2WoXr83SnEA __IwV-loGEeS2WoXr83SnEA __IwV_VoGEeS2WoXr83SnEA __IwWAFoGEeS2WoXr83SnEA __IwWA1oGEeS2WoXr83SnEA __IwWBloGEeS2WoXr83SnEA __IwWCVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZLloGEeS2WoXr83SnEA" parameteredElement="__IwZL1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwV7FoGEeS2WoXr83SnEA __IwV71oGEeS2WoXr83SnEA __IwV8loGEeS2WoXr83SnEA __IwV9VoGEeS2WoXr83SnEA __IwV-FoGEeS2WoXr83SnEA __IwV-1oGEeS2WoXr83SnEA __IwV_loGEeS2WoXr83SnEA __IwWAVoGEeS2WoXr83SnEA __IwWBFoGEeS2WoXr83SnEA __IwWB1oGEeS2WoXr83SnEA __IwWCloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZL1oGEeS2WoXr83SnEA" name="T" templateParameter="__IwZLloGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVR1oGEeS2WoXr83SnEA __IwVy1oGEeS2WoXr83SnEA __IwV41oGEeS2WoXr83SnEA __IwWSVoGEeS2WoXr83SnEA"
typedElement="__IwZN1oGEeS2WoXr83SnEA __IwZSFoGEeS2WoXr83SnEA __IwZTFoGEeS2WoXr83SnEA __IwZT1oGEeS2WoXr83SnEA __IwZZloGEeS2WoXr83SnEA __IwZbVoGEeS2WoXr83SnEA __IwZc1oGEeS2WoXr83SnEA __IwZd1oGEeS2WoXr83SnEA __IwZe1oGEeS2WoXr83SnEA __IwZf1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="__IwZMFoGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwZMVoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZMloGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwZM1oGEeS2WoXr83SnEA" body="True if oclText[self] contains the same elements as s in the same order."/>
<ownedParameter xmi:id="__IwZNFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZNVoGEeS2WoXr83SnEA" name="append" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendOperation">
<ownedComment xmi:id="__IwZNloGEeS2WoXr83SnEA" body="The sequence of elements, consisting of all elements of oclText[self], followed by object."/>
<ownedParameter xmi:id="__IwZN1oGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZOFoGEeS2WoXr83SnEA" name="appendAll" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendAllOperation">
<ownedComment xmi:id="__IwZOVoGEeS2WoXr83SnEA" body="The sequence of elements, consisting of all elements of oclText[self], followed by objects."/>
<ownedParameter xmi:id="__IwZOloGEeS2WoXr83SnEA" name="objects" type="__IwVyVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZO1oGEeS2WoXr83SnEA" name="excluding" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="__IwZPFoGEeS2WoXr83SnEA" 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="__IwZPVoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZPloGEeS2WoXr83SnEA" name="excludingAll" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="__IwZP1oGEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="__IwZQFoGEeS2WoXr83SnEA" name="objects" type="__ImkoloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZQVoGEeS2WoXr83SnEA" name="flatten" type="__IwWAloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="__IwZQloGEeS2WoXr83SnEA" 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="__IwZQ1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZRFoGEeS2WoXr83SnEA" parameteredElement="__IwZRVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZRVoGEeS2WoXr83SnEA" name="T2" templateParameter="__IwZRFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVPloGEeS2WoXr83SnEA __IwVwloGEeS2WoXr83SnEA __IwWBFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="__IwZRloGEeS2WoXr83SnEA" name="including" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="__IwZR1oGEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] plus object added as the last element."/>
<ownedParameter xmi:id="__IwZSFoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZSVoGEeS2WoXr83SnEA" name="insertAt" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionInsertAtOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwZSloGEeS2WoXr83SnEA" body="The sequence consisting of oclText[self] with object inserted at position index."/>
<ownedParameter xmi:id="__IwZS1oGEeS2WoXr83SnEA" name="index" type="__IwWeVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwZTFoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZTVoGEeS2WoXr83SnEA" name="prepend" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependOperation">
<ownedComment xmi:id="__IwZTloGEeS2WoXr83SnEA" body="The sequence consisting of object, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="__IwZT1oGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZUFoGEeS2WoXr83SnEA" name="prependAll" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependAllOperation">
<ownedComment xmi:id="__IwZUVoGEeS2WoXr83SnEA" body="The sequence consisting of objects, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="__IwZUloGEeS2WoXr83SnEA" name="objects" type="__IwVyVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZU1oGEeS2WoXr83SnEA" name="reverse" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionReverseOperation">
<ownedComment xmi:id="__IwZVFoGEeS2WoXr83SnEA" body="The sequence containing the same elements but with the opposite order."/>
</ownedOperation>
<ownedOperation xmi:id="__IwZVVoGEeS2WoXr83SnEA" name="selectByKind" type="__IwWBVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="__IwZVloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZV1oGEeS2WoXr83SnEA" parameteredElement="__IwZWFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZWFoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwZV1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVQVoGEeS2WoXr83SnEA __IwVj1oGEeS2WoXr83SnEA __IwVxVoGEeS2WoXr83SnEA __IwWB1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZWVoGEeS2WoXr83SnEA" name="type" type="__IwVjVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZWloGEeS2WoXr83SnEA" name="selectByType" type="__IwWCFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="__IwZW1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZXFoGEeS2WoXr83SnEA" parameteredElement="__IwZXVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZXVoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwZXFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVRFoGEeS2WoXr83SnEA __IwVkloGEeS2WoXr83SnEA __IwVyFoGEeS2WoXr83SnEA __IwWCloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZXloGEeS2WoXr83SnEA" name="type" type="__IwVkFoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZX1oGEeS2WoXr83SnEA" name="subSequence" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SequenceSubSequenceOperation"
isInvalidating="true">
<ownedComment xmi:id="__IwZYFoGEeS2WoXr83SnEA" body="The sub-sequence of oclText[self] starting at number lower, up to and including element number upper."/>
<ownedParameter xmi:id="__IwZYVoGEeS2WoXr83SnEA" name="lower" type="__IwWeVoGEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="__IwZYloGEeS2WoXr83SnEA" name="upper" type="__IwWeVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZY1oGEeS2WoXr83SnEA" name="closure" type="__IwV4VoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="__IwZZFoGEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="__IwZZVoGEeS2WoXr83SnEA" name="lambda" type="__ImkM1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZZloGEeS2WoXr83SnEA" name="i" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZZ1oGEeS2WoXr83SnEA" name="collectNested" type="__IwV_FoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="__IwZaFoGEeS2WoXr83SnEA" body="The sequence of elements that results from applying body to every member of the source ordered collection."/>
<ownedTemplateSignature xmi:id="__IwZaVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZaloGEeS2WoXr83SnEA" parameteredElement="__IwZa1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZa1oGEeS2WoXr83SnEA" name="V" templateParameter="__IwZaloGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVOFoGEeS2WoXr83SnEA __IwVvFoGEeS2WoXr83SnEA __IwV_loGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZbFoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkNFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZbVoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZbloGEeS2WoXr83SnEA" name="collect" type="__IwV_1oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="__IwZb1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZcFoGEeS2WoXr83SnEA" parameteredElement="__IwZcVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZcVoGEeS2WoXr83SnEA" name="V" templateParameter="__IwZcFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVO1oGEeS2WoXr83SnEA __IwVv1oGEeS2WoXr83SnEA __IwWAVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZcloGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkNVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZc1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZdFoGEeS2WoXr83SnEA" name="reject" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="__IwZdVoGEeS2WoXr83SnEA" body="The subsequence of the source sequence for which body is oclText[false]."/>
<ownedParameter xmi:id="__IwZdloGEeS2WoXr83SnEA" name="lambda" type="__ImkMVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZd1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZeFoGEeS2WoXr83SnEA" name="select" type="__IwZLFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="__IwZeVoGEeS2WoXr83SnEA" body="The subsequence of the source sequence for which body is oclText[true]."/>
<ownedParameter xmi:id="__IwZeloGEeS2WoXr83SnEA" name="lambda" type="__ImkMVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZe1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZfFoGEeS2WoXr83SnEA" name="sortedBy" type="__IwZLFoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="__IwZfVoGEeS2WoXr83SnEA" 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="__IwZfloGEeS2WoXr83SnEA" name="lambda" type="__ImkMloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZf1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZL1oGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="__IwZgFoGEeS2WoXr83SnEA" name="Set" superClass="__IwWU1oGEeS2WoXr83SnEA" typedElement="__IwZhFoGEeS2WoXr83SnEA __IwZjFoGEeS2WoXr83SnEA __IwZj1oGEeS2WoXr83SnEA __IwZl1oGEeS2WoXr83SnEA __IwZmloGEeS2WoXr83SnEA __IwZp1oGEeS2WoXr83SnEA __IwZuFoGEeS2WoXr83SnEA __IwZvFoGEeS2WoXr83SnEA"
elementType="__IwZg1oGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwZgVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZgloGEeS2WoXr83SnEA" parameteredElement="__IwZg1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZg1oGEeS2WoXr83SnEA" name="T" templateParameter="__IwZgloGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVWVoGEeS2WoXr83SnEA __IwVzloGEeS2WoXr83SnEA __IwV5loGEeS2WoXr83SnEA __IwWVVoGEeS2WoXr83SnEA"
typedElement="__IwZmVoGEeS2WoXr83SnEA __IwZqloGEeS2WoXr83SnEA __IwZsVoGEeS2WoXr83SnEA __IwZt1oGEeS2WoXr83SnEA __IwZu1oGEeS2WoXr83SnEA __IwZv1oGEeS2WoXr83SnEA __IwZw1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaO1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaRFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaTVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaVloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaX1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__Iwaa1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwadFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwafVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwahloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__Iwaj1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWDVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWEFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWE1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWFloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWGVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWHFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWH1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWIloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWJVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbcVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbdFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__Iwbd1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbeloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbfVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaHFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaH1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaIloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaJVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqToStm.xml#__IwbMFoGEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="orphanage.xml#__IwaOloGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaQ1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaTFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaVVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaXloGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaaloGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__Iwac1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwafFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwahVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwajloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWDFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWD1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWEloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWFVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWGFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWG1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWHloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWIVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWJFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbcFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__Iwbc1oGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbdloGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbeVoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbfFoGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaG1oGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaHloGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaIVoGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaJFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqToStm.xml#__IwbL1oGEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="__IwZhFoGEeS2WoXr83SnEA" name="-" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwZhVoGEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="__IwZhloGEeS2WoXr83SnEA" name="s" type="__IwWMloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZh1oGEeS2WoXr83SnEA" name="&lt;>" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedParameter xmi:id="__IwZiFoGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZiVoGEeS2WoXr83SnEA" name="=" type="__IwWW1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="__IwZ31oGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwZiloGEeS2WoXr83SnEA" body="Evaluates to oclText[true] if oclText[self] and s contain the same elements."/>
<ownedParameter xmi:id="__IwZi1oGEeS2WoXr83SnEA" name="object2" type="__IwYoVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZjFoGEeS2WoXr83SnEA" name="excluding" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="__IwZjVoGEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] without object."/>
<ownedParameter xmi:id="__IwZjloGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwYKVoGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZj1oGEeS2WoXr83SnEA" name="excludingAll" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="__IwZkFoGEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="__IwZkVoGEeS2WoXr83SnEA" name="objects" type="__ImkoloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZkloGEeS2WoXr83SnEA" name="flatten" type="__IwWGloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="__IwZk1oGEeS2WoXr83SnEA" 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="__IwZlFoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZlVoGEeS2WoXr83SnEA" parameteredElement="__IwZlloGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZlloGEeS2WoXr83SnEA" name="T2" templateParameter="__IwZlVoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVUFoGEeS2WoXr83SnEA __IwWHFoGEeS2WoXr83SnEA __IwWTFoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="__IwZl1oGEeS2WoXr83SnEA" name="including" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="__IwZmFoGEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="__IwZmVoGEeS2WoXr83SnEA" name="object" isRequired="false" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZmloGEeS2WoXr83SnEA" name="includingAll" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="__IwZm1oGEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="__IwZnFoGEeS2WoXr83SnEA" name="objects" type="__IwVV1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZnVoGEeS2WoXr83SnEA" name="selectByKind" type="__IwWHVoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="__IwZnloGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZn1oGEeS2WoXr83SnEA" parameteredElement="__IwZoFoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZoFoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwZn1oGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVU1oGEeS2WoXr83SnEA __IwVlVoGEeS2WoXr83SnEA __IwWH1oGEeS2WoXr83SnEA __IwWT1oGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZoVoGEeS2WoXr83SnEA" name="type" type="__IwVk1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZoloGEeS2WoXr83SnEA" name="selectByType" type="__IwWIFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="__IwZo1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZpFoGEeS2WoXr83SnEA" parameteredElement="__IwZpVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZpVoGEeS2WoXr83SnEA" name="TT" templateParameter="__IwZpFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVVloGEeS2WoXr83SnEA __IwVmFoGEeS2WoXr83SnEA __IwWIloGEeS2WoXr83SnEA __IwWUloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZploGEeS2WoXr83SnEA" name="type" type="__IwVlloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZp1oGEeS2WoXr83SnEA" name="closure" type="__IwZgFoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="__IwZqFoGEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="__IwZqVoGEeS2WoXr83SnEA" name="lambda" type="__ImkOFoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZqloGEeS2WoXr83SnEA" name="i" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZq1oGEeS2WoXr83SnEA" name="collectNested" type="__ImkWloGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="__IwZrFoGEeS2WoXr83SnEA" body="The Bag of elements which results from applying body to every member of the source nonordered collection."/>
<ownedTemplateSignature xmi:id="__IwZrVoGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZrloGEeS2WoXr83SnEA" parameteredElement="__IwZr1oGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZr1oGEeS2WoXr83SnEA" name="V" templateParameter="__IwZrloGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkXFoGEeS2WoXr83SnEA __IwVSloGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZsFoGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkOVoGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZsVoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZsloGEeS2WoXr83SnEA" name="collect" type="__ImkXVoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="__IwZs1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZtFoGEeS2WoXr83SnEA" parameteredElement="__IwZtVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZtVoGEeS2WoXr83SnEA" name="V" templateParameter="__IwZtFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__ImkX1oGEeS2WoXr83SnEA __IwVTVoGEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="__IwZtloGEeS2WoXr83SnEA" name="lambda" isRequired="false" type="__ImkOloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZt1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZuFoGEeS2WoXr83SnEA" name="reject" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="__IwZuVoGEeS2WoXr83SnEA" body="The subset of the source set for which body is oclText[false]."/>
<ownedParameter xmi:id="__IwZuloGEeS2WoXr83SnEA" name="lambda" type="__ImkNloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZu1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZvFoGEeS2WoXr83SnEA" name="select" type="__IwZgFoGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="__IwZvVoGEeS2WoXr83SnEA" body="The subset of set for which expr is oclText[true]."/>
<ownedParameter xmi:id="__IwZvloGEeS2WoXr83SnEA" name="lambda" type="__ImkNloGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZv1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZwFoGEeS2WoXr83SnEA" name="sortedBy" type="__IwV5FoGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="__IwZwVoGEeS2WoXr83SnEA" 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="__IwZwloGEeS2WoXr83SnEA" name="lambda" type="__ImkN1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZw1oGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZg1oGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwZxFoGEeS2WoXr83SnEA" name="State" superClass="__IwYo1oGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="__IwZxVoGEeS2WoXr83SnEA" name="Type" superClass="__IwYsVoGEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="__IwZxloGEeS2WoXr83SnEA" name="UniqueCollection" superClass="__IwVWloGEeS2WoXr83SnEA"
typedElement="__IwZyloGEeS2WoXr83SnEA __IwZ1VoGEeS2WoXr83SnEA" elementType="__IwZyVoGEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="__IwZx1oGEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="__IwZyFoGEeS2WoXr83SnEA" parameteredElement="__IwZyVoGEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="__IwZyVoGEeS2WoXr83SnEA" name="T" templateParameter="__IwZyFoGEeS2WoXr83SnEA"
templateParameterSubstitution="__IwVXFoGEeS2WoXr83SnEA __IwV0VoGEeS2WoXr83SnEA __IwV6VoGEeS2WoXr83SnEA __IwWJVoGEeS2WoXr83SnEA __IwWWFoGEeS2WoXr83SnEA"
typedElement="__IwZ2VoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaOFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaQVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaSloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaU1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaXFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaaFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwacVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__IwaeloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="orphanage.xml#__Iwag1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWKFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWK1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWLloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWMVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWNFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWN1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWOloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWPVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWQFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWQ1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWRloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWSVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWTFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWT1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWUloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWVVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#__IwWWFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbgFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__Iwbg1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbhloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbiVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqMM.xml#__IwbjFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaKFoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaK1oGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaLloGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="StmcMM.xml#__IwaMVoGEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="SeqToStm.xml#__IwbM1oGEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="orphanage.xml#__IwaN1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaQFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaSVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaUloGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaW1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaZ1oGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwacFoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwaeVoGEeS2WoXr83SnEA"/>
<templateBinding href="orphanage.xml#__IwagloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWJ1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWKloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWLVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWMFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWM1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWNloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWOVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWPFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWP1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWQloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWRVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWSFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWS1oGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWTloGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWUVoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWVFoGEeS2WoXr83SnEA"/>
<templateBinding href="#__IwWV1oGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__Iwbf1oGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbgloGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbhVoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__IwbiFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqMM.xml#__Iwbi1oGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaJ1oGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaKloGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaLVoGEeS2WoXr83SnEA"/>
<templateBinding href="StmcMM.xml#__IwaMFoGEeS2WoXr83SnEA"/>
<templateBinding href="SeqToStm.xml#__IwbMloGEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="__IwZyloGEeS2WoXr83SnEA" name="-" type="__IwZxloGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="__IwZ3VoGEeS2WoXr83SnEA">
<ownedComment xmi:id="__IwZy1oGEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="__IwZzFoGEeS2WoXr83SnEA" name="s" type="__IwWMloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZzVoGEeS2WoXr83SnEA" name="intersection" type="__IwWI1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="__IwZzloGEeS2WoXr83SnEA" 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="__IwZz1oGEeS2WoXr83SnEA" name="c" type="__IwVWloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZ0FoGEeS2WoXr83SnEA" name="symmetricDifference" type="__IwWI1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetSymmetricDifferenceOperation">
<ownedComment xmi:id="__IwZ0VoGEeS2WoXr83SnEA" body="The set containing all the elements that are in oclText[self] or s, but not in both."/>
<ownedParameter xmi:id="__IwZ0loGEeS2WoXr83SnEA" name="s" type="__IwWMloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="__IwZ01oGEeS2WoXr83SnEA" name="union" type="__IwWI1oGEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUnionOperation">
<ownedComment xmi:id="__IwZ1FoGEeS2WoXr83SnEA" body="The set consisting of all elements in oclText[self] and all elements in s."/>
<ownedParameter xmi:id="__IwZ1VoGEeS2WoXr83SnEA" name="s" type="__IwZxloGEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="__IwZ1loGEeS2WoXr83SnEA" name="sortedBy" type="__IwV51oGEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="__IwZ11oGEeS2WoXr83SnEA" 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="__IwZ2FoGEeS2WoXr83SnEA" name="lambda" type="__ImkO1oGEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="__IwZ2VoGEeS2WoXr83SnEA" name="i" isRequired="false" type="__IwZyVoGEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedPrecedence xmi:id="__IwZ2loGEeS2WoXr83SnEA" name="NAVIGATION"/>
<ownedPrecedence xmi:id="__IwZ21oGEeS2WoXr83SnEA" name="UNARY" order="1"/>
<ownedPrecedence xmi:id="__IwZ3FoGEeS2WoXr83SnEA" name="MULTIPLICATIVE" order="2"/>
<ownedPrecedence xmi:id="__IwZ3VoGEeS2WoXr83SnEA" name="ADDITIVE" order="3"/>
<ownedPrecedence xmi:id="__IwZ3loGEeS2WoXr83SnEA" name="RELATIONAL" order="4"/>
<ownedPrecedence xmi:id="__IwZ31oGEeS2WoXr83SnEA" name="EQUALITY" order="5"/>
<ownedPrecedence xmi:id="__IwZ4FoGEeS2WoXr83SnEA" name="AND" order="6"/>
<ownedPrecedence xmi:id="__IwZ4VoGEeS2WoXr83SnEA" name="OR" order="7"/>
<ownedPrecedence xmi:id="__IwZ4loGEeS2WoXr83SnEA" name="XOR" order="8"/>
<ownedPrecedence xmi:id="__IwZ41oGEeS2WoXr83SnEA" name="IMPLIES" order="9"/>
</nestedPackage>
</flatemofqvt:Root>