blob: 7a22e5b40ee0b29b1dbeaf7b0deca28f9e7678c0 [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="_AT22UFoHEeS2WoXr83SnEA" name="OCL.oclstdlib" externalURI="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib">
<nestedPackage xmi:id="_AT22UVoHEeS2WoXr83SnEA" name="$$" nsPrefix="orphanage" nsURI="http://www.eclipse.org/ocl/3.1.0/orphanage">
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22UloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25J1oHEeS2WoXr83SnEA _AT25K1oHEeS2WoXr83SnEA"
contextType="_AT2481oHEeS2WoXr83SnEA" resultType="_AT24FVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22U1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25HVoHEeS2WoXr83SnEA"
contextType="_AT2481oHEeS2WoXr83SnEA" resultType="_AT25HFoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22VFoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25I1oHEeS2WoXr83SnEA"
contextType="_AT2481oHEeS2WoXr83SnEA" resultType="_AT25IloHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22VVoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25L1oHEeS2WoXr83SnEA"
contextType="_AT2481oHEeS2WoXr83SnEA" resultType="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22VloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25FloHEeS2WoXr83SnEA"
contextType="_AT2481oHEeS2WoXr83SnEA" resultType="_AT23yFoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22V1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25mFoHEeS2WoXr83SnEA _AT25qVoHEeS2WoXr83SnEA _AT25rloHEeS2WoXr83SnEA _AT25sVoHEeS2WoXr83SnEA _AT25tloHEeS2WoXr83SnEA _AT25xVoHEeS2WoXr83SnEA _AT25yVoHEeS2WoXr83SnEA _AT25zVoHEeS2WoXr83SnEA"
contextType="_AT25NVoHEeS2WoXr83SnEA" resultType="_AT24FVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22WFoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25n1oHEeS2WoXr83SnEA"
contextType="_AT25NVoHEeS2WoXr83SnEA" resultType="_AT25nloHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22WVoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25ploHEeS2WoXr83SnEA"
contextType="_AT25NVoHEeS2WoXr83SnEA" resultType="_AT25pVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22WloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25wFoHEeS2WoXr83SnEA"
contextType="_AT25NVoHEeS2WoXr83SnEA" resultType="_AT25v1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22W1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT25uloHEeS2WoXr83SnEA _AT250VoHEeS2WoXr83SnEA"
contextType="_AT25NVoHEeS2WoXr83SnEA" resultType="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22XFoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT263FoHEeS2WoXr83SnEA _AT264FoHEeS2WoXr83SnEA"
contextType="_AT26lFoHEeS2WoXr83SnEA" resultType="_AT24FVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22XVoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT265FoHEeS2WoXr83SnEA"
contextType="_AT26lFoHEeS2WoXr83SnEA" resultType="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22XloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT26y1oHEeS2WoXr83SnEA"
contextType="_AT26lFoHEeS2WoXr83SnEA" resultType="_AT26kVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22X1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT260loHEeS2WoXr83SnEA"
contextType="_AT26lFoHEeS2WoXr83SnEA" resultType="_AT260VoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22YFoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT262FoHEeS2WoXr83SnEA"
contextType="_AT26lFoHEeS2WoXr83SnEA" resultType="_AT2611oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22YVoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27MFoHEeS2WoXr83SnEA _AT27NFoHEeS2WoXr83SnEA"
contextType="_AT266VoHEeS2WoXr83SnEA" resultType="_AT24FVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22YloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27OFoHEeS2WoXr83SnEA"
contextType="_AT266VoHEeS2WoXr83SnEA" resultType="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22Y1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27H1oHEeS2WoXr83SnEA"
contextType="_AT266VoHEeS2WoXr83SnEA" resultType="_AT23m1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22ZFoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27JloHEeS2WoXr83SnEA"
contextType="_AT266VoHEeS2WoXr83SnEA" resultType="_AT27JVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22ZVoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27LFoHEeS2WoXr83SnEA"
contextType="_AT266VoHEeS2WoXr83SnEA" resultType="_AT27K1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22ZloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27dFoHEeS2WoXr83SnEA _AT27eFoHEeS2WoXr83SnEA"
contextType="_AT27PVoHEeS2WoXr83SnEA" resultType="_AT24FVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22Z1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27fFoHEeS2WoXr83SnEA"
contextType="_AT27PVoHEeS2WoXr83SnEA" resultType="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22aFoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27Y1oHEeS2WoXr83SnEA"
contextType="_AT27PVoHEeS2WoXr83SnEA" resultType="_AT27OloHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22aVoHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27aloHEeS2WoXr83SnEA"
contextType="_AT27PVoHEeS2WoXr83SnEA" resultType="_AT27aVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22aloHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27cFoHEeS2WoXr83SnEA"
contextType="_AT27PVoHEeS2WoXr83SnEA" resultType="_AT27b1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:LambdaType" xmi:id="_AT22a1oHEeS2WoXr83SnEA" name="Lambda" superClass="_AT26T1oHEeS2WoXr83SnEA" typedElement="_AT27kloHEeS2WoXr83SnEA"
contextType="_AT27g1oHEeS2WoXr83SnEA" resultType="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:TupleType" xmi:id="_AT22bFoHEeS2WoXr83SnEA" name="Tuple" templateParameterSubstitution="_AT22mFoHEeS2WoXr83SnEA _AT23x1oHEeS2WoXr83SnEA _AT234loHEeS2WoXr83SnEA"
superClass="_AT26ZVoHEeS2WoXr83SnEA">
<ownedAttribute xmi:id="_AT22bVoHEeS2WoXr83SnEA" name="first" type="_AT25NVoHEeS2WoXr83SnEA"/>
<ownedAttribute xmi:id="_AT22bloHEeS2WoXr83SnEA" name="second" type="_AT25g1oHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22b1oHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22mVoHEeS2WoXr83SnEA" typedElement="_AT25GFoHEeS2WoXr83SnEA" elementType="_AT25HFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22cFoHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22cVoHEeS2WoXr83SnEA" actual="_AT25HFoHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22cloHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22nFoHEeS2WoXr83SnEA" typedElement="_AT25H1oHEeS2WoXr83SnEA" elementType="_AT25IloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22c1oHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22dFoHEeS2WoXr83SnEA" actual="_AT25IloHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22dVoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22n1oHEeS2WoXr83SnEA" typedElement="_AT24_1oHEeS2WoXr83SnEA" elementType="_AT25A1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22dloHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22d1oHEeS2WoXr83SnEA" actual="_AT25A1oHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22eFoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22oloHEeS2WoXr83SnEA" typedElement="_AT25CloHEeS2WoXr83SnEA" elementType="_AT25DVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22eVoHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22eloHEeS2WoXr83SnEA" actual="_AT25DVoHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22e1oHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22pVoHEeS2WoXr83SnEA" typedElement="_AT25D1oHEeS2WoXr83SnEA" elementType="_AT25EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22fFoHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22fVoHEeS2WoXr83SnEA" actual="_AT25EloHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22floHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22w1oHEeS2WoXr83SnEA" typedElement="_AT25Q1oHEeS2WoXr83SnEA _AT25cVoHEeS2WoXr83SnEA _AT25k1oHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22f1oHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22gFoHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22gVoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22xloHEeS2WoXr83SnEA" typedElement="_AT25NloHEeS2WoXr83SnEA" elementType="_AT25MloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22gloHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22g1oHEeS2WoXr83SnEA" actual="_AT25MloHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22hFoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22zFoHEeS2WoXr83SnEA" typedElement="_AT2521oHEeS2WoXr83SnEA" elementType="_AT2501oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22hVoHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22hloHEeS2WoXr83SnEA" actual="_AT2501oHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22h1oHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT22z1oHEeS2WoXr83SnEA" typedElement="_AT254FoHEeS2WoXr83SnEA" elementType="_AT253FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22iFoHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22iVoHEeS2WoXr83SnEA" actual="_AT253FoHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22iloHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT23AloHEeS2WoXr83SnEA" typedElement="_AT27ZVoHEeS2WoXr83SnEA" elementType="_AT27aVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22i1oHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22jFoHEeS2WoXr83SnEA" actual="_AT27aVoHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT22jVoHEeS2WoXr83SnEA" name="Bag" unspecializedElement="_AT248FoHEeS2WoXr83SnEA"
superClass="_AT23BVoHEeS2WoXr83SnEA" typedElement="_AT27bFoHEeS2WoXr83SnEA" elementType="_AT27b1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22jloHEeS2WoXr83SnEA" signature="_AT248VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22j1oHEeS2WoXr83SnEA" actual="_AT27b1oHEeS2WoXr83SnEA" formal="_AT248loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22kFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT24M1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22kVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22kloHEeS2WoXr83SnEA" actual="_AT24M1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22k1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT24h1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22lFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22lVoHEeS2WoXr83SnEA" actual="_AT24h1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22lloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT22bFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22l1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22mFoHEeS2WoXr83SnEA" actual="_AT22bFoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22mVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25HFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22mloHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22m1oHEeS2WoXr83SnEA" actual="_AT25HFoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22nFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25IloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22nVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22nloHEeS2WoXr83SnEA" actual="_AT25IloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22n1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25A1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22oFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22oVoHEeS2WoXr83SnEA" actual="_AT25A1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22oloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25DVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22o1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22pFoHEeS2WoXr83SnEA" actual="_AT25DVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22pVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22ploHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22p1oHEeS2WoXr83SnEA" actual="_AT25EloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22qFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25CVoHEeS2WoXr83SnEA" elementType="_AT2481oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22qVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22qloHEeS2WoXr83SnEA" actual="_AT2481oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22q1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25mloHEeS2WoXr83SnEA" elementType="_AT25nloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22rFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22rVoHEeS2WoXr83SnEA" actual="_AT25nloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22rloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25oVoHEeS2WoXr83SnEA" elementType="_AT25pVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22r1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22sFoHEeS2WoXr83SnEA" actual="_AT25pVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22sVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25VloHEeS2WoXr83SnEA" elementType="_AT25VVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22sloHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22s1oHEeS2WoXr83SnEA" actual="_AT25VVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22tFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25XVoHEeS2WoXr83SnEA" elementType="_AT25YVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22tVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22tloHEeS2WoXr83SnEA" actual="_AT25YVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22t1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25aloHEeS2WoXr83SnEA" elementType="_AT25aVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22uFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22uVoHEeS2WoXr83SnEA" actual="_AT25aVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22uloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25hFoHEeS2WoXr83SnEA" elementType="_AT25g1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22u1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22vFoHEeS2WoXr83SnEA" actual="_AT25g1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22vVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25hVoHEeS2WoXr83SnEA" elementType="_AT25iFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22vloHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22v1oHEeS2WoXr83SnEA" actual="_AT25iFoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22wFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25iloHEeS2WoXr83SnEA" elementType="_AT25jVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22wVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22wloHEeS2WoXr83SnEA" actual="_AT25jVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22w1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22xFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22xVoHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22xloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT25MloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22x1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22yFoHEeS2WoXr83SnEA" actual="_AT25MloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22yVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT252VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22yloHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22y1oHEeS2WoXr83SnEA" actual="_AT252VoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22zFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT2501oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22zVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22zloHEeS2WoXr83SnEA" actual="_AT2501oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22z1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT253FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT220FoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT220VoHEeS2WoXr83SnEA" actual="_AT253FoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT220loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT24_loHEeS2WoXr83SnEA _AT25XFoHEeS2WoXr83SnEA _AT26p1oHEeS2WoXr83SnEA _AT26-loHEeS2WoXr83SnEA _AT27S1oHEeS2WoXr83SnEA"
elementType="_AT2541oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2201oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT221FoHEeS2WoXr83SnEA" actual="_AT2541oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT221VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26IloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT221loHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2211oHEeS2WoXr83SnEA" actual="_AT26IloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT222FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26W1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT222VoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT222loHEeS2WoXr83SnEA" actual="_AT26W1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT2221oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26hloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT223FoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT223VoHEeS2WoXr83SnEA" actual="_AT26hloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT223loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT260VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2231oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT224FoHEeS2WoXr83SnEA" actual="_AT260VoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT224VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT2611oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT224loHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2241oHEeS2WoXr83SnEA" actual="_AT2611oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT225FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26q1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT225VoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT225loHEeS2WoXr83SnEA" actual="_AT26q1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT2251oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26vloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT226FoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT226VoHEeS2WoXr83SnEA" actual="_AT26vloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT226loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26w1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2261oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT227FoHEeS2WoXr83SnEA" actual="_AT26w1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT227VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26lFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT227loHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2271oHEeS2WoXr83SnEA" actual="_AT26lFoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT228FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27JVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT228VoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT228loHEeS2WoXr83SnEA" actual="_AT27JVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT2281oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27K1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT229FoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT229VoHEeS2WoXr83SnEA" actual="_AT27K1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT229loHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT26_1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2291oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22-FoHEeS2WoXr83SnEA" actual="_AT26_1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22-VoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22-loHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22-1oHEeS2WoXr83SnEA" actual="_AT27EloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22_FoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27F1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT22_VoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT22_loHEeS2WoXr83SnEA" actual="_AT27F1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT22_1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT266VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23AFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23AVoHEeS2WoXr83SnEA" actual="_AT266VoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23AloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27aVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23A1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23BFoHEeS2WoXr83SnEA" actual="_AT27aVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23BVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27b1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23BloHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23B1oHEeS2WoXr83SnEA" actual="_AT27b1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23CFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27UFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23CVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23CloHEeS2WoXr83SnEA" actual="_AT27UFoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23C1oHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27WloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23DFoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23DVoHEeS2WoXr83SnEA" actual="_AT27WloHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23DloHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" elementType="_AT27X1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23D1oHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23EFoHEeS2WoXr83SnEA" actual="_AT27X1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23EVoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT27VloHEeS2WoXr83SnEA" elementType="_AT27PVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23EloHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23E1oHEeS2WoXr83SnEA" actual="_AT27PVoHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23FFoHEeS2WoXr83SnEA" name="Collection" unspecializedElement="_AT25MloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT27iVoHEeS2WoXr83SnEA" elementType="_AT27g1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23FVoHEeS2WoXr83SnEA" signature="_AT25M1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23FloHEeS2WoXr83SnEA" actual="_AT27g1oHEeS2WoXr83SnEA" formal="_AT25NFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23F1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT2471oHEeS2WoXr83SnEA" instanceType="_AT247loHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23GFoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23GVoHEeS2WoXr83SnEA" actual="_AT247loHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23GloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT25DloHEeS2WoXr83SnEA" instanceType="_AT25DVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23G1oHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23HFoHEeS2WoXr83SnEA" actual="_AT25DVoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23HVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT25E1oHEeS2WoXr83SnEA" instanceType="_AT25EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23HloHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23H1oHEeS2WoXr83SnEA" actual="_AT25EloHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23IFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT25iVoHEeS2WoXr83SnEA" instanceType="_AT25iFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23IVoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23IloHEeS2WoXr83SnEA" actual="_AT25iFoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23I1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT25jloHEeS2WoXr83SnEA" instanceType="_AT25jVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23JFoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23JVoHEeS2WoXr83SnEA" actual="_AT25jVoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23JloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT258loHEeS2WoXr83SnEA" instanceType="_AT258VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23J1oHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23KFoHEeS2WoXr83SnEA" actual="_AT258VoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23KVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT25_VoHEeS2WoXr83SnEA" instanceType="_AT25_FoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23KloHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23K1oHEeS2WoXr83SnEA" actual="_AT25_FoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23LFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26BVoHEeS2WoXr83SnEA" instanceType="_AT26BFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23LVoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23LloHEeS2WoXr83SnEA" actual="_AT26BFoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23L1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26PVoHEeS2WoXr83SnEA" instanceType="_AT26PFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23MFoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23MVoHEeS2WoXr83SnEA" actual="_AT26PFoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23MloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26Q1oHEeS2WoXr83SnEA" instanceType="_AT26QloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23M1oHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23NFoHEeS2WoXr83SnEA" actual="_AT26QloHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23NVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26SFoHEeS2WoXr83SnEA" instanceType="_AT26R1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23NloHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23N1oHEeS2WoXr83SnEA" actual="_AT26R1oHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23OFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" instanceType="_AT26KloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23OVoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23OloHEeS2WoXr83SnEA" actual="_AT26KloHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23O1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26DVoHEeS2WoXr83SnEA _AT26SloHEeS2WoXr83SnEA" instanceType="_AT26W1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23PFoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23PVoHEeS2WoXr83SnEA" actual="_AT26W1oHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23PloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" instanceType="_AT26cFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23P1oHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23QFoHEeS2WoXr83SnEA" actual="_AT26cFoHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23QVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26v1oHEeS2WoXr83SnEA" instanceType="_AT26vloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23QloHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23Q1oHEeS2WoXr83SnEA" actual="_AT26vloHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23RFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT26xFoHEeS2WoXr83SnEA" instanceType="_AT26w1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23RVoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23RloHEeS2WoXr83SnEA" actual="_AT26w1oHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23R1oHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT27E1oHEeS2WoXr83SnEA" instanceType="_AT27EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23SFoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23SVoHEeS2WoXr83SnEA" actual="_AT27EloHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23SloHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT27GFoHEeS2WoXr83SnEA" instanceType="_AT27F1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23S1oHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23TFoHEeS2WoXr83SnEA" actual="_AT27F1oHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23TVoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT27W1oHEeS2WoXr83SnEA" instanceType="_AT27WloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23TloHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23T1oHEeS2WoXr83SnEA" actual="_AT27WloHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT23UFoHEeS2WoXr83SnEA" name="Metaclass" unspecializedElement="_AT253FoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" typedElement="_AT27YFoHEeS2WoXr83SnEA" instanceType="_AT27X1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23UVoHEeS2WoXr83SnEA" signature="_AT253VoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23UloHEeS2WoXr83SnEA" actual="_AT27X1oHEeS2WoXr83SnEA" formal="_AT253loHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23U1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22kFoHEeS2WoXr83SnEA" elementType="_AT24M1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23VFoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23VVoHEeS2WoXr83SnEA" actual="_AT24M1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23VloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22k1oHEeS2WoXr83SnEA" elementType="_AT24h1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23V1oHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23WFoHEeS2WoXr83SnEA" actual="_AT24h1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23WVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22qFoHEeS2WoXr83SnEA" elementType="_AT2481oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23WloHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23W1oHEeS2WoXr83SnEA" actual="_AT2481oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23XFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22w1oHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23XVoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23XloHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23X1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22yVoHEeS2WoXr83SnEA" elementType="_AT252VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23YFoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23YVoHEeS2WoXr83SnEA" actual="_AT252VoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23YloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT223loHEeS2WoXr83SnEA" elementType="_AT260VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23Y1oHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23ZFoHEeS2WoXr83SnEA" actual="_AT260VoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23ZVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT224VoHEeS2WoXr83SnEA" elementType="_AT2611oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23ZloHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23Z1oHEeS2WoXr83SnEA" actual="_AT2611oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23aFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT225FoHEeS2WoXr83SnEA" elementType="_AT26q1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23aVoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23aloHEeS2WoXr83SnEA" actual="_AT26q1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23a1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT2251oHEeS2WoXr83SnEA" elementType="_AT26vloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23bFoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23bVoHEeS2WoXr83SnEA" actual="_AT26vloHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23bloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT226loHEeS2WoXr83SnEA" elementType="_AT26w1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23b1oHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23cFoHEeS2WoXr83SnEA" actual="_AT26w1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23cVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT227VoHEeS2WoXr83SnEA" typedElement="_AT26oVoHEeS2WoXr83SnEA _AT26uFoHEeS2WoXr83SnEA" elementType="_AT26lFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23cloHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23c1oHEeS2WoXr83SnEA" actual="_AT26lFoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23dFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT228FoHEeS2WoXr83SnEA" elementType="_AT27JVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23dVoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23dloHEeS2WoXr83SnEA" actual="_AT27JVoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23d1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT2281oHEeS2WoXr83SnEA" elementType="_AT27K1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23eFoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23eVoHEeS2WoXr83SnEA" actual="_AT27K1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23eloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT229loHEeS2WoXr83SnEA" elementType="_AT26_1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23e1oHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23fFoHEeS2WoXr83SnEA" actual="_AT26_1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23fVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22-VoHEeS2WoXr83SnEA" elementType="_AT27EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23floHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23f1oHEeS2WoXr83SnEA" actual="_AT27EloHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23gFoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22_FoHEeS2WoXr83SnEA" elementType="_AT27F1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23gVoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23gloHEeS2WoXr83SnEA" actual="_AT27F1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23g1oHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT22_1oHEeS2WoXr83SnEA" typedElement="_AT269FoHEeS2WoXr83SnEA _AT27DFoHEeS2WoXr83SnEA" elementType="_AT266VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23hFoHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23hVoHEeS2WoXr83SnEA" actual="_AT266VoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23hloHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT23EVoHEeS2WoXr83SnEA" elementType="_AT27PVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23h1oHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23iFoHEeS2WoXr83SnEA" actual="_AT27PVoHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23iVoHEeS2WoXr83SnEA" name="OrderedCollection" unspecializedElement="_AT26g1oHEeS2WoXr83SnEA"
superClass="_AT23FFoHEeS2WoXr83SnEA" elementType="_AT27g1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23iloHEeS2WoXr83SnEA" signature="_AT26hFoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23i1oHEeS2WoXr83SnEA" actual="_AT27g1oHEeS2WoXr83SnEA" formal="_AT26hVoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23jFoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23XFoHEeS2WoXr83SnEA _AT235loHEeS2WoXr83SnEA" typedElement="_AT25RVoHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23jVoHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23jloHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23j1oHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23X1oHEeS2WoXr83SnEA _AT236VoHEeS2WoXr83SnEA" typedElement="_AT251VoHEeS2WoXr83SnEA" elementType="_AT252VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23kFoHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23kVoHEeS2WoXr83SnEA" actual="_AT252VoHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23kloHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23aFoHEeS2WoXr83SnEA _AT239VoHEeS2WoXr83SnEA" typedElement="_AT26qFoHEeS2WoXr83SnEA" elementType="_AT26q1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23k1oHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23lFoHEeS2WoXr83SnEA" actual="_AT26q1oHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23lVoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23a1oHEeS2WoXr83SnEA _AT23-FoHEeS2WoXr83SnEA" typedElement="_AT26u1oHEeS2WoXr83SnEA" elementType="_AT26vloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23lloHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23l1oHEeS2WoXr83SnEA" actual="_AT26vloHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23mFoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23bloHEeS2WoXr83SnEA _AT23-1oHEeS2WoXr83SnEA" typedElement="_AT26wFoHEeS2WoXr83SnEA" elementType="_AT26w1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23mVoHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23mloHEeS2WoXr83SnEA" actual="_AT26w1oHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23m1oHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23g1oHEeS2WoXr83SnEA _AT24AVoHEeS2WoXr83SnEA" typedElement="_AT27HVoHEeS2WoXr83SnEA" elementType="_AT266VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23nFoHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23nVoHEeS2WoXr83SnEA" actual="_AT266VoHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23nloHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23hloHEeS2WoXr83SnEA _AT24DVoHEeS2WoXr83SnEA" typedElement="_AT27eloHEeS2WoXr83SnEA" elementType="_AT27PVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23n1oHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23oFoHEeS2WoXr83SnEA" actual="_AT27PVoHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT23oVoHEeS2WoXr83SnEA" name="OrderedSet" unspecializedElement="_AT26kVoHEeS2WoXr83SnEA"
superClass="_AT23iVoHEeS2WoXr83SnEA _AT24EFoHEeS2WoXr83SnEA" typedElement="_AT27kFoHEeS2WoXr83SnEA" elementType="_AT27g1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23oloHEeS2WoXr83SnEA" signature="_AT26kloHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23o1oHEeS2WoXr83SnEA" actual="_AT27g1oHEeS2WoXr83SnEA" formal="_AT26k1oHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23pFoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23U1oHEeS2WoXr83SnEA" elementType="_AT24M1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23pVoHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23ploHEeS2WoXr83SnEA" actual="_AT24M1oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23p1oHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23VloHEeS2WoXr83SnEA" typedElement="_AT24nloHEeS2WoXr83SnEA _AT243loHEeS2WoXr83SnEA _AT244FoHEeS2WoXr83SnEA _AT2441oHEeS2WoXr83SnEA"
elementType="_AT24h1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23qFoHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23qVoHEeS2WoXr83SnEA" actual="_AT24h1oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23qloHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23WVoHEeS2WoXr83SnEA" typedElement="_AT25LVoHEeS2WoXr83SnEA" elementType="_AT2481oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23q1oHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23rFoHEeS2WoXr83SnEA" actual="_AT2481oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23rVoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23XFoHEeS2WoXr83SnEA" typedElement="_AT25R1oHEeS2WoXr83SnEA _AT25z1oHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23rloHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23r1oHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23sFoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23YloHEeS2WoXr83SnEA" typedElement="_AT26zVoHEeS2WoXr83SnEA" elementType="_AT260VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23sVoHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23sloHEeS2WoXr83SnEA" actual="_AT260VoHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23s1oHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23ZVoHEeS2WoXr83SnEA" typedElement="_AT261FoHEeS2WoXr83SnEA" elementType="_AT2611oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23tFoHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23tVoHEeS2WoXr83SnEA" actual="_AT2611oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23tloHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23dFoHEeS2WoXr83SnEA" typedElement="_AT27IVoHEeS2WoXr83SnEA" elementType="_AT27JVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23t1oHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23uFoHEeS2WoXr83SnEA" actual="_AT27JVoHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23uVoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23d1oHEeS2WoXr83SnEA" typedElement="_AT27KFoHEeS2WoXr83SnEA" elementType="_AT27K1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23uloHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23u1oHEeS2WoXr83SnEA" actual="_AT27K1oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23vFoHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23eloHEeS2WoXr83SnEA" typedElement="_AT26-1oHEeS2WoXr83SnEA" elementType="_AT26_1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23vVoHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23vloHEeS2WoXr83SnEA" actual="_AT26_1oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23v1oHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23fVoHEeS2WoXr83SnEA" typedElement="_AT27D1oHEeS2WoXr83SnEA" elementType="_AT27EloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23wFoHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23wVoHEeS2WoXr83SnEA" actual="_AT27EloHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT23wloHEeS2WoXr83SnEA" name="Sequence" unspecializedElement="_AT265loHEeS2WoXr83SnEA"
superClass="_AT23gFoHEeS2WoXr83SnEA" typedElement="_AT27FFoHEeS2WoXr83SnEA" elementType="_AT27F1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23w1oHEeS2WoXr83SnEA" signature="_AT2651oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23xFoHEeS2WoXr83SnEA" actual="_AT27F1oHEeS2WoXr83SnEA" formal="_AT266FoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT23xVoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT234FoHEeS2WoXr83SnEA" typedElement="_AT25f1oHEeS2WoXr83SnEA" elementType="_AT22bFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23xloHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23x1oHEeS2WoXr83SnEA" actual="_AT22bFoHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT23yFoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT2341oHEeS2WoXr83SnEA" typedElement="_AT25FFoHEeS2WoXr83SnEA" elementType="_AT2481oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23yVoHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23yloHEeS2WoXr83SnEA" actual="_AT2481oHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT23y1oHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT235loHEeS2WoXr83SnEA" typedElement="_AT25SVoHEeS2WoXr83SnEA _AT25dFoHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23zFoHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23zVoHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT23zloHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT2371oHEeS2WoXr83SnEA" typedElement="_AT26KFoHEeS2WoXr83SnEA" elementType="_AT26IloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23z1oHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT230FoHEeS2WoXr83SnEA" actual="_AT26IloHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT230VoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT238loHEeS2WoXr83SnEA" typedElement="_AT24HFoHEeS2WoXr83SnEA _AT2511oHEeS2WoXr83SnEA _AT2561oHEeS2WoXr83SnEA _AT26JFoHEeS2WoXr83SnEA _AT26MloHEeS2WoXr83SnEA _AT26OFoHEeS2WoXr83SnEA _AT26d1oHEeS2WoXr83SnEA"
elementType="_AT26W1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT230loHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2301oHEeS2WoXr83SnEA" actual="_AT26W1oHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT231FoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT24BFoHEeS2WoXr83SnEA" typedElement="_AT27TFoHEeS2WoXr83SnEA" elementType="_AT27UFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT231VoHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT231loHEeS2WoXr83SnEA" actual="_AT27UFoHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT2311oHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT24B1oHEeS2WoXr83SnEA" typedElement="_AT27V1oHEeS2WoXr83SnEA" elementType="_AT27WloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT232FoHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT232VoHEeS2WoXr83SnEA" actual="_AT27WloHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT232loHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT24CloHEeS2WoXr83SnEA" typedElement="_AT27XFoHEeS2WoXr83SnEA" elementType="_AT27X1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2321oHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT233FoHEeS2WoXr83SnEA" actual="_AT27X1oHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT233VoHEeS2WoXr83SnEA" name="Set" unspecializedElement="_AT27OloHEeS2WoXr83SnEA"
superClass="_AT24EFoHEeS2WoXr83SnEA" typedElement="_AT27h1oHEeS2WoXr83SnEA _AT27iloHEeS2WoXr83SnEA _AT27jVoHEeS2WoXr83SnEA" elementType="_AT27g1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT233loHEeS2WoXr83SnEA" signature="_AT27O1oHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2331oHEeS2WoXr83SnEA" actual="_AT27g1oHEeS2WoXr83SnEA" formal="_AT27PFoHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT234FoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT22lloHEeS2WoXr83SnEA" elementType="_AT22bFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT234VoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT234loHEeS2WoXr83SnEA" actual="_AT22bFoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT2341oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT22qFoHEeS2WoXr83SnEA" elementType="_AT2481oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT235FoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT235VoHEeS2WoXr83SnEA" actual="_AT2481oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT235loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT22w1oHEeS2WoXr83SnEA" typedElement="_AT25dloHEeS2WoXr83SnEA" elementType="_AT25NVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2351oHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT236FoHEeS2WoXr83SnEA" actual="_AT25NVoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT236VoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT22yVoHEeS2WoXr83SnEA" elementType="_AT252VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT236loHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2361oHEeS2WoXr83SnEA" actual="_AT252VoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT237FoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT220loHEeS2WoXr83SnEA" typedElement="_AT26l1oHEeS2WoXr83SnEA _AT27QFoHEeS2WoXr83SnEA _AT27hloHEeS2WoXr83SnEA _AT27jFoHEeS2WoXr83SnEA"
elementType="_AT2541oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT237VoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT237loHEeS2WoXr83SnEA" actual="_AT2541oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT2371oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT221VoHEeS2WoXr83SnEA" elementType="_AT26IloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT238FoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT238VoHEeS2WoXr83SnEA" actual="_AT26IloHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT238loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT222FoHEeS2WoXr83SnEA" elementType="_AT26W1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT2381oHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT239FoHEeS2WoXr83SnEA" actual="_AT26W1oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT239VoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT225FoHEeS2WoXr83SnEA" elementType="_AT26q1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT239loHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT2391oHEeS2WoXr83SnEA" actual="_AT26q1oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23-FoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT2251oHEeS2WoXr83SnEA" elementType="_AT26vloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23-VoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23-loHEeS2WoXr83SnEA" actual="_AT26vloHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23-1oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT226loHEeS2WoXr83SnEA" elementType="_AT26w1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23_FoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT23_VoHEeS2WoXr83SnEA" actual="_AT26w1oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT23_loHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT227VoHEeS2WoXr83SnEA" elementType="_AT26lFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT23_1oHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24AFoHEeS2WoXr83SnEA" actual="_AT26lFoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT24AVoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT22_1oHEeS2WoXr83SnEA" elementType="_AT266VoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT24AloHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24A1oHEeS2WoXr83SnEA" actual="_AT266VoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT24BFoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT23CFoHEeS2WoXr83SnEA" elementType="_AT27UFoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT24BVoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24BloHEeS2WoXr83SnEA" actual="_AT27UFoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT24B1oHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT23C1oHEeS2WoXr83SnEA" elementType="_AT27WloHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT24CFoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24CVoHEeS2WoXr83SnEA" actual="_AT27WloHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT24CloHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT23DloHEeS2WoXr83SnEA" elementType="_AT27X1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT24C1oHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24DFoHEeS2WoXr83SnEA" actual="_AT27X1oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT24DVoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT23EVoHEeS2WoXr83SnEA" elementType="_AT27PVoHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT24DloHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24D1oHEeS2WoXr83SnEA" actual="_AT27PVoHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT24EFoHEeS2WoXr83SnEA" name="UniqueCollection" unspecializedElement="_AT27gFoHEeS2WoXr83SnEA"
superClass="_AT23FFoHEeS2WoXr83SnEA" elementType="_AT27g1oHEeS2WoXr83SnEA">
<templateBinding xmi:id="_AT24EVoHEeS2WoXr83SnEA" signature="_AT27gVoHEeS2WoXr83SnEA">
<parameterSubstitution xmi:id="_AT24EloHEeS2WoXr83SnEA" actual="_AT27g1oHEeS2WoXr83SnEA" formal="_AT27gloHEeS2WoXr83SnEA"/>
</templateBinding>
</ownedType>
</nestedPackage>
<nestedPackage xmi:type="flatemofqvt:Library" xmi:id="_AT24E1oHEeS2WoXr83SnEA" name="ocl" nsPrefix="ocl" nsURI="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib">
<ownedComment xmi:id="_AT24FFoHEeS2WoXr83SnEA" 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="_AT24FVoHEeS2WoXr83SnEA" name="Boolean" superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_AT24FloHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24F1oHEeS2WoXr83SnEA" 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="_AT24GFoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24GVoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24GloHEeS2WoXr83SnEA" 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="_AT24G1oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24HFoHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAllInstancesOperation">
<ownedComment xmi:id="_AT24HVoHEeS2WoXr83SnEA" body="Returns oclText[Set{false, true}]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24HloHEeS2WoXr83SnEA" name="and" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isInvalidating="true" isValidating="true" precedence="_AT27mloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24H1oHEeS2WoXr83SnEA" 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="_AT24IFoHEeS2WoXr83SnEA" type="_AT24FVoHEeS2WoXr83SnEA">
<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="_AT24IVoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24IloHEeS2WoXr83SnEA" name="implies" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanImpliesOperation"
isInvalidating="true" isValidating="true" precedence="_AT27nVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24I1oHEeS2WoXr83SnEA" 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="_AT24JFoHEeS2WoXr83SnEA" type="_AT24FVoHEeS2WoXr83SnEA">
<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="_AT24JVoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24JloHEeS2WoXr83SnEA" name="not" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanNotOperation"
precedence="_AT27lVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24J1oHEeS2WoXr83SnEA" 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="_AT24KFoHEeS2WoXr83SnEA" type="_AT24FVoHEeS2WoXr83SnEA">
<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="_AT24KVoHEeS2WoXr83SnEA" name="or" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanOrOperation"
isInvalidating="true" isValidating="true" precedence="_AT27m1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24KloHEeS2WoXr83SnEA" 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="_AT24K1oHEeS2WoXr83SnEA" type="_AT24FVoHEeS2WoXr83SnEA">
<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="_AT24LFoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24LVoHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT24LloHEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24L1oHEeS2WoXr83SnEA" name="xor" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanXorOperation"
precedence="_AT27nFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24MFoHEeS2WoXr83SnEA" 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="_AT24MVoHEeS2WoXr83SnEA" type="_AT24FVoHEeS2WoXr83SnEA">
<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="_AT24MloHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24FloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24GVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24HloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_AT24IFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24IVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24IloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_AT24JFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24JVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24JloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_AT24KFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24KVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_AT24K1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24LFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24L1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OpaqueExpression" href="#_AT24MVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24MloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24ZFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24Z1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24aloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24bVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24cFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24c1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24i1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24jloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24kVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24k1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24lVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24mFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24ploHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24qVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24sloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24v1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24zloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT245loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT249FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT249loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25PVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25QFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25TloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25UVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25YloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25ZVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25d1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25fVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_AT25qFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_AT25rFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_AT25sFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_AT25tFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_AT25uFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Iteration" href="#_AT25w1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT255VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT256FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT2581oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT259loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25-FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT25_loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26AFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26BloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26E1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26FloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26GVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26HFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26LFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26L1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26NFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26NVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26NloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26N1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26PloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26P1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26RFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26SVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26S1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26TFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26U1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26VVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26V1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26Z1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26aVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26bVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26cloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26dFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26eVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26eloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26e1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26fFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26fVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26floHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26f1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26gFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26mFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26mloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT266loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT267FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT27QVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT27Q1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Function" href="hstmtostm.xml#_AT27oVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:IfExp" href="hstmtostm.xml#_AT27pFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT27pVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:IfExp" href="hstmtostm.xml#_AT27qVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT27qloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT27rloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:BooleanLiteralExp" href="hstmtostm.xml#_AT27sloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:BooleanLiteralExp" href="hstmtostm.xml#_AT27s1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT27uloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="hstmtostm.xml#_AT275VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT276VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT276loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT277VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:RelationCallExp" href="hstmtostm.xml#_AT278VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT279VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT279loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:OperationCallExp" href="hstmtostm.xml#_AT27-VoHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_AT24M1oHEeS2WoXr83SnEA" name="Integer" templateParameterSubstitution="_AT22kloHEeS2WoXr83SnEA _AT23VVoHEeS2WoXr83SnEA _AT23ploHEeS2WoXr83SnEA"
superClass="_AT24VVoHEeS2WoXr83SnEA" typedElement="_AT24NFoHEeS2WoXr83SnEA _AT24N1oHEeS2WoXr83SnEA _AT24OloHEeS2WoXr83SnEA _AT24PFoHEeS2WoXr83SnEA _AT24QloHEeS2WoXr83SnEA _AT24RFoHEeS2WoXr83SnEA _AT24R1oHEeS2WoXr83SnEA _AT24SVoHEeS2WoXr83SnEA _AT24SloHEeS2WoXr83SnEA _AT24TVoHEeS2WoXr83SnEA _AT24UFoHEeS2WoXr83SnEA _AT24UloHEeS2WoXr83SnEA _AT24eFoHEeS2WoXr83SnEA _AT24e1oHEeS2WoXr83SnEA _AT24g1oHEeS2WoXr83SnEA _AT24nVoHEeS2WoXr83SnEA _AT24oFoHEeS2WoXr83SnEA _AT24rFoHEeS2WoXr83SnEA _AT24r1oHEeS2WoXr83SnEA _AT24vVoHEeS2WoXr83SnEA _AT24zFoHEeS2WoXr83SnEA _AT24zVoHEeS2WoXr83SnEA _AT240FoHEeS2WoXr83SnEA _AT25OVoHEeS2WoXr83SnEA _AT25O1oHEeS2WoXr83SnEA _AT25S1oHEeS2WoXr83SnEA _AT25j1oHEeS2WoXr83SnEA _AT26H1oHEeS2WoXr83SnEA _AT26iVoHEeS2WoXr83SnEA _AT26jFoHEeS2WoXr83SnEA _AT26sVoHEeS2WoXr83SnEA _AT26x1oHEeS2WoXr83SnEA _AT26yFoHEeS2WoXr83SnEA _AT27BVoHEeS2WoXr83SnEA _AT27G1oHEeS2WoXr83SnEA _AT27HFoHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_AT24NFoHEeS2WoXr83SnEA" name="*" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericTimesOperation"
precedence="_AT27lloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24NVoHEeS2WoXr83SnEA" body="The value of the multiplication of oclText[self] and i."/>
<ownedParameter xmi:id="_AT24NloHEeS2WoXr83SnEA" name="i" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24N1oHEeS2WoXr83SnEA" name="+" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericPlusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24OFoHEeS2WoXr83SnEA" body="The value of the addition of oclText[self] and i."/>
<ownedParameter xmi:id="_AT24OVoHEeS2WoXr83SnEA" name="i" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24OloHEeS2WoXr83SnEA" name="-" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericNegateOperation"
precedence="_AT27lVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24O1oHEeS2WoXr83SnEA" body="The negative value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24PFoHEeS2WoXr83SnEA" name="-" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24PVoHEeS2WoXr83SnEA" body="The value of the subtraction of i from oclText[self]."/>
<ownedParameter xmi:id="_AT24PloHEeS2WoXr83SnEA" name="i" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24P1oHEeS2WoXr83SnEA" name="/" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivideOperation"
precedence="_AT27lloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24QFoHEeS2WoXr83SnEA" body="The value of oclText[self] divided by i.&#xA;Evaluates to oclText[invalid] if r is equal to zero."/>
<ownedParameter xmi:id="_AT24QVoHEeS2WoXr83SnEA" name="i" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24QloHEeS2WoXr83SnEA" name="abs" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericAbsOperation">
<ownedComment xmi:id="_AT24Q1oHEeS2WoXr83SnEA" body="The absolute value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24RFoHEeS2WoXr83SnEA" name="compareTo" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericCompareToOperation">
<ownedComment xmi:id="_AT24RVoHEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="_AT24RloHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24R1oHEeS2WoXr83SnEA" name="div" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivOperation">
<ownedComment xmi:id="_AT24SFoHEeS2WoXr83SnEA" body="The number of times that i fits completely within oclText[self]."/>
<ownedParameter xmi:id="_AT24SVoHEeS2WoXr83SnEA" name="i" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24SloHEeS2WoXr83SnEA" name="max" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMaxOperation">
<ownedComment xmi:id="_AT24S1oHEeS2WoXr83SnEA" body="The maximum of oclText[self] an i."/>
<ownedParameter xmi:id="_AT24TFoHEeS2WoXr83SnEA" name="i" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24TVoHEeS2WoXr83SnEA" name="min" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinOperation">
<ownedComment xmi:id="_AT24TloHEeS2WoXr83SnEA" body="The minimum of oclText[self] an i."/>
<ownedParameter xmi:id="_AT24T1oHEeS2WoXr83SnEA" name="i" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24UFoHEeS2WoXr83SnEA" name="mod" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericModOperation">
<ownedComment xmi:id="_AT24UVoHEeS2WoXr83SnEA" body="The result is oclText[self] modulo i."/>
<ownedParameter xmi:id="_AT24UloHEeS2WoXr83SnEA" name="i" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24U1oHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT24VFoHEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_AT24VVoHEeS2WoXr83SnEA" name="Real" superClass="_AT26EVoHEeS2WoXr83SnEA _AT26XloHEeS2WoXr83SnEA"
typedElement="_AT24P1oHEeS2WoXr83SnEA _AT24VloHEeS2WoXr83SnEA _AT24WVoHEeS2WoXr83SnEA _AT24XFoHEeS2WoXr83SnEA _AT24XloHEeS2WoXr83SnEA _AT24YVoHEeS2WoXr83SnEA _AT24dloHEeS2WoXr83SnEA _AT24fVoHEeS2WoXr83SnEA _AT24gFoHEeS2WoXr83SnEA _AT241loHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_AT24VloHEeS2WoXr83SnEA" name="*" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericTimesOperation"
precedence="_AT27lloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24V1oHEeS2WoXr83SnEA" body="The value of the multiplication of oclText[self] and r."/>
<ownedParameter xmi:id="_AT24WFoHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24WVoHEeS2WoXr83SnEA" name="+" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericPlusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24WloHEeS2WoXr83SnEA" body="The value of the addition of oclText[self] and r."/>
<ownedParameter xmi:id="_AT24W1oHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24XFoHEeS2WoXr83SnEA" name="-" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericNegateOperation"
precedence="_AT27lVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24XVoHEeS2WoXr83SnEA" body="The negative value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24XloHEeS2WoXr83SnEA" name="-" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24X1oHEeS2WoXr83SnEA" body="The value of the subtraction of r from oclText[self]."/>
<ownedParameter xmi:id="_AT24YFoHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24YVoHEeS2WoXr83SnEA" name="/" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericDivideOperation"
precedence="_AT27lloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24YloHEeS2WoXr83SnEA" body="The value of oclText[self] divided by r. Evaluates to oclText[invalid] if r is equal to zero."/>
<ownedParameter xmi:id="_AT24Y1oHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24ZFoHEeS2WoXr83SnEA" name="&lt;" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericLessThanOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24ZVoHEeS2WoXr83SnEA" body="True if oclText[self] is less than r."/>
<ownedParameter xmi:id="_AT24ZloHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24Z1oHEeS2WoXr83SnEA" name="&lt;=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericLessThanEqualOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24aFoHEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to r."/>
<ownedParameter xmi:id="_AT24aVoHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24aloHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24a1oHEeS2WoXr83SnEA" 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="_AT24bFoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24bVoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24bloHEeS2WoXr83SnEA" 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="_AT24b1oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24cFoHEeS2WoXr83SnEA" name=">" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericGreaterThanOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24cVoHEeS2WoXr83SnEA" body="True if oclText[self] is greater than r."/>
<ownedParameter xmi:id="_AT24cloHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24c1oHEeS2WoXr83SnEA" name=">=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericGreaterThanEqualOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24dFoHEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to r."/>
<ownedParameter xmi:id="_AT24dVoHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24dloHEeS2WoXr83SnEA" name="abs" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericAbsOperation">
<ownedComment xmi:id="_AT24d1oHEeS2WoXr83SnEA" body="The absolute value of oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24eFoHEeS2WoXr83SnEA" name="compareTo" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericCompareToOperation">
<ownedComment xmi:id="_AT24eVoHEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="_AT24eloHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24e1oHEeS2WoXr83SnEA" name="floor" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericFloorOperation">
<ownedComment xmi:id="_AT24fFoHEeS2WoXr83SnEA" body="The largest integer that is less than or equal to oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24fVoHEeS2WoXr83SnEA" name="max" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMaxOperation">
<ownedComment xmi:id="_AT24floHEeS2WoXr83SnEA" body="The maximum of oclText[self] and r."/>
<ownedParameter xmi:id="_AT24f1oHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24gFoHEeS2WoXr83SnEA" name="min" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericMinOperation">
<ownedComment xmi:id="_AT24gVoHEeS2WoXr83SnEA" body="The minimum of oclText[self] and r."/>
<ownedParameter xmi:id="_AT24gloHEeS2WoXr83SnEA" name="r" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24g1oHEeS2WoXr83SnEA" name="round" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.NumericRoundOperation">
<ownedComment xmi:id="_AT24hFoHEeS2WoXr83SnEA" body="The integer that is closest to oclText[self]. When there are two such integers, the largest one."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24hVoHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT24hloHEeS2WoXr83SnEA" body="Converts oclText[self] to a string value."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_AT24h1oHEeS2WoXr83SnEA" name="String" templateParameterSubstitution="_AT22lVoHEeS2WoXr83SnEA _AT23WFoHEeS2WoXr83SnEA _AT23qVoHEeS2WoXr83SnEA"
superClass="_AT26EVoHEeS2WoXr83SnEA _AT26XloHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_AT24iFoHEeS2WoXr83SnEA" name="+" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringConcatOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24iVoHEeS2WoXr83SnEA" body="The concatenation of oclText[self] and s."/>
<ownedParameter xmi:id="_AT24iloHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24i1oHEeS2WoXr83SnEA" name="&lt;" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLessThanOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24jFoHEeS2WoXr83SnEA" body="True if oclText[self] is less than s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="_AT24jVoHEeS2WoXr83SnEA" name="s" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24jloHEeS2WoXr83SnEA" name="&lt;=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLessThanEqualOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24j1oHEeS2WoXr83SnEA" 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="_AT24kFoHEeS2WoXr83SnEA" name="s" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24kVoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT24kloHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24k1oHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT24lFoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24lVoHEeS2WoXr83SnEA" name=">" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringGreaterThanOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24lloHEeS2WoXr83SnEA" body="True if oclText[self] is greater than s, using the locale defined by looking up oclLocale in the current environment."/>
<ownedParameter xmi:id="_AT24l1oHEeS2WoXr83SnEA" name="s" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24mFoHEeS2WoXr83SnEA" name=">=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringGreaterThanEqualOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT24mVoHEeS2WoXr83SnEA" 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="_AT24mloHEeS2WoXr83SnEA" name="s" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24m1oHEeS2WoXr83SnEA" name="at" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT24nFoHEeS2WoXr83SnEA" body="Queries the character at position i in oclText[self]."/>
<ownedParameter xmi:id="_AT24nVoHEeS2WoXr83SnEA" name="i" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24nloHEeS2WoXr83SnEA" name="characters" type="_AT23p1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringCharactersOperation">
<ownedComment xmi:id="_AT24n1oHEeS2WoXr83SnEA" body="Obtains the characters of oclText[self] as a sequence."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24oFoHEeS2WoXr83SnEA" name="compareTo" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringCompareToOperation">
<ownedComment xmi:id="_AT24oVoHEeS2WoXr83SnEA" body="The comparison of oclText[self] with oclText[that]. -ve if less than, 0 if equal, +ve if greater than."/>
<ownedParameter xmi:id="_AT24oloHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24o1oHEeS2WoXr83SnEA" name="concat" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringConcatOperation">
<ownedComment xmi:id="_AT24pFoHEeS2WoXr83SnEA" body="The concatenation of oclText[self] and s."/>
<ownedParameter xmi:id="_AT24pVoHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24ploHEeS2WoXr83SnEA" name="endsWith" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringEndsWithOperation">
<ownedComment xmi:id="_AT24p1oHEeS2WoXr83SnEA" body="Returns true if oclText[self] ends with the string s.&#xA;Every string ends with the empty string."/>
<ownedParameter xmi:id="_AT24qFoHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24qVoHEeS2WoXr83SnEA" name="equalsIgnoreCase" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringEqualsIgnoreCaseOperation">
<ownedComment xmi:id="_AT24qloHEeS2WoXr83SnEA" body="Queries whether s and oclText[self] are equivalent under case-insensitive collation."/>
<ownedParameter xmi:id="_AT24q1oHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24rFoHEeS2WoXr83SnEA" name="indexOf" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringIndexOfOperation">
<ownedComment xmi:id="_AT24rVoHEeS2WoXr83SnEA" 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="_AT24rloHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24r1oHEeS2WoXr83SnEA" name="lastIndexOf" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringLastIndexOfOperation">
<ownedComment xmi:id="_AT24sFoHEeS2WoXr83SnEA" 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="_AT24sVoHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24sloHEeS2WoXr83SnEA" name="matches" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringMatchesOperation">
<ownedComment xmi:id="_AT24s1oHEeS2WoXr83SnEA" body="Use a regular expression match and return true if self matches regex, false otherwise."/>
<ownedParameter xmi:id="_AT24tFoHEeS2WoXr83SnEA" name="regex" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24tVoHEeS2WoXr83SnEA" name="replaceAll" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringReplaceAllOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT24tloHEeS2WoXr83SnEA" body="Return a string derived from self by replacing all matches of regex by replacement."/>
<ownedParameter xmi:id="_AT24t1oHEeS2WoXr83SnEA" name="regex" type="_AT24h1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT24uFoHEeS2WoXr83SnEA" name="replacement" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24uVoHEeS2WoXr83SnEA" name="replaceFirst" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringReplaceFirstOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT24uloHEeS2WoXr83SnEA" body="Return a string derived from self by replacing the first match of regex by replacement."/>
<ownedParameter xmi:id="_AT24u1oHEeS2WoXr83SnEA" name="regex" type="_AT24h1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT24vFoHEeS2WoXr83SnEA" name="replacement" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24vVoHEeS2WoXr83SnEA" name="size" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSizeOperation">
<ownedComment xmi:id="_AT24vloHEeS2WoXr83SnEA" body="The number of characters in oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT24v1oHEeS2WoXr83SnEA" name="startsWith" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringStartsWithOperation">
<ownedComment xmi:id="_AT24wFoHEeS2WoXr83SnEA" body="Returns true if oclText[self] starts with the string s.&#xA;Every string starts with the empty string."/>
<ownedParameter xmi:id="_AT24wVoHEeS2WoXr83SnEA" name="s" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24wloHEeS2WoXr83SnEA" name="substituteAll" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstituteAllOperation">
<ownedComment xmi:id="_AT24w1oHEeS2WoXr83SnEA" body="Return a string derived from self by replacing all occurrences of oldSubstring by newSubstring."/>
<ownedParameter xmi:id="_AT24xFoHEeS2WoXr83SnEA" name="oldSubstring" type="_AT24h1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT24xVoHEeS2WoXr83SnEA" name="newSubstring" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24xloHEeS2WoXr83SnEA" name="substituteFirst" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstituteFirstOperation">
<ownedComment xmi:id="_AT24x1oHEeS2WoXr83SnEA" 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="_AT24yFoHEeS2WoXr83SnEA" name="oldSubstring" type="_AT24h1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT24yVoHEeS2WoXr83SnEA" name="newSubstring" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24yloHEeS2WoXr83SnEA" name="substring" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringSubstringOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT24y1oHEeS2WoXr83SnEA" 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="_AT24zFoHEeS2WoXr83SnEA" name="lower" type="_AT24M1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT24zVoHEeS2WoXr83SnEA" name="upper" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24zloHEeS2WoXr83SnEA" name="toBoolean" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToBooleanOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT24z1oHEeS2WoXr83SnEA" body="Converts oclText[self] to a boolean value."/>
</ownedOperation>
<ownedOperation xmi:id="_AT240FoHEeS2WoXr83SnEA" name="toInteger" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToIntegerOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT240VoHEeS2WoXr83SnEA" body="Converts oclText[self] to an Integer value."/>
</ownedOperation>
<ownedOperation xmi:id="_AT240loHEeS2WoXr83SnEA" name="toLower" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToLowerCaseOperation">
<ownedComment xmi:id="_AT2401oHEeS2WoXr83SnEA" body="This is a deprecated variant of toLowerCase() preserving compatibility with traditional Eclipse OCL behaviour."/>
</ownedOperation>
<ownedOperation xmi:id="_AT241FoHEeS2WoXr83SnEA" name="toLowerCase" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToLowerCaseOperation">
<ownedComment xmi:id="_AT241VoHEeS2WoXr83SnEA" 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="_AT241loHEeS2WoXr83SnEA" name="toReal" type="_AT24VVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToRealOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT2411oHEeS2WoXr83SnEA" body="Converts oclText[self] to a Real value."/>
</ownedOperation>
<ownedOperation xmi:id="_AT242FoHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT242VoHEeS2WoXr83SnEA" body="Returns oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT242loHEeS2WoXr83SnEA" name="toUpper" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToUpperCaseOperation">
<ownedComment xmi:id="_AT2421oHEeS2WoXr83SnEA" body="This is a deprecated variant of toUpperCase() preserving compatibility with traditional Eclipse OCL behaviour."/>
</ownedOperation>
<ownedOperation xmi:id="_AT243FoHEeS2WoXr83SnEA" name="toUpperCase" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringToUpperCaseOperation">
<ownedComment xmi:id="_AT243VoHEeS2WoXr83SnEA" 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="_AT243loHEeS2WoXr83SnEA" name="tokenize" type="_AT23p1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="_AT2431oHEeS2WoXr83SnEA" 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="_AT244FoHEeS2WoXr83SnEA" name="tokenize" type="_AT23p1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="_AT244VoHEeS2WoXr83SnEA" body="Partition oclText[self] into a sequence substrings separated by characters in the delimiters. The delimiters are omitted from the return."/>
<ownedParameter xmi:id="_AT244loHEeS2WoXr83SnEA" name="delimiters" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT2441oHEeS2WoXr83SnEA" name="tokenize" type="_AT23p1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTokenizeOperation">
<ownedComment xmi:id="_AT245FoHEeS2WoXr83SnEA" 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="_AT245VoHEeS2WoXr83SnEA" name="delimiters" type="_AT24h1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT245loHEeS2WoXr83SnEA" name="returnDelimiters" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT2451oHEeS2WoXr83SnEA" name="trim" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.string.StringTrimOperation">
<ownedComment xmi:id="_AT246FoHEeS2WoXr83SnEA" body="Return oclText[self] with leading and trailing whitespace removed."/>
</ownedOperation>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24LVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24U1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24hVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24iFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24iloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24m1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24o1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24pVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24qFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24q1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24rloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24sVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24tFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24tVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24t1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24uFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24uVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24u1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24vFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24wVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24wloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24xFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24xVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24xloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24yFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT24yVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT24yloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT240loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT241FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT242FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT242loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT243FoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT244loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT245VoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT2451oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Parameter" href="#_AT26DFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26D1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26TVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Operation" href="#_AT26gVoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="hstmtostm.xml#_AT27vloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="hstmtostm.xml#_AT27w1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="hstmtostm.xml#_AT27xFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="hstmtostm.xml#_AT27zloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:VariableExp" href="hstmtostm.xml#_AT2711oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Variable" href="hstmtostm.xml#_AT272loHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="hstmMM.xml#_AT28E1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="hstmMM.xml#_AT28GFoHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="hstmMM.xml#_AT28HloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="stmMM.xml#_AT28NloHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="stmMM.xml#_AT28O1oHEeS2WoXr83SnEA"/>
<typedElement xmi:type="flatemofqvt:Property" href="stmMM.xml#_AT28QVoHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:PrimitiveType" xmi:id="_AT246VoHEeS2WoXr83SnEA" name="UnlimitedNatural" superClass="_AT24M1oHEeS2WoXr83SnEA">
<ownedOperation xmi:id="_AT246loHEeS2WoXr83SnEA" name="oclAsType" type="_AT247loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.numeric.UnlimitedNaturalOclAsTypeOperation">
<ownedComment xmi:id="_AT2461oHEeS2WoXr83SnEA" 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="_AT247FoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT247VoHEeS2WoXr83SnEA" parameteredElement="_AT247loHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT247loHEeS2WoXr83SnEA" name="TT" templateParameter="_AT247VoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23GVoHEeS2WoXr83SnEA" typedElement="_AT246loHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT2471oHEeS2WoXr83SnEA" name="type" type="_AT23F1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:BagType" xmi:id="_AT248FoHEeS2WoXr83SnEA" name="Bag" superClass="_AT22qFoHEeS2WoXr83SnEA" typedElement="_AT24-VoHEeS2WoXr83SnEA _AT24_FoHEeS2WoXr83SnEA _AT25BFoHEeS2WoXr83SnEA _AT25B1oHEeS2WoXr83SnEA _AT25JVoHEeS2WoXr83SnEA _AT25KVoHEeS2WoXr83SnEA"
elementType="_AT2481oHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT248VoHEeS2WoXr83SnEA" templateBinding="_AT22cFoHEeS2WoXr83SnEA _AT22c1oHEeS2WoXr83SnEA _AT22dloHEeS2WoXr83SnEA _AT22eVoHEeS2WoXr83SnEA _AT22fFoHEeS2WoXr83SnEA _AT22f1oHEeS2WoXr83SnEA _AT22gloHEeS2WoXr83SnEA _AT22hVoHEeS2WoXr83SnEA _AT22iFoHEeS2WoXr83SnEA _AT22i1oHEeS2WoXr83SnEA _AT22jloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT248loHEeS2WoXr83SnEA" parameteredElement="_AT2481oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22cVoHEeS2WoXr83SnEA _AT22dFoHEeS2WoXr83SnEA _AT22d1oHEeS2WoXr83SnEA _AT22eloHEeS2WoXr83SnEA _AT22fVoHEeS2WoXr83SnEA _AT22gFoHEeS2WoXr83SnEA _AT22g1oHEeS2WoXr83SnEA _AT22hloHEeS2WoXr83SnEA _AT22iVoHEeS2WoXr83SnEA _AT22jFoHEeS2WoXr83SnEA _AT22j1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT2481oHEeS2WoXr83SnEA" name="T" templateParameter="_AT248loHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22qloHEeS2WoXr83SnEA _AT23W1oHEeS2WoXr83SnEA _AT23rFoHEeS2WoXr83SnEA _AT23yloHEeS2WoXr83SnEA _AT235VoHEeS2WoXr83SnEA"
typedElement="_AT25BloHEeS2WoXr83SnEA _AT25F1oHEeS2WoXr83SnEA _AT25HloHEeS2WoXr83SnEA _AT25JFoHEeS2WoXr83SnEA _AT25KFoHEeS2WoXr83SnEA _AT25LFoHEeS2WoXr83SnEA _AT25MFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_AT249FoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT249VoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT249loHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT2491oHEeS2WoXr83SnEA" body="True if oclText[self] and bag contain the same elements, the same number of times."/>
<ownedParameter xmi:id="_AT24-FoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24-VoHEeS2WoXr83SnEA" name="excluding" type="_AT248FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_AT24-loHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] apart from all occurrences of object."/>
<ownedParameter xmi:id="_AT24-1oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24_FoHEeS2WoXr83SnEA" name="excludingAll" type="_AT248FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_AT24_VoHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_AT24_loHEeS2WoXr83SnEA" name="objects" type="_AT220loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT24_1oHEeS2WoXr83SnEA" name="flatten" type="_AT22dVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_AT25AFoHEeS2WoXr83SnEA" 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="_AT25AVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25AloHEeS2WoXr83SnEA" parameteredElement="_AT25A1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25A1oHEeS2WoXr83SnEA" name="T2" templateParameter="_AT25AloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22d1oHEeS2WoXr83SnEA _AT22oVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_AT25BFoHEeS2WoXr83SnEA" name="including" type="_AT248FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_AT25BVoHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="_AT25BloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25B1oHEeS2WoXr83SnEA" name="includingAll" type="_AT248FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="_AT25CFoHEeS2WoXr83SnEA" body="The bag containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="_AT25CVoHEeS2WoXr83SnEA" name="objects" type="_AT22qFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25CloHEeS2WoXr83SnEA" name="selectByKind" type="_AT22eFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_AT25C1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25DFoHEeS2WoXr83SnEA" parameteredElement="_AT25DVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25DVoHEeS2WoXr83SnEA" name="TT" templateParameter="_AT25DFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22eloHEeS2WoXr83SnEA _AT22pFoHEeS2WoXr83SnEA _AT23HFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25DloHEeS2WoXr83SnEA" name="type" type="_AT23GloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25D1oHEeS2WoXr83SnEA" name="selectByType" type="_AT22e1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_AT25EFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25EVoHEeS2WoXr83SnEA" parameteredElement="_AT25EloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25EloHEeS2WoXr83SnEA" name="TT" templateParameter="_AT25EVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22fVoHEeS2WoXr83SnEA _AT22p1oHEeS2WoXr83SnEA _AT23H1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25E1oHEeS2WoXr83SnEA" name="type" type="_AT23HVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25FFoHEeS2WoXr83SnEA" name="closure" type="_AT23yFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_AT25FVoHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_AT25FloHEeS2WoXr83SnEA" name="lambda" type="_AT22VloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25F1oHEeS2WoXr83SnEA" name="i" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25GFoHEeS2WoXr83SnEA" name="collectNested" type="_AT22b1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_AT25GVoHEeS2WoXr83SnEA" body="The Bag of elements which results from applying body to every member of the source nonordered collection."/>
<ownedTemplateSignature xmi:id="_AT25GloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25G1oHEeS2WoXr83SnEA" parameteredElement="_AT25HFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25HFoHEeS2WoXr83SnEA" name="V" templateParameter="_AT25G1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22cVoHEeS2WoXr83SnEA _AT22m1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25HVoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22U1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25HloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25H1oHEeS2WoXr83SnEA" name="collect" type="_AT22cloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_AT25IFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25IVoHEeS2WoXr83SnEA" parameteredElement="_AT25IloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25IloHEeS2WoXr83SnEA" name="V" templateParameter="_AT25IVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22dFoHEeS2WoXr83SnEA _AT22nloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25I1oHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22VFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25JFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25JVoHEeS2WoXr83SnEA" name="reject" type="_AT248FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_AT25JloHEeS2WoXr83SnEA" 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="_AT25J1oHEeS2WoXr83SnEA" name="lambda" type="_AT22UloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25KFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25KVoHEeS2WoXr83SnEA" name="select" type="_AT248FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_AT25KloHEeS2WoXr83SnEA" 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="_AT25K1oHEeS2WoXr83SnEA" name="lambda" type="_AT22UloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25LFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25LVoHEeS2WoXr83SnEA" name="sortedBy" type="_AT23qloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_AT25LloHEeS2WoXr83SnEA" 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="_AT25L1oHEeS2WoXr83SnEA" name="lambda" type="_AT22VVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25MFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT2481oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT25MVoHEeS2WoXr83SnEA" name="Class" superClass="_AT2541oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT25MloHEeS2WoXr83SnEA" name="Collection" templateParameterSubstitution="_AT22g1oHEeS2WoXr83SnEA _AT22yFoHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT25V1oHEeS2WoXr83SnEA _AT25WloHEeS2WoXr83SnEA _AT25a1oHEeS2WoXr83SnEA _AT25bloHEeS2WoXr83SnEA _AT25cFoHEeS2WoXr83SnEA _AT25c1oHEeS2WoXr83SnEA _AT25lVoHEeS2WoXr83SnEA _AT25x1oHEeS2WoXr83SnEA _AT25y1oHEeS2WoXr83SnEA"
elementType="_AT25NVoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT25M1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25NFoHEeS2WoXr83SnEA" parameteredElement="_AT25NVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25NVoHEeS2WoXr83SnEA" name="T" templateParameter="_AT25NFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22gFoHEeS2WoXr83SnEA _AT22xVoHEeS2WoXr83SnEA _AT23XloHEeS2WoXr83SnEA _AT23jloHEeS2WoXr83SnEA _AT23r1oHEeS2WoXr83SnEA _AT23zVoHEeS2WoXr83SnEA _AT236FoHEeS2WoXr83SnEA"
typedElement="_AT22bVoHEeS2WoXr83SnEA _AT25N1oHEeS2WoXr83SnEA _AT25bVoHEeS2WoXr83SnEA _AT25eVoHEeS2WoXr83SnEA _AT25e1oHEeS2WoXr83SnEA _AT25kVoHEeS2WoXr83SnEA _AT25lloHEeS2WoXr83SnEA _AT25mVoHEeS2WoXr83SnEA _AT25oFoHEeS2WoXr83SnEA _AT25p1oHEeS2WoXr83SnEA _AT25qloHEeS2WoXr83SnEA _AT25q1oHEeS2WoXr83SnEA _AT25r1oHEeS2WoXr83SnEA _AT25sloHEeS2WoXr83SnEA _AT25s1oHEeS2WoXr83SnEA _AT25t1oHEeS2WoXr83SnEA _AT25u1oHEeS2WoXr83SnEA _AT25wloHEeS2WoXr83SnEA _AT25xloHEeS2WoXr83SnEA _AT25yloHEeS2WoXr83SnEA _AT25zloHEeS2WoXr83SnEA _AT250loHEeS2WoXr83SnEA">
<ownedAttribute xmi:id="_AT25NloHEeS2WoXr83SnEA" name="Collection" type="_AT22gVoHEeS2WoXr83SnEA" implicit="true" opposite="_AT25N1oHEeS2WoXr83SnEA"/>
</ownedParameteredElement>
<templateParameterSubstitution href="#_AT22kloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22lVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22mFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22m1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22nloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22oVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22pFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22p1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22qloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22rVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22sFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22s1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22tloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22uVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22vFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22v1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22wloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22xVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22yFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22y1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22zloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT220VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT221FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2211oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT222loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT223VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT224FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2241oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT225loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT226VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT227FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2271oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT228loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT229VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22-FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22-1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT22_loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23AVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23BFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23B1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23CloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23DVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23EFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23E1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23FloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmtostm.xml#_AT28A1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmMM.xml#_AT28IloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmMM.xml#_AT28JVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="stmMM.xml#_AT28RVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="stmMM.xml#_AT28SFoHEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="#_AT22kVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22lFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22l1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22mloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22nVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22oFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22o1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22ploHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22qVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22rFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22r1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22sloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22tVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22uFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22u1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22vloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22wVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22xFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22x1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22yloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22zVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT220FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2201oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT221loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT222VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT223FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2231oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT224loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT225VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT226FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2261oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT227loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT228VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT229FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2291oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22-loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT22_VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23AFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23A1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23BloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23CVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23DFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23D1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23EloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23FVoHEeS2WoXr83SnEA"/>
<templateBinding href="hstmtostm.xml#_AT28AloHEeS2WoXr83SnEA"/>
<templateBinding href="hstmMM.xml#_AT28IVoHEeS2WoXr83SnEA"/>
<templateBinding href="hstmMM.xml#_AT28JFoHEeS2WoXr83SnEA"/>
<templateBinding href="stmMM.xml#_AT28RFoHEeS2WoXr83SnEA"/>
<templateBinding href="stmMM.xml#_AT28R1oHEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedAttribute xmi:id="_AT25N1oHEeS2WoXr83SnEA" isStatic="true" name="elementType" type="_AT25NVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionElementTypeProperty"
opposite="_AT25NloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT25OFoHEeS2WoXr83SnEA" body="Evaluates to the type of the collection elements."/>
</ownedAttribute>
<ownedAttribute xmi:id="_AT25OVoHEeS2WoXr83SnEA" isStatic="true" name="lower" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionLowerProperty">
<ownedComment xmi:id="_AT25OloHEeS2WoXr83SnEA" body="Evaluates to the lower bound on the number of collection elements."/>
</ownedAttribute>
<ownedAttribute xmi:id="_AT25O1oHEeS2WoXr83SnEA" isStatic="true" name="upper" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUpperProperty">
<ownedComment xmi:id="_AT25PFoHEeS2WoXr83SnEA" body="Evaluates to the upper bound on the number of collection elements."/>
</ownedAttribute>
<ownedOperation xmi:id="_AT25PVoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT25PloHEeS2WoXr83SnEA" body="True if c is not equal to oclText[self]."/>
<ownedParameter xmi:id="_AT25P1oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25QFoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT25QVoHEeS2WoXr83SnEA" 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="_AT25QloHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25Q1oHEeS2WoXr83SnEA" name="asBag" type="_AT22floHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsBagOperation">
<ownedComment xmi:id="_AT25RFoHEeS2WoXr83SnEA" body="The Bag that contains all the elements from oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT25RVoHEeS2WoXr83SnEA" name="asOrderedSet" type="_AT23jFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsOrderedSetOperation">
<ownedComment xmi:id="_AT25RloHEeS2WoXr83SnEA" 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="_AT25R1oHEeS2WoXr83SnEA" name="asSequence" type="_AT23rVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsSequenceOperation">
<ownedComment xmi:id="_AT25SFoHEeS2WoXr83SnEA" 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="_AT25SVoHEeS2WoXr83SnEA" name="asSet" type="_AT23y1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionAsSetOperation">
<ownedComment xmi:id="_AT25SloHEeS2WoXr83SnEA" body="The Set containing all the elements from oclText[self], with duplicates removed."/>
</ownedOperation>
<ownedOperation xmi:id="_AT25S1oHEeS2WoXr83SnEA" name="count" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionCountOperation">
<ownedComment xmi:id="_AT25TFoHEeS2WoXr83SnEA" body="The number of times that object occurs in the collection oclText[self]."/>
<ownedParameter xmi:id="_AT25TVoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25TloHEeS2WoXr83SnEA" name="excludes" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludesOperation">
<ownedComment xmi:id="_AT25T1oHEeS2WoXr83SnEA" body="True if object is not an element of oclText[self], oclText[false] otherwise."/>
<ownedParameter xmi:id="_AT25UFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25UVoHEeS2WoXr83SnEA" name="excludesAll" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludesAllOperation">
<ownedComment xmi:id="_AT25UloHEeS2WoXr83SnEA" body="Does oclText[self] contain none of the elements of c2 ?"/>
<ownedTemplateSignature xmi:id="_AT25U1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25VFoHEeS2WoXr83SnEA" parameteredElement="_AT25VVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25VVoHEeS2WoXr83SnEA" name="T2" templateParameter="_AT25VFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22s1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25VloHEeS2WoXr83SnEA" name="c2" type="_AT22sVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25V1oHEeS2WoXr83SnEA" name="excluding" type="_AT25MloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_AT25WFoHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] apart from object."/>
<ownedParameter xmi:id="_AT25WVoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25WloHEeS2WoXr83SnEA" name="excludingAll" type="_AT25MloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_AT25W1oHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_AT25XFoHEeS2WoXr83SnEA" name="objects" type="_AT220loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25XVoHEeS2WoXr83SnEA" name="flatten" type="_AT22tFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_AT25XloHEeS2WoXr83SnEA" 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="_AT25X1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25YFoHEeS2WoXr83SnEA" parameteredElement="_AT25YVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25YVoHEeS2WoXr83SnEA" name="T2" templateParameter="_AT25YFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22tloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_AT25YloHEeS2WoXr83SnEA" name="includes" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludesOperation">
<ownedComment xmi:id="_AT25Y1oHEeS2WoXr83SnEA" body="True if object is an element of oclText[self], oclText[false] otherwise."/>
<ownedParameter xmi:id="_AT25ZFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25ZVoHEeS2WoXr83SnEA" name="includesAll" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludesAllOperation">
<ownedComment xmi:id="_AT25ZloHEeS2WoXr83SnEA" body="Does oclText[self] contain all the elements of c2 ?"/>
<ownedTemplateSignature xmi:id="_AT25Z1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25aFoHEeS2WoXr83SnEA" parameteredElement="_AT25aVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25aVoHEeS2WoXr83SnEA" name="T2" templateParameter="_AT25aFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22uVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25aloHEeS2WoXr83SnEA" name="c2" type="_AT22t1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25a1oHEeS2WoXr83SnEA" name="including" type="_AT25MloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_AT25bFoHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="_AT25bVoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25bloHEeS2WoXr83SnEA" name="includingAll" type="_AT25MloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="_AT25b1oHEeS2WoXr83SnEA" body="The collection containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="_AT25cFoHEeS2WoXr83SnEA" name="objects" type="_AT25MloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25cVoHEeS2WoXr83SnEA" name="intersection" type="_AT22floHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="_AT25cloHEeS2WoXr83SnEA" body="The intersection of oclText[self] and bag; the bag of all elements that are in both oclText[self] and c."/>
<ownedParameter xmi:id="_AT25c1oHEeS2WoXr83SnEA" name="c" type="_AT25MloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25dFoHEeS2WoXr83SnEA" name="intersection" type="_AT23y1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="_AT25dVoHEeS2WoXr83SnEA" 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="_AT25dloHEeS2WoXr83SnEA" name="u" type="_AT235loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25d1oHEeS2WoXr83SnEA" name="isEmpty" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIsEmptyOperation">
<ownedComment xmi:id="_AT25eFoHEeS2WoXr83SnEA" 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="_AT25eVoHEeS2WoXr83SnEA" name="max" type="_AT25NVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionMaxOperation">
<ownedComment xmi:id="_AT25eloHEeS2WoXr83SnEA" 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="_AT25e1oHEeS2WoXr83SnEA" name="min" type="_AT25NVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionMinOperation">
<ownedComment xmi:id="_AT25fFoHEeS2WoXr83SnEA" 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="_AT25fVoHEeS2WoXr83SnEA" name="notEmpty" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionNotEmptyOperation">
<ownedComment xmi:id="_AT25floHEeS2WoXr83SnEA" 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="_AT25f1oHEeS2WoXr83SnEA" name="product" type="_AT23xVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionProductOperation">
<ownedComment xmi:id="_AT25gFoHEeS2WoXr83SnEA" body="The cartesian product operation of oclText[self] and c2."/>
<ownedTemplateSignature xmi:id="_AT25gVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25gloHEeS2WoXr83SnEA" parameteredElement="_AT25g1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25g1oHEeS2WoXr83SnEA" name="T2" templateParameter="_AT25gloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22vFoHEeS2WoXr83SnEA" typedElement="_AT22bloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25hFoHEeS2WoXr83SnEA" name="c2" type="_AT22uloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25hVoHEeS2WoXr83SnEA" name="selectByKind" type="_AT22vVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_AT25hloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25h1oHEeS2WoXr83SnEA" parameteredElement="_AT25iFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25iFoHEeS2WoXr83SnEA" name="TT" templateParameter="_AT25h1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22v1oHEeS2WoXr83SnEA _AT23IloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25iVoHEeS2WoXr83SnEA" name="type" type="_AT23IFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25iloHEeS2WoXr83SnEA" name="selectByType" type="_AT22wFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_AT25i1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25jFoHEeS2WoXr83SnEA" parameteredElement="_AT25jVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25jVoHEeS2WoXr83SnEA" name="TT" templateParameter="_AT25jFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22wloHEeS2WoXr83SnEA _AT23JVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25jloHEeS2WoXr83SnEA" name="type" type="_AT23I1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25j1oHEeS2WoXr83SnEA" name="size" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSizeOperation">
<ownedComment xmi:id="_AT25kFoHEeS2WoXr83SnEA" body="The number of elements in the collection oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT25kVoHEeS2WoXr83SnEA" name="sum" type="_AT25NVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSumOperation">
<ownedComment xmi:id="_AT25kloHEeS2WoXr83SnEA" 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="_AT25k1oHEeS2WoXr83SnEA" name="union" type="_AT22floHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUnionOperation">
<ownedComment xmi:id="_AT25lFoHEeS2WoXr83SnEA" body="The bag consisting of all elements in oclText[self] and all elements in c."/>
<ownedParameter xmi:id="_AT25lVoHEeS2WoXr83SnEA" name="c" type="_AT25MloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25lloHEeS2WoXr83SnEA" name="any" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.AnyIteration" isInvalidating="true">
<ownedComment xmi:id="_AT25l1oHEeS2WoXr83SnEA" 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="_AT25mFoHEeS2WoXr83SnEA" name="lambda" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25mVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25mloHEeS2WoXr83SnEA" name="collectNested" type="_AT22q1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_AT25m1oHEeS2WoXr83SnEA" body="The Collection of elements which results from applying body to every member of the source collection."/>
<ownedTemplateSignature xmi:id="_AT25nFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25nVoHEeS2WoXr83SnEA" parameteredElement="_AT25nloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25nloHEeS2WoXr83SnEA" name="V" templateParameter="_AT25nVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22rVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25n1oHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22WFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25oFoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25oVoHEeS2WoXr83SnEA" name="collect" type="_AT22rloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedComment xmi:id="_AT25oloHEeS2WoXr83SnEA" 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="_AT25o1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25pFoHEeS2WoXr83SnEA" parameteredElement="_AT25pVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25pVoHEeS2WoXr83SnEA" name="V" templateParameter="_AT25pFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22sFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25ploHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22WVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25p1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25qFoHEeS2WoXr83SnEA" name="exists" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ExistsIteration" isValidating="true">
<ownedParameter xmi:id="_AT25qVoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25qloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25q1oHEeS2WoXr83SnEA" name="j" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25rFoHEeS2WoXr83SnEA" name="exists" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ExistsIteration" isValidating="true">
<ownedComment xmi:id="_AT25rVoHEeS2WoXr83SnEA" body="Results in oclText[true] if body evaluates to oclText[true] for at least one element in the source collection."/>
<ownedParameter xmi:id="_AT25rloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25r1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25sFoHEeS2WoXr83SnEA" name="forAll" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ForAllIteration" isValidating="true">
<ownedParameter xmi:id="_AT25sVoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25sloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25s1oHEeS2WoXr83SnEA" name="j" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25tFoHEeS2WoXr83SnEA" name="forAll" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ForAllIteration" isValidating="true">
<ownedComment xmi:id="_AT25tVoHEeS2WoXr83SnEA" 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="_AT25tloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25t1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25uFoHEeS2WoXr83SnEA" name="isUnique" type="_AT24FVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.IsUniqueIteration">
<ownedComment xmi:id="_AT25uVoHEeS2WoXr83SnEA" 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="_AT25uloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22W1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25u1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25vFoHEeS2WoXr83SnEA" name="iterate" isRequired="false" type="_AT25v1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.IterateIteration">
<ownedTemplateSignature xmi:id="_AT25vVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25vloHEeS2WoXr83SnEA" parameteredElement="_AT25v1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25v1oHEeS2WoXr83SnEA" name="Tacc" templateParameter="_AT25vloHEeS2WoXr83SnEA"
typedElement="_AT25vFoHEeS2WoXr83SnEA _AT25wVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25wFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22WloHEeS2WoXr83SnEA"/>
<ownedAccumulator xmi:id="_AT25wVoHEeS2WoXr83SnEA" name="acc" isRequired="false" type="_AT25v1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25wloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25w1oHEeS2WoXr83SnEA" name="one" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.OneIteration">
<ownedComment xmi:id="_AT25xFoHEeS2WoXr83SnEA" body="Results in oclText[true] if there is exactly one element in the source collection for which body is oclText[true]."/>
<ownedParameter xmi:id="_AT25xVoHEeS2WoXr83SnEA" name="lambda" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25xloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25x1oHEeS2WoXr83SnEA" name="reject" type="_AT25MloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_AT25yFoHEeS2WoXr83SnEA" body="The sub-collection of the source collection for which body is oclText[false]."/>
<ownedParameter xmi:id="_AT25yVoHEeS2WoXr83SnEA" name="lambda" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25yloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25y1oHEeS2WoXr83SnEA" name="select" type="_AT25MloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_AT25zFoHEeS2WoXr83SnEA" body="The sub-collection of the source collection for which body is oclText[true]."/>
<ownedParameter xmi:id="_AT25zVoHEeS2WoXr83SnEA" name="lambda" type="_AT22V1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT25zloHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT25z1oHEeS2WoXr83SnEA" name="sortedBy" type="_AT23rVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_AT250FoHEeS2WoXr83SnEA" 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="_AT250VoHEeS2WoXr83SnEA" name="lambda" type="_AT22W1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT250loHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT25NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT2501oHEeS2WoXr83SnEA" name="Enumeration" templateParameterSubstitution="_AT22hloHEeS2WoXr83SnEA _AT22zloHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT251FoHEeS2WoXr83SnEA" body="The Enumeration type is the type of an OrderedSet of EnumerationLiteral."/>
<ownedAttribute xmi:id="_AT251VoHEeS2WoXr83SnEA" isStatic="true" name="allLiterals" type="_AT23j1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.enumeration.EnumerationOwnedLiteralProperty"
opposite="_AT2521oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT251loHEeS2WoXr83SnEA" body="Evaluates to the literals of the enumeration."/>
</ownedAttribute>
<ownedOperation xmi:id="_AT2511oHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.enumeration.EnumerationAllInstancesOperation">
<ownedComment xmi:id="_AT252FoHEeS2WoXr83SnEA" body="Return a set of all enumeration values of oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT252VoHEeS2WoXr83SnEA" name="EnumerationLiteral" templateParameterSubstitution="_AT22y1oHEeS2WoXr83SnEA _AT23YVoHEeS2WoXr83SnEA _AT23kVoHEeS2WoXr83SnEA _AT2361oHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT252loHEeS2WoXr83SnEA" body="The standard type EnumerationLiteral represents a named constant value of an Enumeration."/>
<ownedAttribute xmi:id="_AT2521oHEeS2WoXr83SnEA" name="Enumeration" type="_AT22hFoHEeS2WoXr83SnEA" implicit="true" opposite="_AT251VoHEeS2WoXr83SnEA"/>
</ownedType>
<ownedType xmi:type="flatemofqvt:Metaclass" xmi:id="_AT253FoHEeS2WoXr83SnEA" name="Metaclass" templateParameterSubstitution="_AT22iVoHEeS2WoXr83SnEA _AT220VoHEeS2WoXr83SnEA"
superClass="_AT25MVoHEeS2WoXr83SnEA _AT26a1oHEeS2WoXr83SnEA" instanceType="_AT2531oHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT253VoHEeS2WoXr83SnEA" templateBinding="_AT23GFoHEeS2WoXr83SnEA _AT23G1oHEeS2WoXr83SnEA _AT23HloHEeS2WoXr83SnEA _AT23IVoHEeS2WoXr83SnEA _AT23JFoHEeS2WoXr83SnEA _AT23J1oHEeS2WoXr83SnEA _AT23KloHEeS2WoXr83SnEA _AT23LVoHEeS2WoXr83SnEA _AT23MFoHEeS2WoXr83SnEA _AT23M1oHEeS2WoXr83SnEA _AT23NloHEeS2WoXr83SnEA _AT23OVoHEeS2WoXr83SnEA _AT23PFoHEeS2WoXr83SnEA _AT23P1oHEeS2WoXr83SnEA _AT23QloHEeS2WoXr83SnEA _AT23RVoHEeS2WoXr83SnEA _AT23SFoHEeS2WoXr83SnEA _AT23S1oHEeS2WoXr83SnEA _AT23TloHEeS2WoXr83SnEA _AT23UVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT253loHEeS2WoXr83SnEA" parameteredElement="_AT2531oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23GVoHEeS2WoXr83SnEA _AT23HFoHEeS2WoXr83SnEA _AT23H1oHEeS2WoXr83SnEA _AT23IloHEeS2WoXr83SnEA _AT23JVoHEeS2WoXr83SnEA _AT23KFoHEeS2WoXr83SnEA _AT23K1oHEeS2WoXr83SnEA _AT23LloHEeS2WoXr83SnEA _AT23MVoHEeS2WoXr83SnEA _AT23NFoHEeS2WoXr83SnEA _AT23N1oHEeS2WoXr83SnEA _AT23OloHEeS2WoXr83SnEA _AT23PVoHEeS2WoXr83SnEA _AT23QFoHEeS2WoXr83SnEA _AT23Q1oHEeS2WoXr83SnEA _AT23RloHEeS2WoXr83SnEA _AT23SVoHEeS2WoXr83SnEA _AT23TFoHEeS2WoXr83SnEA _AT23T1oHEeS2WoXr83SnEA _AT23UloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT2531oHEeS2WoXr83SnEA" name="T" templateParameter="_AT253loHEeS2WoXr83SnEA"
typedElement="_AT254VoHEeS2WoXr83SnEA">
<ownedAttribute xmi:id="_AT254FoHEeS2WoXr83SnEA" name="Metaclass" type="_AT22h1oHEeS2WoXr83SnEA" implicit="true" opposite="_AT254VoHEeS2WoXr83SnEA"/>
</ownedParameteredElement>
</ownedParameter>
</ownedTemplateSignature>
<ownedAttribute xmi:id="_AT254VoHEeS2WoXr83SnEA" name="instanceType" type="_AT2531oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.MetaclassInstanceTypeProperty"
opposite="_AT254FoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT254loHEeS2WoXr83SnEA" body="Evaluates to the type of instances."/>
</ownedAttribute>
</ownedType>
<ownedType xmi:type="flatemofqvt:AnyType" xmi:id="_AT2541oHEeS2WoXr83SnEA" name="OclAny" templateParameterSubstitution="_AT221FoHEeS2WoXr83SnEA _AT237loHEeS2WoXr83SnEA"
typedElement="_AT24-1oHEeS2WoXr83SnEA _AT25TVoHEeS2WoXr83SnEA _AT25UFoHEeS2WoXr83SnEA _AT25WVoHEeS2WoXr83SnEA _AT25ZFoHEeS2WoXr83SnEA _AT26WVoHEeS2WoXr83SnEA _AT26jloHEeS2WoXr83SnEA _AT26pFoHEeS2WoXr83SnEA _AT2691oHEeS2WoXr83SnEA _AT27SFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT255FoHEeS2WoXr83SnEA" 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="_AT255VoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT255loHEeS2WoXr83SnEA" body="True if oclText[self] is a different object from object2. Infix operator."/>
<ownedParameter xmi:id="_AT2551oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT256FoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT256VoHEeS2WoXr83SnEA" body="True if oclText[self] is the same object as object2. Infix operator."/>
<ownedParameter xmi:id="_AT256loHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT2561oHEeS2WoXr83SnEA" name="oclAsSet" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsSetOperation">
<ownedComment xmi:id="_AT257FoHEeS2WoXr83SnEA" 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="_AT257VoHEeS2WoXr83SnEA" name="oclAsType" isRequired="false" type="_AT258VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsTypeOperation">
<ownedComment xmi:id="_AT257loHEeS2WoXr83SnEA" 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="_AT2571oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT258FoHEeS2WoXr83SnEA" parameteredElement="_AT258VoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT258VoHEeS2WoXr83SnEA" name="TT" templateParameter="_AT258FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23KFoHEeS2WoXr83SnEA" typedElement="_AT257VoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT258loHEeS2WoXr83SnEA" name="type" type="_AT23JloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT2581oHEeS2WoXr83SnEA" name="oclIsInState" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInStateOperation">
<ownedComment xmi:id="_AT259FoHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is in the state indentified by statespec."/>
<ownedParameter xmi:id="_AT259VoHEeS2WoXr83SnEA" name="statespec" type="_AT26XVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT259loHEeS2WoXr83SnEA" name="oclIsInvalid" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true">
<ownedComment xmi:id="_AT2591oHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is equal to OclInvalid."/>
</ownedOperation>
<ownedOperation xmi:id="_AT25-FoHEeS2WoXr83SnEA" name="oclIsKindOf" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsKindOfOperation">
<ownedComment xmi:id="_AT25-VoHEeS2WoXr83SnEA" 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="_AT25-loHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT25-1oHEeS2WoXr83SnEA" parameteredElement="_AT25_FoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT25_FoHEeS2WoXr83SnEA" name="T" templateParameter="_AT25-1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23K1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT25_VoHEeS2WoXr83SnEA" name="type" type="_AT23KVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT25_loHEeS2WoXr83SnEA" name="oclIsNew" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_AT25_1oHEeS2WoXr83SnEA" 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="_AT26AFoHEeS2WoXr83SnEA" name="oclIsTypeOf" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsTypeOfOperation">
<ownedComment xmi:id="_AT26AVoHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if oclText[self] is of the type t but not a subtype of t"/>
<ownedTemplateSignature xmi:id="_AT26AloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26A1oHEeS2WoXr83SnEA" parameteredElement="_AT26BFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26BFoHEeS2WoXr83SnEA" name="T" templateParameter="_AT26A1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23LloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT26BVoHEeS2WoXr83SnEA" name="type" type="_AT23LFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26BloHEeS2WoXr83SnEA" name="oclIsUndefined" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true">
<ownedComment xmi:id="_AT26B1oHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if the oclText[self] is equal to oclText[invalid] or equal to oclText[null]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26CFoHEeS2WoXr83SnEA" name="oclLog" type="_AT26W1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclLogOperation">
<ownedComment xmi:id="_AT26CVoHEeS2WoXr83SnEA" body="Evaluates to the self, with the side effect of generating a log message comprising self."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26CloHEeS2WoXr83SnEA" name="oclLog" type="_AT26W1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclLogOperation">
<ownedComment xmi:id="_AT26C1oHEeS2WoXr83SnEA" body="Evaluates to the self, with the side effect of generating a log message comprising message followed by self."/>
<ownedParameter xmi:id="_AT26DFoHEeS2WoXr83SnEA" name="message" type="_AT24h1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26DVoHEeS2WoXr83SnEA" name="oclType" type="_AT23O1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclTypeOperation">
<ownedComment xmi:id="_AT26DloHEeS2WoXr83SnEA" body="Evaluates to the type of which oclText[self] is an instance."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26D1oHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT26EFoHEeS2WoXr83SnEA" body="Returns a string representation of oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT26EVoHEeS2WoXr83SnEA" name="OclComparable" superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26EloHEeS2WoXr83SnEA" 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="_AT26E1oHEeS2WoXr83SnEA" name="&lt;" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableLessThanOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26FFoHEeS2WoXr83SnEA" body="True if oclText[self] is less than oclText[that]."/>
<ownedParameter xmi:id="_AT26FVoHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26FloHEeS2WoXr83SnEA" name="&lt;=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableLessThanEqualOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26F1oHEeS2WoXr83SnEA" body="True if oclText[self] is less than or equal to oclText[that]."/>
<ownedParameter xmi:id="_AT26GFoHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26GVoHEeS2WoXr83SnEA" name=">" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableGreaterThanOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26GloHEeS2WoXr83SnEA" body="True if oclText[self] is greater than oclText[that]."/>
<ownedParameter xmi:id="_AT26G1oHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26HFoHEeS2WoXr83SnEA" name=">=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableGreaterThanEqualOperation"
precedence="_AT27mFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26HVoHEeS2WoXr83SnEA" body="True if oclText[self] is greater than or equal to oclText[that]."/>
<ownedParameter xmi:id="_AT26HloHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26H1oHEeS2WoXr83SnEA" name="compareTo" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclComparableCompareToOperation">
<ownedComment xmi:id="_AT26IFoHEeS2WoXr83SnEA" 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="_AT26IVoHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT26IloHEeS2WoXr83SnEA" name="OclElement" templateParameterSubstitution="_AT2211oHEeS2WoXr83SnEA _AT230FoHEeS2WoXr83SnEA _AT238VoHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT26JloHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26I1oHEeS2WoXr83SnEA" 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="_AT26JFoHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierAllInstancesOperation">
<ownedComment xmi:id="_AT26JVoHEeS2WoXr83SnEA" body="Return a set of all instances of the type and derived types of self."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26JloHEeS2WoXr83SnEA" name="oclContainer" isRequired="false" type="_AT26IloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierOclContainerOperation">
<ownedComment xmi:id="_AT26J1oHEeS2WoXr83SnEA" body="Returns the object for which self is a composed content or null if there is no such object."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26KFoHEeS2WoXr83SnEA" name="oclContents" type="_AT23zloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.ClassifierOclContentsOperation">
<ownedComment xmi:id="_AT26KVoHEeS2WoXr83SnEA" body="Returns the composed contents of self."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:InvalidType" xmi:id="_AT26KloHEeS2WoXr83SnEA" name="OclInvalid" templateParameterSubstitution="_AT23OloHEeS2WoXr83SnEA"
superClass="_AT26cFoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26K1oHEeS2WoXr83SnEA" 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="_AT26LFoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26LVoHEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
<ownedParameter xmi:id="_AT26LloHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26L1oHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26MFoHEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
<ownedParameter xmi:id="_AT26MVoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26MloHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclinvalid.OclInvalidAllInstancesOperation">
<ownedComment xmi:id="_AT26M1oHEeS2WoXr83SnEA" body="Returns oclText[invalid]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26NFoHEeS2WoXr83SnEA" name="and" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isValidating="true" precedence="_AT27mloHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26NVoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26NloHEeS2WoXr83SnEA" name="implies" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanImpliesOperation"
isValidating="true" precedence="_AT27nVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26N1oHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26OFoHEeS2WoXr83SnEA" name="oclAsSet" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsSetOperation"/>
<ownedOperation xmi:id="_AT26OVoHEeS2WoXr83SnEA" name="oclAsType" type="_AT26PFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclAsTypeOperation">
<ownedTemplateSignature xmi:id="_AT26OloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26O1oHEeS2WoXr83SnEA" parameteredElement="_AT26PFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26PFoHEeS2WoXr83SnEA" name="TT" templateParameter="_AT26O1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23MVoHEeS2WoXr83SnEA" typedElement="_AT26OVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT26PVoHEeS2WoXr83SnEA" name="type" type="_AT23L1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26PloHEeS2WoXr83SnEA" name="oclIsInvalid" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true"/>
<ownedOperation xmi:id="_AT26P1oHEeS2WoXr83SnEA" name="oclIsKindOf" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsKindOfOperation">
<ownedTemplateSignature xmi:id="_AT26QFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26QVoHEeS2WoXr83SnEA" parameteredElement="_AT26QloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26QloHEeS2WoXr83SnEA" name="T" templateParameter="_AT26QVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23NFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT26Q1oHEeS2WoXr83SnEA" name="type" type="_AT23MloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26RFoHEeS2WoXr83SnEA" name="oclIsTypeOf" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsTypeOfOperation">
<ownedTemplateSignature xmi:id="_AT26RVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26RloHEeS2WoXr83SnEA" parameteredElement="_AT26R1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26R1oHEeS2WoXr83SnEA" name="T" templateParameter="_AT26RloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23N1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT26SFoHEeS2WoXr83SnEA" name="type" type="_AT23NVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26SVoHEeS2WoXr83SnEA" name="oclIsUndefined" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true"/>
<ownedOperation xmi:id="_AT26SloHEeS2WoXr83SnEA" name="oclType" type="_AT23O1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclTypeOperation"/>
<ownedOperation xmi:id="_AT26S1oHEeS2WoXr83SnEA" name="or" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.logical.BooleanAndOperation"
isValidating="true" precedence="_AT27m1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26TFoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26TVoHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT26TloHEeS2WoXr83SnEA" body="Returns 'invalid'."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT26T1oHEeS2WoXr83SnEA" name="OclLambda" superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26UFoHEeS2WoXr83SnEA" 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="_AT26UVoHEeS2WoXr83SnEA" name="OclMessage" superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26UloHEeS2WoXr83SnEA" 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="_AT26U1oHEeS2WoXr83SnEA" name="hasReturned" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_AT26VFoHEeS2WoXr83SnEA" 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="_AT26VVoHEeS2WoXr83SnEA" name="isOperationCall" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_AT26VloHEeS2WoXr83SnEA" body="Returns oclText[true] if the OclMessage represents the sending of a UML Operation call."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26V1oHEeS2WoXr83SnEA" name="isSignalSent" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_AT26WFoHEeS2WoXr83SnEA" body="Returns oclText[true] if the OclMessage represents the sending of a UML Signal."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26WVoHEeS2WoXr83SnEA" name="result" type="_AT2541oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyUnsupportedOperation">
<ownedComment xmi:id="_AT26WloHEeS2WoXr83SnEA" 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="_AT26W1oHEeS2WoXr83SnEA" name="OclSelf" templateParameterSubstitution="_AT222loHEeS2WoXr83SnEA _AT23PVoHEeS2WoXr83SnEA _AT2301oHEeS2WoXr83SnEA _AT239FoHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT24GFoHEeS2WoXr83SnEA _AT24G1oHEeS2WoXr83SnEA _AT24NloHEeS2WoXr83SnEA _AT24OVoHEeS2WoXr83SnEA _AT24PloHEeS2WoXr83SnEA _AT24QVoHEeS2WoXr83SnEA _AT24RloHEeS2WoXr83SnEA _AT24TFoHEeS2WoXr83SnEA _AT24T1oHEeS2WoXr83SnEA _AT24WFoHEeS2WoXr83SnEA _AT24W1oHEeS2WoXr83SnEA _AT24YFoHEeS2WoXr83SnEA _AT24Y1oHEeS2WoXr83SnEA _AT24ZloHEeS2WoXr83SnEA _AT24aVoHEeS2WoXr83SnEA _AT24bFoHEeS2WoXr83SnEA _AT24b1oHEeS2WoXr83SnEA _AT24cloHEeS2WoXr83SnEA _AT24dVoHEeS2WoXr83SnEA _AT24eloHEeS2WoXr83SnEA _AT24f1oHEeS2WoXr83SnEA _AT24gloHEeS2WoXr83SnEA _AT24jVoHEeS2WoXr83SnEA _AT24kFoHEeS2WoXr83SnEA _AT24kloHEeS2WoXr83SnEA _AT24lFoHEeS2WoXr83SnEA _AT24l1oHEeS2WoXr83SnEA _AT24mloHEeS2WoXr83SnEA _AT24oloHEeS2WoXr83SnEA _AT249VoHEeS2WoXr83SnEA _AT24-FoHEeS2WoXr83SnEA _AT25P1oHEeS2WoXr83SnEA _AT25QloHEeS2WoXr83SnEA _AT2551oHEeS2WoXr83SnEA _AT256loHEeS2WoXr83SnEA _AT26CFoHEeS2WoXr83SnEA _AT26CloHEeS2WoXr83SnEA _AT26FVoHEeS2WoXr83SnEA _AT26GFoHEeS2WoXr83SnEA _AT26G1oHEeS2WoXr83SnEA _AT26HloHEeS2WoXr83SnEA _AT26IVoHEeS2WoXr83SnEA _AT26LloHEeS2WoXr83SnEA _AT26MVoHEeS2WoXr83SnEA _AT26YFoHEeS2WoXr83SnEA _AT26YloHEeS2WoXr83SnEA _AT26Y1oHEeS2WoXr83SnEA _AT26aFoHEeS2WoXr83SnEA _AT26aloHEeS2WoXr83SnEA _AT26c1oHEeS2WoXr83SnEA _AT26dloHEeS2WoXr83SnEA _AT26mVoHEeS2WoXr83SnEA _AT26m1oHEeS2WoXr83SnEA _AT2661oHEeS2WoXr83SnEA _AT267loHEeS2WoXr83SnEA _AT27QloHEeS2WoXr83SnEA _AT27RVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26XFoHEeS2WoXr83SnEA" 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="_AT26XVoHEeS2WoXr83SnEA" name="OclState" superClass="_AT2541oHEeS2WoXr83SnEA" typedElement="_AT259VoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT26XloHEeS2WoXr83SnEA" name="OclSummable" superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26X1oHEeS2WoXr83SnEA" 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="_AT26YFoHEeS2WoXr83SnEA" name="sum" type="_AT26W1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26YVoHEeS2WoXr83SnEA" body="Return the sum of self and that.&#xA;&#xA;The sum operation should be associative."/>
<ownedParameter xmi:id="_AT26YloHEeS2WoXr83SnEA" name="that" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26Y1oHEeS2WoXr83SnEA" name="zero" type="_AT26W1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26ZFoHEeS2WoXr83SnEA" 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="_AT26ZVoHEeS2WoXr83SnEA" name="OclTuple" superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26ZloHEeS2WoXr83SnEA" 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="_AT26Z1oHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26aFoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26aVoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26aloHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT26a1oHEeS2WoXr83SnEA" name="OclType" superClass="_AT26IloHEeS2WoXr83SnEA" typedElement="_AT26b1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26bFoHEeS2WoXr83SnEA" 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="_AT26bVoHEeS2WoXr83SnEA" name="conformsTo" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.classifier.OclTypeConformsToOperation">
<ownedComment xmi:id="_AT26bloHEeS2WoXr83SnEA" body="Returns true if type2 conforms to self."/>
<ownedParameter xmi:id="_AT26b1oHEeS2WoXr83SnEA" name="type2" type="_AT26a1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:VoidType" xmi:id="_AT26cFoHEeS2WoXr83SnEA" name="OclVoid" templateParameterSubstitution="_AT23QFoHEeS2WoXr83SnEA"
superClass="_AT2541oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26cVoHEeS2WoXr83SnEA" 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="_AT26cloHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26c1oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26dFoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26dVoHEeS2WoXr83SnEA" 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="_AT26dloHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26d1oHEeS2WoXr83SnEA" isStatic="true" name="allInstances" type="_AT230VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidAllInstancesOperation">
<ownedComment xmi:id="_AT26eFoHEeS2WoXr83SnEA" body="Returns oclText[Set{null}]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26eVoHEeS2WoXr83SnEA" name="and" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidAndOperation"
precedence="_AT27mloHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26eloHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26e1oHEeS2WoXr83SnEA" name="implies" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidImpliesOperation"
precedence="_AT27nVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26fFoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26fVoHEeS2WoXr83SnEA" name="oclIsInvalid" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsInvalidOperation"
isValidating="true"/>
<ownedOperation xmi:id="_AT26floHEeS2WoXr83SnEA" name="oclIsUndefined" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyOclIsUndefinedOperation"
isValidating="true"/>
<ownedOperation xmi:id="_AT26f1oHEeS2WoXr83SnEA" name="or" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclvoid.OclVoidOrOperation"
precedence="_AT27m1oHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26gFoHEeS2WoXr83SnEA" name="b" isRequired="false" type="_AT24FVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26gVoHEeS2WoXr83SnEA" name="toString" type="_AT24h1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyToStringOperation">
<ownedComment xmi:id="_AT26gloHEeS2WoXr83SnEA" body="Returns oclText[null]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT26g1oHEeS2WoXr83SnEA" name="OrderedCollection" superClass="_AT2221oHEeS2WoXr83SnEA"
elementType="_AT26hloHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT26hFoHEeS2WoXr83SnEA" templateBinding="_AT23VFoHEeS2WoXr83SnEA _AT23V1oHEeS2WoXr83SnEA _AT23WloHEeS2WoXr83SnEA _AT23XVoHEeS2WoXr83SnEA _AT23YFoHEeS2WoXr83SnEA _AT23Y1oHEeS2WoXr83SnEA _AT23ZloHEeS2WoXr83SnEA _AT23aVoHEeS2WoXr83SnEA _AT23bFoHEeS2WoXr83SnEA _AT23b1oHEeS2WoXr83SnEA _AT23cloHEeS2WoXr83SnEA _AT23dVoHEeS2WoXr83SnEA _AT23eFoHEeS2WoXr83SnEA _AT23e1oHEeS2WoXr83SnEA _AT23floHEeS2WoXr83SnEA _AT23gVoHEeS2WoXr83SnEA _AT23hFoHEeS2WoXr83SnEA _AT23h1oHEeS2WoXr83SnEA _AT23iloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26hVoHEeS2WoXr83SnEA" parameteredElement="_AT26hloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23VVoHEeS2WoXr83SnEA _AT23WFoHEeS2WoXr83SnEA _AT23W1oHEeS2WoXr83SnEA _AT23XloHEeS2WoXr83SnEA _AT23YVoHEeS2WoXr83SnEA _AT23ZFoHEeS2WoXr83SnEA _AT23Z1oHEeS2WoXr83SnEA _AT23aloHEeS2WoXr83SnEA _AT23bVoHEeS2WoXr83SnEA _AT23cFoHEeS2WoXr83SnEA _AT23c1oHEeS2WoXr83SnEA _AT23dloHEeS2WoXr83SnEA _AT23eVoHEeS2WoXr83SnEA _AT23fFoHEeS2WoXr83SnEA _AT23f1oHEeS2WoXr83SnEA _AT23gloHEeS2WoXr83SnEA _AT23hVoHEeS2WoXr83SnEA _AT23iFoHEeS2WoXr83SnEA _AT23i1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26hloHEeS2WoXr83SnEA" name="T" templateParameter="_AT26hVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT223VoHEeS2WoXr83SnEA" typedElement="_AT26h1oHEeS2WoXr83SnEA _AT26iloHEeS2WoXr83SnEA _AT26j1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_AT26h1oHEeS2WoXr83SnEA" name="at" isRequired="false" type="_AT26hloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT26iFoHEeS2WoXr83SnEA" body="The i-th element of ordered collection."/>
<ownedParameter xmi:id="_AT26iVoHEeS2WoXr83SnEA" name="index" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26iloHEeS2WoXr83SnEA" name="first" isRequired="false" type="_AT26hloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionFirstOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT26i1oHEeS2WoXr83SnEA" body="The first element in oclText[self]."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26jFoHEeS2WoXr83SnEA" name="indexOf" type="_AT24M1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionIndexOfOperation">
<ownedComment xmi:id="_AT26jVoHEeS2WoXr83SnEA" body="The index of object obj in the ordered collection."/>
<ownedParameter xmi:id="_AT26jloHEeS2WoXr83SnEA" name="obj" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26j1oHEeS2WoXr83SnEA" name="last" isRequired="false" type="_AT26hloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionLastOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT26kFoHEeS2WoXr83SnEA" body="The last element in oclText[self]."/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:OrderedSetType" xmi:id="_AT26kVoHEeS2WoXr83SnEA" name="OrderedSet" superClass="_AT23cVoHEeS2WoXr83SnEA _AT23_loHEeS2WoXr83SnEA"
typedElement="_AT26lVoHEeS2WoXr83SnEA _AT26nFoHEeS2WoXr83SnEA _AT26n1oHEeS2WoXr83SnEA _AT26oloHEeS2WoXr83SnEA _AT26pVoHEeS2WoXr83SnEA _AT26rFoHEeS2WoXr83SnEA _AT26r1oHEeS2WoXr83SnEA _AT26s1oHEeS2WoXr83SnEA _AT26tloHEeS2WoXr83SnEA _AT26uVoHEeS2WoXr83SnEA _AT26xVoHEeS2WoXr83SnEA _AT26yVoHEeS2WoXr83SnEA _AT262loHEeS2WoXr83SnEA _AT263loHEeS2WoXr83SnEA _AT264loHEeS2WoXr83SnEA"
elementType="_AT26lFoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT26kloHEeS2WoXr83SnEA" templateBinding="_AT23jVoHEeS2WoXr83SnEA _AT23kFoHEeS2WoXr83SnEA _AT23k1oHEeS2WoXr83SnEA _AT23lloHEeS2WoXr83SnEA _AT23mVoHEeS2WoXr83SnEA _AT23nFoHEeS2WoXr83SnEA _AT23n1oHEeS2WoXr83SnEA _AT23oloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26k1oHEeS2WoXr83SnEA" parameteredElement="_AT26lFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23jloHEeS2WoXr83SnEA _AT23kVoHEeS2WoXr83SnEA _AT23lFoHEeS2WoXr83SnEA _AT23l1oHEeS2WoXr83SnEA _AT23mloHEeS2WoXr83SnEA _AT23nVoHEeS2WoXr83SnEA _AT23oFoHEeS2WoXr83SnEA _AT23o1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26lFoHEeS2WoXr83SnEA" name="T" templateParameter="_AT26k1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT2271oHEeS2WoXr83SnEA _AT23c1oHEeS2WoXr83SnEA _AT24AFoHEeS2WoXr83SnEA" typedElement="_AT26nloHEeS2WoXr83SnEA _AT26rloHEeS2WoXr83SnEA _AT26sloHEeS2WoXr83SnEA _AT26tVoHEeS2WoXr83SnEA _AT26zFoHEeS2WoXr83SnEA _AT2601oHEeS2WoXr83SnEA _AT262VoHEeS2WoXr83SnEA _AT263VoHEeS2WoXr83SnEA _AT264VoHEeS2WoXr83SnEA _AT265VoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_AT26lVoHEeS2WoXr83SnEA" name="-" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT26lloHEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="_AT26l1oHEeS2WoXr83SnEA" name="s" type="_AT237FoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26mFoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26mVoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26mloHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT26m1oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26nFoHEeS2WoXr83SnEA" name="append" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendOperation">
<ownedComment xmi:id="_AT26nVoHEeS2WoXr83SnEA" body="The set of elements, consisting of all elements of oclText[self], followed by object."/>
<ownedParameter xmi:id="_AT26nloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26n1oHEeS2WoXr83SnEA" name="appendAll" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendAllOperation">
<ownedComment xmi:id="_AT26oFoHEeS2WoXr83SnEA" body="The set of elements, consisting of all elements of oclText[self], followed by objects."/>
<ownedParameter xmi:id="_AT26oVoHEeS2WoXr83SnEA" name="objects" type="_AT23cVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26oloHEeS2WoXr83SnEA" name="excluding" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_AT26o1oHEeS2WoXr83SnEA" 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="_AT26pFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26pVoHEeS2WoXr83SnEA" name="excludingAll" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_AT26ploHEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_AT26p1oHEeS2WoXr83SnEA" name="objects" type="_AT220loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26qFoHEeS2WoXr83SnEA" name="flatten" type="_AT23kloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedTemplateSignature xmi:id="_AT26qVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26qloHEeS2WoXr83SnEA" parameteredElement="_AT26q1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26q1oHEeS2WoXr83SnEA" name="T2" templateParameter="_AT26qloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT225loHEeS2WoXr83SnEA _AT23aloHEeS2WoXr83SnEA _AT23lFoHEeS2WoXr83SnEA _AT2391oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_AT26rFoHEeS2WoXr83SnEA" name="including" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_AT26rVoHEeS2WoXr83SnEA" body="The ordered set containing all elements of oclText[self] plus object added as the last element if not already present."/>
<ownedParameter xmi:id="_AT26rloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26r1oHEeS2WoXr83SnEA" name="insertAt" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionInsertAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT26sFoHEeS2WoXr83SnEA" body="The ordered set consisting of oclText[self] with object present at position index."/>
<ownedParameter xmi:id="_AT26sVoHEeS2WoXr83SnEA" name="index" type="_AT24M1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT26sloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26s1oHEeS2WoXr83SnEA" name="prepend" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependOperation">
<ownedComment xmi:id="_AT26tFoHEeS2WoXr83SnEA" body="The sequence consisting of object, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_AT26tVoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26tloHEeS2WoXr83SnEA" name="prependAll" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependAllOperation">
<ownedComment xmi:id="_AT26t1oHEeS2WoXr83SnEA" body="The sequence consisting of objects, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_AT26uFoHEeS2WoXr83SnEA" name="objects" type="_AT23cVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26uVoHEeS2WoXr83SnEA" name="reverse" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionReverseOperation">
<ownedComment xmi:id="_AT26uloHEeS2WoXr83SnEA" body="The ordered set of elements with same elements but with the opposite order."/>
</ownedOperation>
<ownedOperation xmi:id="_AT26u1oHEeS2WoXr83SnEA" name="selectByKind" type="_AT23lVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_AT26vFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26vVoHEeS2WoXr83SnEA" parameteredElement="_AT26vloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26vloHEeS2WoXr83SnEA" name="TT" templateParameter="_AT26vVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT226VoHEeS2WoXr83SnEA _AT23Q1oHEeS2WoXr83SnEA _AT23bVoHEeS2WoXr83SnEA _AT23l1oHEeS2WoXr83SnEA _AT23-loHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT26v1oHEeS2WoXr83SnEA" name="type" type="_AT23QVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26wFoHEeS2WoXr83SnEA" name="selectByType" type="_AT23mFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_AT26wVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26wloHEeS2WoXr83SnEA" parameteredElement="_AT26w1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26w1oHEeS2WoXr83SnEA" name="TT" templateParameter="_AT26wloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT227FoHEeS2WoXr83SnEA _AT23RloHEeS2WoXr83SnEA _AT23cFoHEeS2WoXr83SnEA _AT23mloHEeS2WoXr83SnEA _AT23_VoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT26xFoHEeS2WoXr83SnEA" name="type" type="_AT23RFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26xVoHEeS2WoXr83SnEA" name="subOrderedSet" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedSetSubOrderedSetOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT26xloHEeS2WoXr83SnEA" body="The sub-set of oclText[self] starting at number lower, up to and including element number upper."/>
<ownedParameter xmi:id="_AT26x1oHEeS2WoXr83SnEA" name="lower" type="_AT24M1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT26yFoHEeS2WoXr83SnEA" name="upper" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT26yVoHEeS2WoXr83SnEA" name="closure" type="_AT26kVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_AT26yloHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_AT26y1oHEeS2WoXr83SnEA" name="lambda" type="_AT22XloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT26zFoHEeS2WoXr83SnEA" name="i" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT26zVoHEeS2WoXr83SnEA" name="collectNested" type="_AT23sFoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_AT26zloHEeS2WoXr83SnEA" body="The sequence of elements that results from applying body to every member of the source ordered collection."/>
<ownedTemplateSignature xmi:id="_AT26z1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT260FoHEeS2WoXr83SnEA" parameteredElement="_AT260VoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT260VoHEeS2WoXr83SnEA" name="V" templateParameter="_AT260FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT224FoHEeS2WoXr83SnEA _AT23ZFoHEeS2WoXr83SnEA _AT23sloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT260loHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22X1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT2601oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT261FoHEeS2WoXr83SnEA" name="collect" type="_AT23s1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_AT261VoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT261loHEeS2WoXr83SnEA" parameteredElement="_AT2611oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT2611oHEeS2WoXr83SnEA" name="V" templateParameter="_AT261loHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT2241oHEeS2WoXr83SnEA _AT23Z1oHEeS2WoXr83SnEA _AT23tVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT262FoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22YFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT262VoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT262loHEeS2WoXr83SnEA" name="reject" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_AT2621oHEeS2WoXr83SnEA" body="The ordered set of the source ordered set for which body is oclText[false]."/>
<ownedParameter xmi:id="_AT263FoHEeS2WoXr83SnEA" name="lambda" type="_AT22XFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT263VoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT263loHEeS2WoXr83SnEA" name="select" type="_AT26kVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_AT2631oHEeS2WoXr83SnEA" body="The ordered set of the source ordered set for which body is oclText[true]"/>
<ownedParameter xmi:id="_AT264FoHEeS2WoXr83SnEA" name="lambda" type="_AT22XFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT264VoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT264loHEeS2WoXr83SnEA" name="sortedBy" type="_AT26kVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_AT2641oHEeS2WoXr83SnEA" 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="_AT265FoHEeS2WoXr83SnEA" name="lambda" type="_AT22XVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT265VoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT26lFoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SequenceType" xmi:id="_AT265loHEeS2WoXr83SnEA" name="Sequence" superClass="_AT23g1oHEeS2WoXr83SnEA"
typedElement="_AT2671oHEeS2WoXr83SnEA _AT268loHEeS2WoXr83SnEA _AT269VoHEeS2WoXr83SnEA _AT26-FoHEeS2WoXr83SnEA _AT27AFoHEeS2WoXr83SnEA _AT27A1oHEeS2WoXr83SnEA _AT27B1oHEeS2WoXr83SnEA _AT27CloHEeS2WoXr83SnEA _AT27DVoHEeS2WoXr83SnEA _AT27GVoHEeS2WoXr83SnEA _AT27LloHEeS2WoXr83SnEA _AT27MloHEeS2WoXr83SnEA _AT27NloHEeS2WoXr83SnEA"
elementType="_AT266VoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT2651oHEeS2WoXr83SnEA" templateBinding="_AT23pVoHEeS2WoXr83SnEA _AT23qFoHEeS2WoXr83SnEA _AT23q1oHEeS2WoXr83SnEA _AT23rloHEeS2WoXr83SnEA _AT23sVoHEeS2WoXr83SnEA _AT23tFoHEeS2WoXr83SnEA _AT23t1oHEeS2WoXr83SnEA _AT23uloHEeS2WoXr83SnEA _AT23vVoHEeS2WoXr83SnEA _AT23wFoHEeS2WoXr83SnEA _AT23w1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT266FoHEeS2WoXr83SnEA" parameteredElement="_AT266VoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23ploHEeS2WoXr83SnEA _AT23qVoHEeS2WoXr83SnEA _AT23rFoHEeS2WoXr83SnEA _AT23r1oHEeS2WoXr83SnEA _AT23sloHEeS2WoXr83SnEA _AT23tVoHEeS2WoXr83SnEA _AT23uFoHEeS2WoXr83SnEA _AT23u1oHEeS2WoXr83SnEA _AT23vloHEeS2WoXr83SnEA _AT23wVoHEeS2WoXr83SnEA _AT23xFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT266VoHEeS2WoXr83SnEA" name="T" templateParameter="_AT266FoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23AVoHEeS2WoXr83SnEA _AT23hVoHEeS2WoXr83SnEA _AT23nVoHEeS2WoXr83SnEA _AT24A1oHEeS2WoXr83SnEA"
typedElement="_AT268VoHEeS2WoXr83SnEA _AT27AloHEeS2WoXr83SnEA _AT27BloHEeS2WoXr83SnEA _AT27CVoHEeS2WoXr83SnEA _AT27IFoHEeS2WoXr83SnEA _AT27J1oHEeS2WoXr83SnEA _AT27LVoHEeS2WoXr83SnEA _AT27MVoHEeS2WoXr83SnEA _AT27NVoHEeS2WoXr83SnEA _AT27OVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedOperation xmi:id="_AT266loHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT2661oHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT267FoHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT267VoHEeS2WoXr83SnEA" body="True if oclText[self] contains the same elements as s in the same order."/>
<ownedParameter xmi:id="_AT267loHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT2671oHEeS2WoXr83SnEA" name="append" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendOperation">
<ownedComment xmi:id="_AT268FoHEeS2WoXr83SnEA" body="The sequence of elements, consisting of all elements of oclText[self], followed by object."/>
<ownedParameter xmi:id="_AT268VoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT268loHEeS2WoXr83SnEA" name="appendAll" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionAppendAllOperation">
<ownedComment xmi:id="_AT2681oHEeS2WoXr83SnEA" body="The sequence of elements, consisting of all elements of oclText[self], followed by objects."/>
<ownedParameter xmi:id="_AT269FoHEeS2WoXr83SnEA" name="objects" type="_AT23g1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT269VoHEeS2WoXr83SnEA" name="excluding" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_AT269loHEeS2WoXr83SnEA" 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="_AT2691oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26-FoHEeS2WoXr83SnEA" name="excludingAll" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_AT26-VoHEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_AT26-loHEeS2WoXr83SnEA" name="objects" type="_AT220loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT26-1oHEeS2WoXr83SnEA" name="flatten" type="_AT23vFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_AT26_FoHEeS2WoXr83SnEA" 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="_AT26_VoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT26_loHEeS2WoXr83SnEA" parameteredElement="_AT26_1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT26_1oHEeS2WoXr83SnEA" name="T2" templateParameter="_AT26_loHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22-FoHEeS2WoXr83SnEA _AT23fFoHEeS2WoXr83SnEA _AT23vloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_AT27AFoHEeS2WoXr83SnEA" name="including" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_AT27AVoHEeS2WoXr83SnEA" body="The sequence containing all elements of oclText[self] plus object added as the last element."/>
<ownedParameter xmi:id="_AT27AloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27A1oHEeS2WoXr83SnEA" name="insertAt" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionInsertAtOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT27BFoHEeS2WoXr83SnEA" body="The sequence consisting of oclText[self] with object inserted at position index."/>
<ownedParameter xmi:id="_AT27BVoHEeS2WoXr83SnEA" name="index" type="_AT24M1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT27BloHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27B1oHEeS2WoXr83SnEA" name="prepend" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependOperation">
<ownedComment xmi:id="_AT27CFoHEeS2WoXr83SnEA" body="The sequence consisting of object, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_AT27CVoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27CloHEeS2WoXr83SnEA" name="prependAll" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionPrependAllOperation">
<ownedComment xmi:id="_AT27C1oHEeS2WoXr83SnEA" body="The sequence consisting of objects, followed by all elements in oclText[self]."/>
<ownedParameter xmi:id="_AT27DFoHEeS2WoXr83SnEA" name="objects" type="_AT23g1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27DVoHEeS2WoXr83SnEA" name="reverse" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.OrderedCollectionReverseOperation">
<ownedComment xmi:id="_AT27DloHEeS2WoXr83SnEA" body="The sequence containing the same elements but with the opposite order."/>
</ownedOperation>
<ownedOperation xmi:id="_AT27D1oHEeS2WoXr83SnEA" name="selectByKind" type="_AT23v1oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_AT27EFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27EVoHEeS2WoXr83SnEA" parameteredElement="_AT27EloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27EloHEeS2WoXr83SnEA" name="TT" templateParameter="_AT27EVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22-1oHEeS2WoXr83SnEA _AT23SVoHEeS2WoXr83SnEA _AT23f1oHEeS2WoXr83SnEA _AT23wVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27E1oHEeS2WoXr83SnEA" name="type" type="_AT23R1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27FFoHEeS2WoXr83SnEA" name="selectByType" type="_AT23wloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_AT27FVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27FloHEeS2WoXr83SnEA" parameteredElement="_AT27F1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27F1oHEeS2WoXr83SnEA" name="TT" templateParameter="_AT27FloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22_loHEeS2WoXr83SnEA _AT23TFoHEeS2WoXr83SnEA _AT23gloHEeS2WoXr83SnEA _AT23xFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27GFoHEeS2WoXr83SnEA" name="type" type="_AT23SloHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27GVoHEeS2WoXr83SnEA" name="subSequence" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SequenceSubSequenceOperation"
isInvalidating="true">
<ownedComment xmi:id="_AT27GloHEeS2WoXr83SnEA" body="The sub-sequence of oclText[self] starting at number lower, up to and including element number upper."/>
<ownedParameter xmi:id="_AT27G1oHEeS2WoXr83SnEA" name="lower" type="_AT24M1oHEeS2WoXr83SnEA"/>
<ownedParameter xmi:id="_AT27HFoHEeS2WoXr83SnEA" name="upper" type="_AT24M1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27HVoHEeS2WoXr83SnEA" name="closure" type="_AT23m1oHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_AT27HloHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_AT27H1oHEeS2WoXr83SnEA" name="lambda" type="_AT22Y1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27IFoHEeS2WoXr83SnEA" name="i" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27IVoHEeS2WoXr83SnEA" name="collectNested" type="_AT23tloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_AT27IloHEeS2WoXr83SnEA" body="The sequence of elements that results from applying body to every member of the source ordered collection."/>
<ownedTemplateSignature xmi:id="_AT27I1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27JFoHEeS2WoXr83SnEA" parameteredElement="_AT27JVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27JVoHEeS2WoXr83SnEA" name="V" templateParameter="_AT27JFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT228loHEeS2WoXr83SnEA _AT23dloHEeS2WoXr83SnEA _AT23uFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27JloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22ZFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27J1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27KFoHEeS2WoXr83SnEA" name="collect" type="_AT23uVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_AT27KVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27KloHEeS2WoXr83SnEA" parameteredElement="_AT27K1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27K1oHEeS2WoXr83SnEA" name="V" templateParameter="_AT27KloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT229VoHEeS2WoXr83SnEA _AT23eVoHEeS2WoXr83SnEA _AT23u1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27LFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22ZVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27LVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27LloHEeS2WoXr83SnEA" name="reject" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_AT27L1oHEeS2WoXr83SnEA" body="The subsequence of the source sequence for which body is oclText[false]."/>
<ownedParameter xmi:id="_AT27MFoHEeS2WoXr83SnEA" name="lambda" type="_AT22YVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27MVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27MloHEeS2WoXr83SnEA" name="select" type="_AT265loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_AT27M1oHEeS2WoXr83SnEA" body="The subsequence of the source sequence for which body is oclText[true]."/>
<ownedParameter xmi:id="_AT27NFoHEeS2WoXr83SnEA" name="lambda" type="_AT22YVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27NVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27NloHEeS2WoXr83SnEA" name="sortedBy" type="_AT265loHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_AT27N1oHEeS2WoXr83SnEA" 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="_AT27OFoHEeS2WoXr83SnEA" name="lambda" type="_AT22YloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27OVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT266VoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:SetType" xmi:id="_AT27OloHEeS2WoXr83SnEA" name="Set" superClass="_AT24DVoHEeS2WoXr83SnEA" typedElement="_AT27PloHEeS2WoXr83SnEA _AT27RloHEeS2WoXr83SnEA _AT27SVoHEeS2WoXr83SnEA _AT27UVoHEeS2WoXr83SnEA _AT27VFoHEeS2WoXr83SnEA _AT27YVoHEeS2WoXr83SnEA _AT27cloHEeS2WoXr83SnEA _AT27dloHEeS2WoXr83SnEA"
elementType="_AT27PVoHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT27O1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27PFoHEeS2WoXr83SnEA" parameteredElement="_AT27PVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27PVoHEeS2WoXr83SnEA" name="T" templateParameter="_AT27PFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23E1oHEeS2WoXr83SnEA _AT23iFoHEeS2WoXr83SnEA _AT23oFoHEeS2WoXr83SnEA _AT24D1oHEeS2WoXr83SnEA"
typedElement="_AT27U1oHEeS2WoXr83SnEA _AT27ZFoHEeS2WoXr83SnEA _AT27a1oHEeS2WoXr83SnEA _AT27cVoHEeS2WoXr83SnEA _AT27dVoHEeS2WoXr83SnEA _AT27eVoHEeS2WoXr83SnEA _AT27fVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23x1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23yloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23zVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT230FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2301oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT231loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT232VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT233FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2331oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmtostm.xml#_AT28BloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmMM.xml#_AT28KFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmMM.xml#_AT28K1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="stmMM.xml#_AT28S1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="stmMM.xml#_AT28TloHEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="#_AT23xloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23yVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23zFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23z1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT230loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT231VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT232FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2321oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT233loHEeS2WoXr83SnEA"/>
<templateBinding href="hstmtostm.xml#_AT28BVoHEeS2WoXr83SnEA"/>
<templateBinding href="hstmMM.xml#_AT28J1oHEeS2WoXr83SnEA"/>
<templateBinding href="hstmMM.xml#_AT28KloHEeS2WoXr83SnEA"/>
<templateBinding href="stmMM.xml#_AT28SloHEeS2WoXr83SnEA"/>
<templateBinding href="stmMM.xml#_AT28TVoHEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="_AT27PloHEeS2WoXr83SnEA" name="-" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT27P1oHEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="_AT27QFoHEeS2WoXr83SnEA" name="s" type="_AT237FoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27QVoHEeS2WoXr83SnEA" name="&lt;>" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyNotEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedParameter xmi:id="_AT27QloHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27Q1oHEeS2WoXr83SnEA" name="=" type="_AT24FVoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.oclany.OclAnyEqualOperation"
precedence="_AT27mVoHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT27RFoHEeS2WoXr83SnEA" body="Evaluates to oclText[true] if oclText[self] and s contain the same elements."/>
<ownedParameter xmi:id="_AT27RVoHEeS2WoXr83SnEA" name="object2" type="_AT26W1oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27RloHEeS2WoXr83SnEA" name="excluding" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingOperation">
<ownedComment xmi:id="_AT27R1oHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] without object."/>
<ownedParameter xmi:id="_AT27SFoHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT2541oHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27SVoHEeS2WoXr83SnEA" name="excludingAll" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionExcludingAllOperation">
<ownedComment xmi:id="_AT27SloHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] apart from all occurrences of all objects."/>
<ownedParameter xmi:id="_AT27S1oHEeS2WoXr83SnEA" name="objects" type="_AT220loHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27TFoHEeS2WoXr83SnEA" name="flatten" type="_AT231FoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionFlattenOperation">
<ownedComment xmi:id="_AT27TVoHEeS2WoXr83SnEA" 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="_AT27TloHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27T1oHEeS2WoXr83SnEA" parameteredElement="_AT27UFoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27UFoHEeS2WoXr83SnEA" name="T2" templateParameter="_AT27T1oHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23CloHEeS2WoXr83SnEA _AT231loHEeS2WoXr83SnEA _AT24BloHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
</ownedOperation>
<ownedOperation xmi:id="_AT27UVoHEeS2WoXr83SnEA" name="including" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingOperation">
<ownedComment xmi:id="_AT27UloHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] plus object."/>
<ownedParameter xmi:id="_AT27U1oHEeS2WoXr83SnEA" name="object" isRequired="false" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27VFoHEeS2WoXr83SnEA" name="includingAll" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIncludingAllOperation">
<ownedComment xmi:id="_AT27VVoHEeS2WoXr83SnEA" body="The set containing all elements of oclText[self] and objects."/>
<ownedParameter xmi:id="_AT27VloHEeS2WoXr83SnEA" name="objects" type="_AT23EVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27V1oHEeS2WoXr83SnEA" name="selectByKind" type="_AT2311oHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByKindOperation">
<ownedTemplateSignature xmi:id="_AT27WFoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27WVoHEeS2WoXr83SnEA" parameteredElement="_AT27WloHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27WloHEeS2WoXr83SnEA" name="TT" templateParameter="_AT27WVoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23DVoHEeS2WoXr83SnEA _AT23T1oHEeS2WoXr83SnEA _AT232VoHEeS2WoXr83SnEA _AT24CVoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27W1oHEeS2WoXr83SnEA" name="type" type="_AT23TVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27XFoHEeS2WoXr83SnEA" name="selectByType" type="_AT232loHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionSelectByTypeOperation">
<ownedTemplateSignature xmi:id="_AT27XVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27XloHEeS2WoXr83SnEA" parameteredElement="_AT27X1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27X1oHEeS2WoXr83SnEA" name="TT" templateParameter="_AT27XloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23EFoHEeS2WoXr83SnEA _AT23UloHEeS2WoXr83SnEA _AT233FoHEeS2WoXr83SnEA _AT24DFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27YFoHEeS2WoXr83SnEA" name="type" type="_AT23UFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27YVoHEeS2WoXr83SnEA" name="closure" type="_AT27OloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.ClosureIteration">
<ownedComment xmi:id="_AT27YloHEeS2WoXr83SnEA" body="The closure of applying body transitively to every distinct element of the source collection."/>
<ownedParameter xmi:id="_AT27Y1oHEeS2WoXr83SnEA" name="lambda" type="_AT22aFoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27ZFoHEeS2WoXr83SnEA" name="i" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27ZVoHEeS2WoXr83SnEA" name="collectNested" type="_AT22iloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectNestedIteration">
<ownedComment xmi:id="_AT27ZloHEeS2WoXr83SnEA" body="The Bag of elements which results from applying body to every member of the source nonordered collection."/>
<ownedTemplateSignature xmi:id="_AT27Z1oHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27aFoHEeS2WoXr83SnEA" parameteredElement="_AT27aVoHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27aVoHEeS2WoXr83SnEA" name="V" templateParameter="_AT27aFoHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22jFoHEeS2WoXr83SnEA _AT23BFoHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27aloHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22aVoHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27a1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27bFoHEeS2WoXr83SnEA" name="collect" type="_AT22jVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.CollectIteration">
<ownedTemplateSignature xmi:id="_AT27bVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27bloHEeS2WoXr83SnEA" parameteredElement="_AT27b1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27b1oHEeS2WoXr83SnEA" name="V" templateParameter="_AT27bloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT22j1oHEeS2WoXr83SnEA _AT23B1oHEeS2WoXr83SnEA"/>
</ownedParameter>
</ownedTemplateSignature>
<ownedParameter xmi:id="_AT27cFoHEeS2WoXr83SnEA" name="lambda" isRequired="false" type="_AT22aloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27cVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27cloHEeS2WoXr83SnEA" name="reject" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.RejectIteration">
<ownedComment xmi:id="_AT27c1oHEeS2WoXr83SnEA" body="The subset of the source set for which body is oclText[false]."/>
<ownedParameter xmi:id="_AT27dFoHEeS2WoXr83SnEA" name="lambda" type="_AT22ZloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27dVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27dloHEeS2WoXr83SnEA" name="select" type="_AT27OloHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.iterator.SelectIteration">
<ownedComment xmi:id="_AT27d1oHEeS2WoXr83SnEA" body="The subset of set for which expr is oclText[true]."/>
<ownedParameter xmi:id="_AT27eFoHEeS2WoXr83SnEA" name="lambda" type="_AT22ZloHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27eVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27eloHEeS2WoXr83SnEA" name="sortedBy" type="_AT23nloHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_AT27e1oHEeS2WoXr83SnEA" 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="_AT27fFoHEeS2WoXr83SnEA" name="lambda" type="_AT22Z1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27fVoHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT27PVoHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT27floHEeS2WoXr83SnEA" name="State" superClass="_AT26XVoHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:Class" xmi:id="_AT27f1oHEeS2WoXr83SnEA" name="Type" superClass="_AT26a1oHEeS2WoXr83SnEA"/>
<ownedType xmi:type="flatemofqvt:CollectionType" xmi:id="_AT27gFoHEeS2WoXr83SnEA" name="UniqueCollection" superClass="_AT23FFoHEeS2WoXr83SnEA"
typedElement="_AT27hFoHEeS2WoXr83SnEA _AT27j1oHEeS2WoXr83SnEA" elementType="_AT27g1oHEeS2WoXr83SnEA">
<ownedTemplateSignature xmi:id="_AT27gVoHEeS2WoXr83SnEA">
<ownedParameter xmi:type="flatemofqvt:TypeTemplateParameter" xmi:id="_AT27gloHEeS2WoXr83SnEA" parameteredElement="_AT27g1oHEeS2WoXr83SnEA">
<ownedParameteredElement xmi:type="flatemofqvt:Class" xmi:id="_AT27g1oHEeS2WoXr83SnEA" name="T" templateParameter="_AT27gloHEeS2WoXr83SnEA"
templateParameterSubstitution="_AT23FloHEeS2WoXr83SnEA _AT23i1oHEeS2WoXr83SnEA _AT23o1oHEeS2WoXr83SnEA _AT2331oHEeS2WoXr83SnEA _AT24EloHEeS2WoXr83SnEA"
typedElement="_AT27k1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT234loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT235VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT236FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2361oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT237loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT238VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT239FoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT2391oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23-loHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT23_VoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24AFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24A1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24BloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24CVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24DFoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24D1oHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="#_AT24EloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmtostm.xml#_AT28CVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmMM.xml#_AT28LloHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="hstmMM.xml#_AT28MVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="stmMM.xml#_AT28UVoHEeS2WoXr83SnEA"/>
<templateParameterSubstitution href="stmMM.xml#_AT28VFoHEeS2WoXr83SnEA"/>
</ownedParameter>
<templateBinding href="#_AT234VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT235FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2351oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT236loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT237VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT238FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT2381oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT239loHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23-VoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23_FoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT23_1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT24AloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT24BVoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT24CFoHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT24C1oHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT24DloHEeS2WoXr83SnEA"/>
<templateBinding href="#_AT24EVoHEeS2WoXr83SnEA"/>
<templateBinding href="hstmtostm.xml#_AT28CFoHEeS2WoXr83SnEA"/>
<templateBinding href="hstmMM.xml#_AT28LVoHEeS2WoXr83SnEA"/>
<templateBinding href="hstmMM.xml#_AT28MFoHEeS2WoXr83SnEA"/>
<templateBinding href="stmMM.xml#_AT28UFoHEeS2WoXr83SnEA"/>
<templateBinding href="stmMM.xml#_AT28U1oHEeS2WoXr83SnEA"/>
</ownedTemplateSignature>
<ownedOperation xmi:id="_AT27hFoHEeS2WoXr83SnEA" name="-" type="_AT27gFoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetMinusOperation"
precedence="_AT27l1oHEeS2WoXr83SnEA">
<ownedComment xmi:id="_AT27hVoHEeS2WoXr83SnEA" body="The elements of oclText[self], which are not in s."/>
<ownedParameter xmi:id="_AT27hloHEeS2WoXr83SnEA" name="s" type="_AT237FoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27h1oHEeS2WoXr83SnEA" name="intersection" type="_AT233VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionIntersectionOperation">
<ownedComment xmi:id="_AT27iFoHEeS2WoXr83SnEA" 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="_AT27iVoHEeS2WoXr83SnEA" name="c" type="_AT23FFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27iloHEeS2WoXr83SnEA" name="symmetricDifference" type="_AT233VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.SetSymmetricDifferenceOperation">
<ownedComment xmi:id="_AT27i1oHEeS2WoXr83SnEA" body="The set containing all the elements that are in oclText[self] or s, but not in both."/>
<ownedParameter xmi:id="_AT27jFoHEeS2WoXr83SnEA" name="s" type="_AT237FoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:id="_AT27jVoHEeS2WoXr83SnEA" name="union" type="_AT233VoHEeS2WoXr83SnEA" implementationClass="org.eclipse.ocl.examples.library.collection.CollectionUnionOperation">
<ownedComment xmi:id="_AT27jloHEeS2WoXr83SnEA" body="The set consisting of all elements in oclText[self] and all elements in s."/>
<ownedParameter xmi:id="_AT27j1oHEeS2WoXr83SnEA" name="s" type="_AT27gFoHEeS2WoXr83SnEA"/>
</ownedOperation>
<ownedOperation xmi:type="flatemofqvt:Iteration" xmi:id="_AT27kFoHEeS2WoXr83SnEA" name="sortedBy" type="_AT23oVoHEeS2WoXr83SnEA"
implementationClass="org.eclipse.ocl.examples.library.iterator.SortedByIteration">
<ownedComment xmi:id="_AT27kVoHEeS2WoXr83SnEA" 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="_AT27kloHEeS2WoXr83SnEA" name="lambda" type="_AT22a1oHEeS2WoXr83SnEA"/>
<ownedIterator xmi:id="_AT27k1oHEeS2WoXr83SnEA" name="i" isRequired="false" type="_AT27g1oHEeS2WoXr83SnEA"/>
</ownedOperation>
</ownedType>
<ownedPrecedence xmi:id="_AT27lFoHEeS2WoXr83SnEA" name="NAVIGATION"/>
<ownedPrecedence xmi:id="_AT27lVoHEeS2WoXr83SnEA" name="UNARY" order="1"/>
<ownedPrecedence xmi:id="_AT27lloHEeS2WoXr83SnEA" name="MULTIPLICATIVE" order="2"/>
<ownedPrecedence xmi:id="_AT27l1oHEeS2WoXr83SnEA" name="ADDITIVE" order="3"/>
<ownedPrecedence xmi:id="_AT27mFoHEeS2WoXr83SnEA" name="RELATIONAL" order="4"/>
<ownedPrecedence xmi:id="_AT27mVoHEeS2WoXr83SnEA" name="EQUALITY" order="5"/>
<ownedPrecedence xmi:id="_AT27mloHEeS2WoXr83SnEA" name="AND" order="6"/>
<ownedPrecedence xmi:id="_AT27m1oHEeS2WoXr83SnEA" name="OR" order="7"/>
<ownedPrecedence xmi:id="_AT27nFoHEeS2WoXr83SnEA" name="XOR" order="8"/>
<ownedPrecedence xmi:id="_AT27nVoHEeS2WoXr83SnEA" name="IMPLIES" order="9"/>
</nestedPackage>
</flatemofqvt:Root>