blob: a283061a12432e8817e98736738192c0ed602d99 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
<mtl:Module name="generateImplementation" nsURI="org::polarsys::chess::contracts::transformations::main::generateImplementation" startHeaderPosition="699" endHeaderPosition="1158">
<input>
<takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
</input>
<ownedModuleElement xsi:type="mtl:Template" name="generateImplementation" visibility="Public">
<init>
<variable name="ContractPropQN">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<initExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CHESSContract::ContractProperty">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</initExpression>
</variable>
</init>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;"/>
<body xsi:type="mtl:FileBlock" openMode="OverWrite">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;MODULE main&#xA;&#xA;"/>
<body xsi:type="mtl:LetBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;VAR&#xA;&#x9;states&#x9;: {&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&#x9;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="vertex" referredVariable="/0/generateImplementation/%.1/%.1/%.1/vertex">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=","/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/17">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</source>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="ocl.ecore:VariableExp" name="states" eType="/10/Sequence(State)" referredVariable="/0/generateImplementation/%.1/%.1/states"/>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3C"/>
</ifExpr>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
<loopVariable name="vertex">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</loopVariable>
<iterSet xsi:type="ocl.ecore:VariableExp" name="states" eType="/10/Sequence(State)" referredVariable="/0/generateImplementation/%.1/%.1/states"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;&#x9;};&#xA;"/>
<letVariable name="states" eType="/10/Sequence(State)">
<initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/10/Sequence(State)">
<source xsi:type="ocl.ecore:OperationCallExp" eType="/10/Bag(State)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">
<source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/10/Bag(Vertex)">
<source xsi:type="ocl.ecore:PropertyCallExp" eType="/10/Set(Region)">
<source xsi:type="ocl.ecore:VariableExp" name="sm" referredVariable="/0/generateImplementation/sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine/region"/>
</source>
<body xsi:type="ocl.ecore:PropertyCallExp" eType="/10/Set(Vertex)">
<source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/generateImplementation/%.1/%.1/states/%/%/collect/temp1">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region/subvertex"/>
</body>
<iterator xsi:type="ocl.ecore:Variable" name="temp1">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/>
</iterator>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/7/State">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Bag(T)_Class/asSequence"/>
</initExpression>
</letVariable>
</body>
<body xsi:type="mtl:LetBlock">
<body xsi:type="mtl:ForBlock">
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateImplementation/%.1/%.2/%/prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : "/>
<body xsi:type="mtl:QueryInvocation" definition="/0/getType">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateImplementation/%.1/%.2/%/prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="mtl:QueryInvocation" definition="/0/getType">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateImplementation/%.1/%.2/%/prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="event">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
</ifExpr>
</body>
<loopVariable name="prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</loopVariable>
<iterSet xsi:type="ocl.ecore:VariableExp" name="vars" eType="/10/OrderedSet(Property)" referredVariable="/0/generateImplementation/%.1/%.2/vars"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;IVAR&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateImplementation/%.1/%.2/%.2/prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" : boolean;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="mtl:QueryInvocation" definition="/0/getType">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateImplementation/%.1/%.2/%.2/prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="event">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/="/>
</ifExpr>
</body>
<loopVariable name="prop">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</loopVariable>
<iterSet xsi:type="ocl.ecore:VariableExp" name="vars" eType="/10/OrderedSet(Property)" referredVariable="/0/generateImplementation/%.1/%.2/vars"/>
</body>
<letVariable name="vars" eType="/10/OrderedSet(Property)">
<initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/10/OrderedSet(Property)">
<source xsi:type="ocl.ecore:PropertyCallExp" eType="/10/OrderedSet(Property)">
<source xsi:type="ocl.ecore:VariableExp" name="owner" referredVariable="/0/generateImplementation/owner">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/attribute"/>
</source>
<body xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:CollectionLiteralExp" eType="/10/Set(Stereotype)">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL/Annotations">
<details key="IMPLICIT_SET_CONVERSION" value="true"/>
</eAnnotations>
<part xsi:type="ocl.ecore:CollectionItem">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
<item xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
<source xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/generateImplementation/%.1/%.2/vars/select/p">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</source>
<argument xsi:type="ocl.ecore:VariableExp" name="ContractPropQN" referredVariable="/0/generateImplementation/@init/@variable.0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/getAppliedStereotype"/>
</item>
</part>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/isEmpty"/>
</body>
<iterator xsi:type="ocl.ecore:Variable" name="p">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</iterator>
</initExpression>
</letVariable>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#xA;&#x9;INIT&#xA;&#x9;states = "/>
<body xsi:type="mtl:QueryInvocation" definition="/0/getInitCondition">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<argument xsi:type="ocl.ecore:VariableExp" name="sm" referredVariable="/0/generateImplementation/sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;"/>
<body xsi:type="mtl:LetBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;TRANS&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;(states = "/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
<source xsi:type="ocl.ecore:VariableExp" name="tr" referredVariable="/0/generateImplementation/%.1/%.6/%.1/tr">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/source"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" &amp; next(states) = "/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
<source xsi:type="ocl.ecore:VariableExp" name="tr" referredVariable="/0/generateImplementation/%.1/%.6/%.1/tr">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;&#xA;&#x9;) "/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="|"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/40">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</source>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="ocl.ecore:VariableExp" name="transitions" eType="/10/Sequence(Transition)" referredVariable="/0/generateImplementation/%.1/%.6/transitions"/>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3C"/>
</ifExpr>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
<loopVariable name="tr">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</loopVariable>
<iterSet xsi:type="ocl.ecore:VariableExp" name="transitions" eType="/10/Sequence(Transition)" referredVariable="/0/generateImplementation/%.1/%.6/transitions"/>
</body>
<letVariable name="transitions" eType="/10/Sequence(Transition)">
<initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/10/Sequence(Transition)">
<source xsi:type="ocl.ecore:IteratorExp" name="select" eType="/10/Bag(Transition)">
<source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/10/Bag(Transition)">
<source xsi:type="ocl.ecore:PropertyCallExp" eType="/10/Set(Region)">
<source xsi:type="ocl.ecore:VariableExp" name="sm" referredVariable="/0/generateImplementation/sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine/region"/>
</source>
<body xsi:type="ocl.ecore:PropertyCallExp" eType="/10/Set(Transition)">
<source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/generateImplementation/%.1/%.6/transitions/%/select/collect/temp2">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region/transition"/>
</body>
<iterator xsi:type="ocl.ecore:Variable" name="temp2">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/>
</iterator>
</source>
<body xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
<source xsi:type="ocl.ecore:VariableExp" name="tr" referredVariable="/0/generateImplementation/%.1/%.6/transitions/%/select/tr">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/source"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/7/Pseudostate">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Pseudostate"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
</source>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
<source xsi:type="ocl.ecore:VariableExp" name="tr" referredVariable="/0/generateImplementation/%.1/%.6/transitions/%/select/tr">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition/target"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/7/Pseudostate">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Pseudostate"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>
</body>
<iterator xsi:type="ocl.ecore:Variable" name="tr">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</iterator>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Bag(T)_Class/asSequence"/>
</initExpression>
</letVariable>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
<fileUrl xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="sm" referredVariable="/0/generateImplementation/sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/7/NamedElement">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".smv">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/concat"/>
</fileUrl>
<charset xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UTF-8">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</charset>
</body>
<parameter name="sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</parameter>
<parameter name="owner">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</parameter>
</ownedModuleElement>
<ownedModuleElement xsi:type="mtl:Query" name="getType" visibility="Public">
<parameter name="type">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</parameter>
<expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_OclAny_Class/invoke">
<eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
<source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/43">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.polarsys.chess.contracts.transformations.service.Service">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="getType(org.eclipse.uml2.uml.Type)">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/10/Sequence(Type)" kind="Sequence">
<part xsi:type="ocl.ecore:CollectionItem">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<item xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/getType/type">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</item>
</part>
</argument>
</expression>
<type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</ownedModuleElement>
<ownedModuleElement xsi:type="mtl:Query" name="getInitCondition" visibility="Public">
<parameter name="sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</parameter>
<expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_OclAny_Class/invoke">
<eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
<source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/46">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.polarsys.chess.contracts.transformations.service.Service">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="getInitCondition(org.eclipse.uml2.uml.StateMachine)">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:CollectionLiteralExp" eType="/10/Sequence(StateMachine)" kind="Sequence">
<part xsi:type="ocl.ecore:CollectionItem">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
<item xsi:type="ocl.ecore:VariableExp" name="sm" referredVariable="/0/getInitCondition/sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</item>
</part>
</argument>
</expression>
<type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</ownedModuleElement>
</mtl:Module>
<ecore:EPackage name="additions">
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_String_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_Integer_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_Real_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ecore_EObject_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eAnnotations>
<eOperations name="generateImplementation">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL" references="/0/generateImplementation"/>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</eParameters>
<eParameters name="owner">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</eParameters>
</eOperations>
<eOperations name="getType">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL" references="/0/getType"/>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="type">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</eParameters>
</eOperations>
<eOperations name="getInitCondition">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL" references="/0/getInitCondition"/>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="sm">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_OclAny_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
</eAnnotations>
<eOperations name="invoke">
<eAnnotations source="MTL non-standard"/>
<eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
<eParameters name="class">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="method">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="arguments">
<eType xsi:type="ocl.ecore:SequenceType" href="http://www.eclipse.org/acceleo/mtl/3.0/mtlnonstdlib.ecore#//Sequence(OclAny)"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_Collection(T)_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
</eAnnotations>
<eOperations name="filter">
<eAnnotations source="MTL non-standard"/>
<eType xsi:type="ocl.ecore:CollectionType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
<eParameters name="filter">
<eType xsi:type="ocl.ecore:TypeType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclType"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_Sequence(T)_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="oclstdlib_OrderedSet(T)_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="uml_StateMachine_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="uml_Type_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</eAnnotations>
</eClassifiers>
</ecore:EPackage>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ecore:EPackage name="types">
<eClassifiers xsi:type="ocl.ecore:TypeType" name="NamedElement">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:TypeType" name="State">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:TypeType" name="Pseudostate">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Pseudostate"/>
</eClassifiers>
</ecore:EPackage>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ecore:EPackage name="collections">
<eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Region)" instanceClassName="java.util.Set">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Vertex)" instanceClassName="java.util.Set">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Vertex)" instanceClassName="org.eclipse.ocl.util.Bag">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(State)" instanceClassName="org.eclipse.ocl.util.Bag">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(State)" instanceClassName="java.util.List">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Property)" instanceClassName="java.util.LinkedHashSet">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Stereotype)" instanceClassName="java.util.Set">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Transition)" instanceClassName="java.util.Set">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Transition)" instanceClassName="org.eclipse.ocl.util.Bag">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Transition)" instanceClassName="java.util.List">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Type)" instanceClassName="java.util.List">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclAny)" instanceClassName="java.util.List">
<elementType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
</eClassifiers>
<eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(StateMachine)" instanceClassName="java.util.List">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</eClassifiers>
</ecore:EPackage>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ecore:EAnnotation source="positions">
<eAnnotations source="positions.0" references="/0/generateImplementation">
<details key="start" value="774"/>
<details key="end" value="2015"/>
<details key="line" value="22"/>
</eAnnotations>
<eAnnotations source="positions.1" references="/0/generateImplementation/@init">
<details key="start" value="847"/>
<details key="end" value="912"/>
<details key="line" value="22"/>
</eAnnotations>
<eAnnotations source="positions.2" references="/0/generateImplementation/@init/@variable.0">
<details key="start" value="850"/>
<details key="end" value="909"/>
<details key="line" value="23"/>
</eAnnotations>
<eAnnotations source="positions.3" references="/0/generateImplementation/@init/@variable.0/%">
<details key="start" value="876"/>
<details key="end" value="909"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.4" references="/0/generateImplementation/%">
<details key="start" value="914"/>
<details key="end" value="916"/>
<details key="line" value="25"/>
</eAnnotations>
<eAnnotations source="positions.5" references="/0/generateImplementation/%.1">
<details key="start" value="916"/>
<details key="end" value="2003"/>
<details key="line" value="27"/>
</eAnnotations>
<eAnnotations source="positions.6" references="/0/generateImplementation/%.1/%">
<details key="start" value="994"/>
<details key="end" value="1008"/>
<details key="line" value="28"/>
</eAnnotations>
<eAnnotations source="positions.7" references="/0/generateImplementation/%.1/%.1">
<details key="start" value="1008"/>
<details key="end" value="1212"/>
<details key="line" value="30"/>
</eAnnotations>
<eAnnotations source="positions.8" references="/0/generateImplementation/%.1/%.1/%">
<details key="start" value="1091"/>
<details key="end" value="1109"/>
<details key="line" value="30"/>
</eAnnotations>
<eAnnotations source="positions.9" references="/0/generateImplementation/%.1/%.1/%.1">
<details key="start" value="1109"/>
<details key="end" value="1198"/>
<details key="line" value="33"/>
</eAnnotations>
<eAnnotations source="positions.10" references="/0/generateImplementation/%.1/%.1/%.1/%">
<details key="start" value="1142"/>
<details key="end" value="1146"/>
<details key="line" value="34"/>
</eAnnotations>
<eAnnotations source="positions.11" references="/0/generateImplementation/%.1/%.1/%.1/%.1">
<details key="start" value="1147"/>
<details key="end" value="1158"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.12" references="/0/generateImplementation/%.1/%.1/%.1/%.1/vertex">
<details key="start" value="1147"/>
<details key="end" value="1153"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.13" references="/0/generateImplementation/%.1/%.1/%.1/%.2">
<details key="start" value="1160"/>
<details key="end" value="1191"/>
<details key="line" value="34"/>
</eAnnotations>
<eAnnotations source="positions.14" references="/0/generateImplementation/%.1/%.1/%.1/%.2/%">
<details key="start" value="1185"/>
<details key="end" value="1186"/>
<details key="line" value="34"/>
</eAnnotations>
<eAnnotations source="positions.15" references="/0/generateImplementation/%.1/%.1/%.1/%.2/%.1">
<details key="start" value="1164"/>
<details key="end" value="1184"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.16" references="/0/generateImplementation/%.1/%.1/%.1/%.2/%.1/i">
<details key="start" value="1165"/>
<details key="end" value="1166"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.17" references="/0/generateImplementation/%.1/%.1/%.1/%.2/%.1/%">
<details key="start" value="1169"/>
<details key="end" value="1183"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.18" references="/0/generateImplementation/%.1/%.1/%.1/%.2/%.1/%/states">
<details key="start" value="1169"/>
<details key="end" value="1175"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.19" references="/0/generateImplementation/%.1/%.1/%.1/%.3">
<details key="start" value="1191"/>
<details key="end" value="1192"/>
<details key="line" value="35"/>
</eAnnotations>
<eAnnotations source="positions.20" references="/0/generateImplementation/%.1/%.1/%.1/vertex">
<details key="start" value="1115"/>
<details key="end" value="1130"/>
<details key="line" value="33"/>
</eAnnotations>
<eAnnotations source="positions.21" references="/0/generateImplementation/%.1/%.1/%.1/states">
<details key="start" value="1133"/>
<details key="end" value="1139"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.22" references="/0/generateImplementation/%.1/%.1/%.2">
<details key="start" value="1199"/>
<details key="end" value="1206"/>
<details key="line" value="36"/>
</eAnnotations>
<eAnnotations source="positions.23" references="/0/generateImplementation/%.1/%.1/states">
<details key="start" value="1013"/>
<details key="end" value="1088"/>
<details key="line" value="30"/>
</eAnnotations>
<eAnnotations source="positions.24" references="/0/generateImplementation/%.1/%.1/states/%">
<details key="start" value="1041"/>
<details key="end" value="1089"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.25" references="/0/generateImplementation/%.1/%.1/states/%/%">
<details key="start" value="1041"/>
<details key="end" value="1075"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.26" references="/0/generateImplementation/%.1/%.1/states/%/%/collect">
<details key="start" value="1041"/>
<details key="end" value="1060"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.27" references="/0/generateImplementation/%.1/%.1/states/%/%/collect/%">
<details key="start" value="1041"/>
<details key="end" value="1050"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.28" references="/0/generateImplementation/%.1/%.1/states/%/%/collect/%/sm">
<details key="start" value="1041"/>
<details key="end" value="1043"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.29" references="/0/generateImplementation/%.1/%.1/states/%/%/collect/%.1">
<details key="start" value="1051"/>
<details key="end" value="1060"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.30" references="/0/generateImplementation/%.1/%.1/states/%/%/collect/%.1/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.31" references="/0/generateImplementation/%.1/%.1/states/%/%/collect/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.32" references="/0/generateImplementation/%.1/%.1/states/%/%/%">
<details key="start" value="1069"/>
<details key="end" value="1074"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.33" references="/0/generateImplementation/%.1/%.2">
<details key="start" value="1213"/>
<details key="end" value="1592"/>
<details key="line" value="38"/>
</eAnnotations>
<eAnnotations source="positions.34" references="/0/generateImplementation/%.1/%.2/%">
<details key="start" value="1340"/>
<details key="end" value="1468"/>
<details key="line" value="39"/>
</eAnnotations>
<eAnnotations source="positions.35" references="/0/generateImplementation/%.1/%.2/%/%">
<details key="start" value="1372"/>
<details key="end" value="1460"/>
<details key="line" value="40"/>
</eAnnotations>
<eAnnotations source="positions.36" references="/0/generateImplementation/%.1/%.2/%/%/%">
<details key="start" value="1414"/>
<details key="end" value="1416"/>
<details key="line" value="41"/>
</eAnnotations>
<eAnnotations source="positions.37" references="/0/generateImplementation/%.1/%.2/%/%/%.1">
<details key="start" value="1417"/>
<details key="end" value="1426"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.38" references="/0/generateImplementation/%.1/%.2/%/%/%.1/prop">
<details key="start" value="1417"/>
<details key="end" value="1421"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.39" references="/0/generateImplementation/%.1/%.2/%/%/%.2">
<details key="start" value="1428"/>
<details key="end" value="1431"/>
<details key="line" value="41"/>
</eAnnotations>
<eAnnotations source="positions.40" references="/0/generateImplementation/%.1/%.2/%/%/%.3">
<details key="start" value="1432"/>
<details key="end" value="1450"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.41" references="/0/generateImplementation/%.1/%.2/%/%/%.3/%">
<details key="start" value="1440"/>
<details key="end" value="1449"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.42" references="/0/generateImplementation/%.1/%.2/%/%/%.3/%/prop">
<details key="start" value="1440"/>
<details key="end" value="1444"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.43" references="/0/generateImplementation/%.1/%.2/%/%/%.4">
<details key="start" value="1452"/>
<details key="end" value="1454"/>
<details key="line" value="41"/>
</eAnnotations>
<eAnnotations source="positions.44" references="/0/generateImplementation/%.1/%.2/%/%/%.5">
<details key="start" value="1376"/>
<details key="end" value="1412"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.45" references="/0/generateImplementation/%.1/%.2/%/%/%.5/%">
<details key="start" value="1381"/>
<details key="end" value="1411"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.46" references="/0/generateImplementation/%.1/%.2/%/%/%.5/%/%">
<details key="start" value="1382"/>
<details key="end" value="1400"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.47" references="/0/generateImplementation/%.1/%.2/%/%/%.5/%/%/%">
<details key="start" value="1390"/>
<details key="end" value="1399"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.48" references="/0/generateImplementation/%.1/%.2/%/%/%.5/%/%/%/prop">
<details key="start" value="1390"/>
<details key="end" value="1394"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.49" references="/0/generateImplementation/%.1/%.2/%/%/%.5/%/%.1">
<details key="start" value="1403"/>
<details key="end" value="1410"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.50" references="/0/generateImplementation/%.1/%.2/%/prop">
<details key="start" value="1346"/>
<details key="end" value="1361"/>
<details key="line" value="39"/>
</eAnnotations>
<eAnnotations source="positions.51" references="/0/generateImplementation/%.1/%.2/%/vars">
<details key="start" value="1364"/>
<details key="end" value="1368"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.52" references="/0/generateImplementation/%.1/%.2/%.1">
<details key="start" value="1469"/>
<details key="end" value="1476"/>
<details key="line" value="44"/>
</eAnnotations>
<eAnnotations source="positions.53" references="/0/generateImplementation/%.1/%.2/%.2">
<details key="start" value="1477"/>
<details key="end" value="1585"/>
<details key="line" value="46"/>
</eAnnotations>
<eAnnotations source="positions.54" references="/0/generateImplementation/%.1/%.2/%.2/%">
<details key="start" value="1509"/>
<details key="end" value="1577"/>
<details key="line" value="47"/>
</eAnnotations>
<eAnnotations source="positions.55" references="/0/generateImplementation/%.1/%.2/%.2/%/%">
<details key="start" value="1545"/>
<details key="end" value="1547"/>
<details key="line" value="48"/>
</eAnnotations>
<eAnnotations source="positions.56" references="/0/generateImplementation/%.1/%.2/%.2/%/%.1">
<details key="start" value="1548"/>
<details key="end" value="1557"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.57" references="/0/generateImplementation/%.1/%.2/%.2/%/%.1/prop">
<details key="start" value="1548"/>
<details key="end" value="1552"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.58" references="/0/generateImplementation/%.1/%.2/%.2/%/%.2">
<details key="start" value="1559"/>
<details key="end" value="1571"/>
<details key="line" value="48"/>
</eAnnotations>
<eAnnotations source="positions.59" references="/0/generateImplementation/%.1/%.2/%.2/%/%.3">
<details key="start" value="1513"/>
<details key="end" value="1543"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.60" references="/0/generateImplementation/%.1/%.2/%.2/%/%.3/%">
<details key="start" value="1514"/>
<details key="end" value="1532"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.61" references="/0/generateImplementation/%.1/%.2/%.2/%/%.3/%/%">
<details key="start" value="1522"/>
<details key="end" value="1531"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.62" references="/0/generateImplementation/%.1/%.2/%.2/%/%.3/%/%/prop">
<details key="start" value="1522"/>
<details key="end" value="1526"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.63" references="/0/generateImplementation/%.1/%.2/%.2/%/%.3/%.1">
<details key="start" value="1535"/>
<details key="end" value="1542"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.64" references="/0/generateImplementation/%.1/%.2/%.2/prop">
<details key="start" value="1483"/>
<details key="end" value="1498"/>
<details key="line" value="46"/>
</eAnnotations>
<eAnnotations source="positions.65" references="/0/generateImplementation/%.1/%.2/%.2/vars">
<details key="start" value="1501"/>
<details key="end" value="1505"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.66" references="/0/generateImplementation/%.1/%.2/vars">
<details key="start" value="1218"/>
<details key="end" value="1337"/>
<details key="line" value="38"/>
</eAnnotations>
<eAnnotations source="positions.67" references="/0/generateImplementation/%.1/%.2/vars/select">
<details key="start" value="1249"/>
<details key="end" value="1338"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.68" references="/0/generateImplementation/%.1/%.2/vars/select/%">
<details key="start" value="1249"/>
<details key="end" value="1264"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.69" references="/0/generateImplementation/%.1/%.2/vars/select/%/owner">
<details key="start" value="1249"/>
<details key="end" value="1254"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.70" references="/0/generateImplementation/%.1/%.2/vars/select/%.1">
<details key="start" value="1288"/>
<details key="end" value="1337"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.71" references="/0/generateImplementation/%.1/%.2/vars/select/%.1/%">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.72" references="/0/generateImplementation/%.1/%.2/vars/select/%.1/%/%/%">
<details key="start" value="1288"/>
<details key="end" value="1326"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.73" references="/0/generateImplementation/%.1/%.2/vars/select/%.1/%/%/%/p">
<details key="start" value="1288"/>
<details key="end" value="1289"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.74" references="/0/generateImplementation/%.1/%.2/vars/select/%.1/%/%/%/ContractPropQN">
<details key="start" value="1311"/>
<details key="end" value="1325"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.75" references="/0/generateImplementation/%.1/%.2/vars/select/p">
<details key="start" value="1273"/>
<details key="end" value="1285"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.76" references="/0/generateImplementation/%.1/%.3">
<details key="start" value="1597"/>
<details key="end" value="1615"/>
<details key="line" value="51"/>
</eAnnotations>
<eAnnotations source="positions.77" references="/0/generateImplementation/%.1/%.4">
<details key="start" value="1616"/>
<details key="end" value="1636"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.78" references="/0/generateImplementation/%.1/%.4/sm">
<details key="start" value="1633"/>
<details key="end" value="1635"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.79" references="/0/generateImplementation/%.1/%.5">
<details key="start" value="1638"/>
<details key="end" value="1640"/>
<details key="line" value="55"/>
</eAnnotations>
<eAnnotations source="positions.80" references="/0/generateImplementation/%.1/%.6">
<details key="start" value="1640"/>
<details key="end" value="1994"/>
<details key="line" value="56"/>
</eAnnotations>
<eAnnotations source="positions.81" references="/0/generateImplementation/%.1/%.6/%">
<details key="start" value="1830"/>
<details key="end" value="1837"/>
<details key="line" value="56"/>
</eAnnotations>
<eAnnotations source="positions.82" references="/0/generateImplementation/%.1/%.6/%.1">
<details key="start" value="1837"/>
<details key="end" value="1987"/>
<details key="line" value="58"/>
</eAnnotations>
<eAnnotations source="positions.83" references="/0/generateImplementation/%.1/%.6/%.1/%">
<details key="start" value="1875"/>
<details key="end" value="1886"/>
<details key="line" value="59"/>
</eAnnotations>
<eAnnotations source="positions.84" references="/0/generateImplementation/%.1/%.6/%.1/%.1">
<details key="start" value="1887"/>
<details key="end" value="1901"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.85" references="/0/generateImplementation/%.1/%.6/%.1/%.1/%">
<details key="start" value="1887"/>
<details key="end" value="1896"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.86" references="/0/generateImplementation/%.1/%.6/%.1/%.1/%/tr">
<details key="start" value="1887"/>
<details key="end" value="1889"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.87" references="/0/generateImplementation/%.1/%.6/%.1/%.2">
<details key="start" value="1903"/>
<details key="end" value="1921"/>
<details key="line" value="59"/>
</eAnnotations>
<eAnnotations source="positions.88" references="/0/generateImplementation/%.1/%.6/%.1/%.3">
<details key="start" value="1922"/>
<details key="end" value="1936"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.89" references="/0/generateImplementation/%.1/%.6/%.1/%.3/%">
<details key="start" value="1922"/>
<details key="end" value="1931"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.90" references="/0/generateImplementation/%.1/%.6/%.1/%.3/%/tr">
<details key="start" value="1922"/>
<details key="end" value="1924"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.91" references="/0/generateImplementation/%.1/%.6/%.1/%.4">
<details key="start" value="1938"/>
<details key="end" value="1944"/>
<details key="line" value="60"/>
</eAnnotations>
<eAnnotations source="positions.92" references="/0/generateImplementation/%.1/%.6/%.1/%.5">
<details key="start" value="1944"/>
<details key="end" value="1980"/>
<details key="line" value="61"/>
</eAnnotations>
<eAnnotations source="positions.93" references="/0/generateImplementation/%.1/%.6/%.1/%.5/%">
<details key="start" value="1974"/>
<details key="end" value="1975"/>
<details key="line" value="61"/>
</eAnnotations>
<eAnnotations source="positions.94" references="/0/generateImplementation/%.1/%.6/%.1/%.5/%.1">
<details key="start" value="1948"/>
<details key="end" value="1973"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.95" references="/0/generateImplementation/%.1/%.6/%.1/%.5/%.1/i">
<details key="start" value="1949"/>
<details key="end" value="1950"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.96" references="/0/generateImplementation/%.1/%.6/%.1/%.5/%.1/%">
<details key="start" value="1953"/>
<details key="end" value="1972"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.97" references="/0/generateImplementation/%.1/%.6/%.1/%.5/%.1/%/transitions">
<details key="start" value="1953"/>
<details key="end" value="1964"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.98" references="/0/generateImplementation/%.1/%.6/%.1/%.6">
<details key="start" value="1980"/>
<details key="end" value="1981"/>
<details key="line" value="62"/>
</eAnnotations>
<eAnnotations source="positions.99" references="/0/generateImplementation/%.1/%.6/%.1/tr">
<details key="start" value="1843"/>
<details key="end" value="1858"/>
<details key="line" value="58"/>
</eAnnotations>
<eAnnotations source="positions.100" references="/0/generateImplementation/%.1/%.6/%.1/transitions">
<details key="start" value="1861"/>
<details key="end" value="1872"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.101" references="/0/generateImplementation/%.1/%.6/transitions">
<details key="start" value="1645"/>
<details key="end" value="1827"/>
<details key="line" value="56"/>
</eAnnotations>
<eAnnotations source="positions.102" references="/0/generateImplementation/%.1/%.6/transitions/%">
<details key="start" value="1683"/>
<details key="end" value="1828"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.103" references="/0/generateImplementation/%.1/%.6/transitions/%/select">
<details key="start" value="1683"/>
<details key="end" value="1814"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.104" references="/0/generateImplementation/%.1/%.6/transitions/%/select/collect">
<details key="start" value="1683"/>
<details key="end" value="1703"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.105" references="/0/generateImplementation/%.1/%.6/transitions/%/select/collect/%">
<details key="start" value="1683"/>
<details key="end" value="1692"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.106" references="/0/generateImplementation/%.1/%.6/transitions/%/select/collect/%/sm">
<details key="start" value="1683"/>
<details key="end" value="1685"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.107" references="/0/generateImplementation/%.1/%.6/transitions/%/select/collect/%.1">
<details key="start" value="1693"/>
<details key="end" value="1703"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.108" references="/0/generateImplementation/%.1/%.6/transitions/%/select/collect/%.1/temp1">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.109" references="/0/generateImplementation/%.1/%.6/transitions/%/select/collect/temp2">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.110" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%">
<details key="start" value="1730"/>
<details key="end" value="1813"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.111" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%">
<details key="start" value="1730"/>
<details key="end" value="1769"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.112" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%/%">
<details key="start" value="1733"/>
<details key="end" value="1769"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.113" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%/%/%">
<details key="start" value="1734"/>
<details key="end" value="1743"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.114" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%/%/%/tr">
<details key="start" value="1734"/>
<details key="end" value="1736"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.115" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%/%/%.1">
<details key="start" value="1756"/>
<details key="end" value="1767"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.116" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%.1">
<details key="start" value="1774"/>
<details key="end" value="1813"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.117" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%.1/%">
<details key="start" value="1777"/>
<details key="end" value="1813"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.118" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%.1/%/%">
<details key="start" value="1778"/>
<details key="end" value="1787"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.119" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%.1/%/%/tr">
<details key="start" value="1778"/>
<details key="end" value="1780"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.120" references="/0/generateImplementation/%.1/%.6/transitions/%/select/%/%.1/%/%.1">
<details key="start" value="1800"/>
<details key="end" value="1811"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.121" references="/0/generateImplementation/%.1/%.6/transitions/%/select/tr">
<details key="start" value="1712"/>
<details key="end" value="1727"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.122" references="/0/generateImplementation/%.1/%.7">
<details key="start" value="1995"/>
<details key="end" value="1996"/>
<details key="line" value="64"/>
</eAnnotations>
<eAnnotations source="positions.123" references="/0/generateImplementation/%.1/%.8">
<details key="start" value="923"/>
<details key="end" value="975"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.124" references="/0/generateImplementation/%.1/%.8/%">
<details key="start" value="923"/>
<details key="end" value="960"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.125" references="/0/generateImplementation/%.1/%.8/%/%">
<details key="start" value="923"/>
<details key="end" value="955"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.126" references="/0/generateImplementation/%.1/%.8/%/%/%">
<details key="start" value="923"/>
<details key="end" value="931"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.127" references="/0/generateImplementation/%.1/%.8/%/%/%/sm">
<details key="start" value="923"/>
<details key="end" value="925"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.128" references="/0/generateImplementation/%.1/%.8/%/%/%.1">
<details key="start" value="942"/>
<details key="end" value="954"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.129" references="/0/generateImplementation/%.1/%.8/%.1">
<details key="start" value="968"/>
<details key="end" value="974"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.130" references="/0/generateImplementation/%.1/%.9">
<details key="start" value="984"/>
<details key="end" value="991"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.131" references="/0/generateImplementation/sm">
<details key="start" value="814"/>
<details key="end" value="831"/>
<details key="line" value="22"/>
</eAnnotations>
<eAnnotations source="positions.132" references="/0/generateImplementation/owner">
<details key="start" value="833"/>
<details key="end" value="846"/>
<details key="line" value="22"/>
</eAnnotations>
<eAnnotations source="positions.133" references="/0/getType">
<details key="start" value="2017"/>
<details key="end" value="2189"/>
<details key="line" value="68"/>
</eAnnotations>
<eAnnotations source="positions.134" references="/0/getType/type">
<details key="start" value="2039"/>
<details key="end" value="2050"/>
<details key="line" value="68"/>
</eAnnotations>
<eAnnotations source="positions.135" references="/0/getType/%">
<details key="start" value="2063"/>
<details key="end" value="2187"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.136" references="/0/getType/%/self">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.137" references="/0/getType/%/%">
<details key="start" value="2070"/>
<details key="end" value="2132"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.138" references="/0/getType/%/%.1">
<details key="start" value="2134"/>
<details key="end" value="2170"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.139" references="/0/getType/%/%.2">
<details key="start" value="2172"/>
<details key="end" value="2186"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.140" references="/0/getType/%/%.2/%/type">
<details key="start" value="2181"/>
<details key="end" value="2185"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.141" references="/0/getInitCondition">
<details key="start" value="2191"/>
<details key="end" value="2394"/>
<details key="line" value="71"/>
</eAnnotations>
<eAnnotations source="positions.142" references="/0/getInitCondition/sm">
<details key="start" value="2222"/>
<details key="end" value="2239"/>
<details key="line" value="71"/>
</eAnnotations>
<eAnnotations source="positions.143" references="/0/getInitCondition/%">
<details key="start" value="2253"/>
<details key="end" value="2391"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.144" references="/0/getInitCondition/%/self">
<details key="start" value="-1"/>
<details key="end" value="-1"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.145" references="/0/getInitCondition/%/%">
<details key="start" value="2260"/>
<details key="end" value="2322"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.146" references="/0/getInitCondition/%/%.1">
<details key="start" value="2323"/>
<details key="end" value="2376"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.147" references="/0/getInitCondition/%/%.2">
<details key="start" value="2378"/>
<details key="end" value="2390"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.148" references="/0/getInitCondition/%/%.2/%/sm">
<details key="start" value="2387"/>
<details key="end" value="2389"/>
<details key="line" value="0"/>
</eAnnotations>
</ecore:EAnnotation>
</xmi:XMI>