Add *.emtl files in transformations plugin.

Change-Id: If35f9beee35b7366d1a7327235ecee8ffbb04a9c
diff --git a/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generate.emtl b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generate.emtl
new file mode 100644
index 0000000..581d566
--- /dev/null
+++ b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generate.emtl
@@ -0,0 +1,10948 @@
+<?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="generate" nsURI="org::polarsys::chess::contracts::transformations::main::generate" startHeaderPosition="754" endHeaderPosition="901">

+    <input>

+      <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>

+    </input>

+    <imports href="generateImplementation.emtl#/0"/>

+    <ownedModuleElement xsi:type="mtl:Template" name="mainTemplate" visibility="Public" main="true">

+      <init>

+        <variable name="SystemQN">

+          <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::System">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="SubSystemQN">

+          <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::SubSystem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="SystemViewQN">

+          <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="CHESS::Core::CHESSViews::SystemView">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="CompViewQN">

+          <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="CHESS::Core::CHESSViews::ComponentView">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="DeplViewQN">

+          <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="CHESS::Core::CHESSViews::DeploymentView">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="CompImplQN">

+          <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="CHESS::ComponentModel::ComponentImplementation">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="PlatformQN">

+          <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::Platform">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="BlockQN">

+          <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="SysML::Blocks::Block">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="SRACompQN">

+          <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::SRAComponent">

+            <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="mtl:FileBlock" openMode="OverWrite">

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="mtl:LetBlock">

+                      <body xsi:type="mtl:TemplateInvocation" definition="/0/generateComponent">

+                        <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="system" referredVariable="/0/mainTemplate/%/%/%/%/%/%/%/%/system">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/mainTemplate/%/%/%/%/%/allBlocks"/>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="allComps" eType="/3/Set(Component)" referredVariable="/0/mainTemplate/%/%/%/%/%/%/allComps"/>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/union.1"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/mainTemplate/%/%/%/%/%/%/%/generated"/>

+                        <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                          <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="checkWeakContracts" referredVariable="/0/mainTemplate/checkWeakContracts">

+                            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="true">

+                            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                          </argument>

+                        </argument>

+                      </body>

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                      <letVariable name="system">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        <initExpression xsi:type="mtl:QueryInvocation" definition="/0/getSystem">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/mainTemplate/%/%/%/%/%/allBlocks"/>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="sysQN" referredVariable="/0/mainTemplate/sysQN">

+                            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                          </argument>

+                        </initExpression>

+                      </letVariable>

+                    </body>

+                    <letVariable name="generated" eType="/3/Set(String)">

+                      <initExpression xsi:type="mtl:QueryInvocation" eType="/3/Set(String)" definition="/0/getEmptyStringSet">

+                        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/24">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                        </argument>

+                      </initExpression>

+                    </letVariable>

+                  </body>

+                  <letVariable name="allComps" eType="/3/Set(Component)">

+                    <initExpression xsi:type="mtl:QueryInvocation" eType="/3/Set(Component)" definition="/0/getAllComponents">

+                      <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Component)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="deploymentView" referredVariable="/0/mainTemplate/%/%/%/%/deploymentView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Component">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                        </argument>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Component)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="componentView" referredVariable="/0/mainTemplate/%/%/componentView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Component">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                        </argument>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="CompImplQN" referredVariable="/0/mainTemplate/@init/@variable.5">

+                        <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:VariableExp" name="SRACompQN" referredVariable="/0/mainTemplate/@init/@variable.8">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      </argument>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <letVariable name="allBlocks" eType="/3/Set(Class)">

+                  <initExpression xsi:type="mtl:QueryInvocation" eType="/3/Set(Class)" definition="/0/getAllBlocks">

+                    <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)">

+                      <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="componentView" referredVariable="/0/mainTemplate/%/%/componentView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                      </source>

+                      <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="systemView" referredVariable="/0/mainTemplate/%/%/%/systemView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/union.1"/>

+                    </argument>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="BlockQN" referredVariable="/0/mainTemplate/@init/@variable.7">

+                      <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:VariableExp" name="SubSystemQN" referredVariable="/0/mainTemplate/@init/@variable.1">

+                      <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:VariableExp" name="SystemQN" referredVariable="/0/mainTemplate/@init/@variable.0">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    </argument>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <letVariable name="deploymentView">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Package)">

+                    <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/mainTemplate/model">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestedPackage"/>

+                  </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="/3/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/mainTemplate/%/%/%/%/deploymentView/any/p">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="DeplViewQN" referredVariable="/0/mainTemplate/@init/@variable.4">

+                            <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/notEmpty"/>

+                  </body>

+                  <iterator xsi:type="ocl.ecore:Variable" name="p">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                  </iterator>

+                </initExpression>

+              </letVariable>

+            </body>

+            <letVariable name="systemView">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+              <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Package)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/mainTemplate/model">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                  </source>

+                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestedPackage"/>

+                </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="/3/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/mainTemplate/%/%/%/systemView/any/p">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="SystemViewQN" referredVariable="/0/mainTemplate/@init/@variable.2">

+                          <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/notEmpty"/>

+                </body>

+                <iterator xsi:type="ocl.ecore:Variable" name="p">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                </iterator>

+              </initExpression>

+            </letVariable>

+          </body>

+          <letVariable name="componentView">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+            <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Package)">

+                <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/mainTemplate/model">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                </source>

+                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestedPackage"/>

+              </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="/3/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/mainTemplate/%/%/componentView/any/p">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="CompViewQN" referredVariable="/0/mainTemplate/@init/@variable.3">

+                        <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/notEmpty"/>

+              </body>

+              <iterator xsi:type="ocl.ecore:Variable" name="p">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+              </iterator>

+            </initExpression>

+          </letVariable>

+        </body>

+        <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: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: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:VariableExp" name="filename" referredVariable="/0/mainTemplate/filename">

+                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+              </source>

+              <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_">

+                <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"/>

+            </source>

+            <argument xsi:type="ocl.ecore:VariableExp" name="sysName" referredVariable="/0/mainTemplate/sysName">

+              <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"/>

+          </source>

+          <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".oss">

+            <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>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+      <body xsi:type="mtl:ForBlock">

+        <body xsi:type="mtl:IfBlock">

+          <body xsi:type="mtl:IfBlock">

+            <body xsi:type="mtl:TemplateInvocation">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+              <definition href="generateImplementation.emtl#/0/generateImplementation"/>

+              <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/31">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+              </argument>

+              <argument xsi:type="ocl.ecore:OperationCallExp">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                <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/mainTemplate/%.2/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="/21/Class">

+                  <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+              </argument>

+            </body>

+            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#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="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/mainTemplate/%.2/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="/21/Class">

+                  <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>

+              </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: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/mainTemplate/%.2/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="/21/Component">

+                  <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>

+              </argument>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+            </ifExpr>

+          </body>

+          <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="ocl.ecore:CollectionLiteralExp" eType="/3/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: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/mainTemplate/%.2/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:VariableExp" name="BlockQN" referredVariable="/0/mainTemplate/@init/@variable.7">

+                      <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/notEmpty"/>

+            </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:CollectionLiteralExp" eType="/3/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: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/mainTemplate/%.2/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:VariableExp" name="CompImplQN" referredVariable="/0/mainTemplate/@init/@variable.5">

+                      <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/notEmpty"/>

+            </argument>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+          </ifExpr>

+        </body>

+        <loopVariable name="sm">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+        </loopVariable>

+        <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(StateMachine)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+          <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+            <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/mainTemplate/model">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+            </source>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+          </source>

+          <argument xsi:type="ocl.ecore:TypeExp" eType="/21/StateMachine">

+            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+          </argument>

+        </iterSet>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+      <parameter name="model">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </parameter>

+      <parameter name="sysQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="sysName">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="filename">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="checkWeakContracts">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Template" name="generateComponent" visibility="Public">

+      <init>

+        <variable name="SystemQN">

+          <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::System">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="FlowPortQN">

+          <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="SysML::PortAndFlows::FlowPort">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="FlowPortMarteQN">

+          <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="MARTE::MARTE_DesignModel::GCM::FlowPort">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <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>

+        <variable name="DelegConstrQN">

+          <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::DelegationConstraint">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="CSPortQN">

+          <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="MARTE::MARTE_DesignModel::GCM::ClientServerPort">

+            <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="&#x9;"/>

+      <body xsi:type="mtl:QueryInvocation" definition="/0/addToGenerated">

+        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        <argument 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="block" referredVariable="/0/generateComponent/block">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+          </source>

+          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+        </argument>

+        <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateComponent/generated"/>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+      <body xsi:type="mtl:IfBlock">

+        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;COMPONENT system&#xD;&#xA;"/>

+        <ifExpr xsi:type="ocl.ecore:VariableExp" name="isSystem" referredVariable="/0/generateComponent/isSystem">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </ifExpr>

+        <else>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;COMPONENT "/>

+          <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="block" referredVariable="/0/generateComponent/block">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </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="&#xD;&#xA;"/>

+        </else>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;INTERFACE&#xD;&#xA;&#xD;&#xA;"/>

+      <body xsi:type="mtl:LetBlock">

+        <body xsi:type="mtl:ForBlock">

+          <body xsi:type="mtl:IfBlock">

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>

+                  <body xsi:type="mtl:QueryInvocation" definition="/0/getDirection">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_OclAny_Class/toString">

+                      <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="direction" referredVariable="/0/generateComponent/%.5/%/%/%/%/%/direction">

+                        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                      </source>

+                    </argument>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="PORT "/>

+                  <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                    </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:IfBlock">

+                    <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </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=";"/>

+                    <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="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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                    </ifExpr>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                  <letVariable name="direction">

+                    <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                    <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                      <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                      </source>

+                      <argument 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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="FlowPortQN" referredVariable="/0/generateComponent/@init/@variable.1">

+                          <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"/>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="direction">

+                        <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/getValue"/>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <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:CollectionLiteralExp" eType="/3/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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="FlowPortQN" referredVariable="/0/generateComponent/@init/@variable.1">

+                          <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/notEmpty"/>

+                </ifExpr>

+                <elseIf>

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>

+                    <body xsi:type="mtl:QueryInvocation" definition="/0/getDirection">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_OclAny_Class/toString">

+                        <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="direction" referredVariable="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction">

+                          <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                        </source>

+                      </argument>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="PORT "/>

+                    <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                      </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:IfBlock">

+                      <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                          </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=";"/>

+                      <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="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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                      </ifExpr>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                    <letVariable name="direction">

+                      <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                      <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                        <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </source>

+                        <argument 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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="FlowPortMarteQN" referredVariable="/0/generateComponent/@init/@variable.2">

+                            <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"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="direction">

+                          <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/getValue"/>

+                      </initExpression>

+                    </letVariable>

+                  </body>

+                  <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:CollectionLiteralExp" eType="/3/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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="FlowPortMarteQN" referredVariable="/0/generateComponent/@init/@variable.2">

+                            <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/notEmpty"/>

+                  </ifExpr>

+                </elseIf>

+              </body>

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="mtl:IfBlock">

+                      <body xsi:type="mtl:ForBlock">

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>

+                        <body 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:OperationCallExp" referredOperation="/1/oclstdlib_OclAny_Class/toString">

+                            <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="proreq" referredVariable="/0/generateComponent/%.5/%/%/%/%.1/%/proreq">

+                              <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                            </source>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/toUpper"/>

+                        </body>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" OPERATION PORT "/>

+                        <body xsi:type="mtl:QueryInvocation" definition="/0/getOperationName">

+                          <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="op" referredVariable="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/op">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+                          </argument>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                          </argument>

+                        </body>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" ("/>

+                        <body xsi:type="mtl:QueryInvocation" definition="/0/getParamList">

+                          <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="op" referredVariable="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/op">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+                          </argument>

+                        </body>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") : "/>

+                        <body xsi:type="mtl:QueryInvocation" definition="/0/getReturn">

+                          <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="op" referredVariable="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/op">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+                          </argument>

+                        </body>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;"/>

+                        <loopVariable name="op">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+                        </loopVariable>

+                        <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Operation)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="interface" referredVariable="/0/generateComponent/%.5/%/%/%/%.1/%/%/interface">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier/getOperations"/>

+                        </iterSet>

+                      </body>

+                      <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="interface" referredVariable="/0/generateComponent/%.5/%/%/%/%.1/%/%/interface">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+                        </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:VariableExp" name="self" referredVariable="/67">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                        </argument>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/%3C%3E"/>

+                      </ifExpr>

+                    </body>

+                    <letVariable name="interface">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+                      <initExpression xsi:type="mtl:QueryInvocation" definition="/0/getInterface">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </argument>

+                      </initExpression>

+                    </letVariable>

+                  </body>

+                  <letVariable name="proreq">

+                    <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                    <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                      <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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                      </source>

+                      <argument 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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="CSPortQN" referredVariable="/0/generateComponent/@init/@variable.5">

+                          <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"/>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="kind">

+                        <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/getValue"/>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <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:CollectionLiteralExp" eType="/3/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="port" referredVariable="/0/generateComponent/%.5/%/%/%/port">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="CSPortQN" referredVariable="/0/generateComponent/@init/@variable.5">

+                          <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/notEmpty"/>

+                </ifExpr>

+              </body>

+              <letVariable name="port">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                  <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateComponent/%.5/%/prop">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Port">

+                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                </initExpression>

+              </letVariable>

+            </body>

+            <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="prop" referredVariable="/0/generateComponent/%.5/%/prop">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </source>

+              <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Port">

+                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+              </argument>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>

+            </ifExpr>

+            <elseIf>

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;PARAMETER "/>

+              <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/generateComponent/%.5/%/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:IfBlock">

+                <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/generateComponent/%.5/%/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=";"/>

+                <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="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/generateComponent/%.5/%/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"/>

+                    </source>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                </ifExpr>

+              </body>

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#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="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#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateComponent/%.5/%/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"/>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                    </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#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateComponent/%.5/%/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"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </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"/>

+                </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#//Type"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateComponent/%.5/%/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"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Component">

+                      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                    </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"/>

+              </ifExpr>

+            </elseIf>

+          </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="props" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/props"/>

+        </body>

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:ForBlock">

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#xD;&#xA;&#x9;CONTRACT "/>

+              <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="contrProp" referredVariable="/0/generateComponent/%.5/%.1/%/contrProp">

+                  <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="&#xD;&#xA;&#x9;assume:&#xD;&#xA;&#x9;&#x9;"/>

+              <body xsi:type="mtl:QueryInvocation" definition="/0/getAssume">

+                <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="contract" referredVariable="/0/generateComponent/%.5/%.1/%/%/contract">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                </argument>

+              </body>

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;guarantee:&#xD;&#xA;&#x9;&#x9;"/>

+              <body xsi:type="mtl:QueryInvocation" definition="/0/getGuarantee">

+                <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="contract" referredVariable="/0/generateComponent/%.5/%.1/%/%/contract">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                </argument>

+              </body>

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;"/>

+              <letVariable name="contract">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  <source 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="contrProp" referredVariable="/0/generateComponent/%.5/%.1/%/contrProp">

+                      <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"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                </initExpression>

+              </letVariable>

+            </body>

+            <loopVariable name="contrProp">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </loopVariable>

+            <iterSet xsi:type="ocl.ecore:VariableExp" name="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.1/contrProps"/>

+          </body>

+          <letVariable name="contrProps" eType="/3/OrderedSet(Property)">

+            <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                  <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#//StructuredClassifier/ownedAttribute"/>

+              </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="/3/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/generateComponent/%.5/%.1/contrProps/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/generateComponent/@init/@variable.3">

+                        <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/notEmpty"/>

+              </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="mtl:IfBlock">

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONTRACT "/>

+              <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="block" referredVariable="/0/generateComponent/block">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                </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="_allWeak&#xD;&#xA;&#x9;assume:&#xD;&#xA;&#x9;&#x9;TRUE;&#xD;&#xA;&#x9;guarantee:&#xD;&#xA;&#x9;"/>

+              <body xsi:type="mtl:ForBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="mtl:IfBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="(("/>

+                    <body xsi:type="mtl:QueryInvocation" definition="/0/getAssume">

+                      <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="contract" referredVariable="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </argument>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") implies "/>

+                    <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/isAssumptionTrue">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="contract" referredVariable="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                    </ifExpr>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="("/>

+                  <body xsi:type="mtl:QueryInvocation" definition="/0/getGuarantee">

+                    <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="contract" referredVariable="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </argument>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")"/>

+                  <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="mtl:QueryInvocation" definition="/0/isAssumptionTrue">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="contract" referredVariable="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                    </ifExpr>

+                  </body>

+                  <letVariable name="contract">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      <source 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="contrProp" referredVariable="/0/generateComponent/%.5/%.2/%.1/%/%.3/contrProp">

+                          <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"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <loopVariable name="contrProp">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                </loopVariable>

+                <iterSet xsi:type="ocl.ecore:VariableExp" name="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.2/%.1/contrProps"/>

+                <each xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" and ">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                </each>

+              </body>

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#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/Integer"/>

+                  <source xsi:type="ocl.ecore:VariableExp" name="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.2/%.1/contrProps"/>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

+                </source>

+                <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>

+              </ifExpr>

+            </body>

+            <letVariable name="contrProps" eType="/3/OrderedSet(Property)">

+              <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                    <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#//StructuredClassifier/ownedAttribute"/>

+                </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:CollectionLiteralExp" eType="/3/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/generateComponent/%.5/%.2/%.1/contrProps/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/generateComponent/@init/@variable.3">

+                            <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/notEmpty"/>

+                  </source>

+                  <argument xsi:type="mtl:QueryInvocation" definition="/0/isWeakContract">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/generateComponent/%.5/%.2/%.1/contrProps/select/p">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                    </argument>

+                  </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="p">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                </iterator>

+              </initExpression>

+            </letVariable>

+          </body>

+          <ifExpr xsi:type="ocl.ecore:VariableExp" name="checkWeak" referredVariable="/0/generateComponent/checkWeak">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+          </ifExpr>

+        </body>

+        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;REFINEMENT&#xD;&#xA;&#xD;&#xA;"/>

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:ForBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;SUB&#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="part" referredVariable="/0/generateComponent/%.5/%.4/%/part">

+                  <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="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#//Type"/>

+                  <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%/part">

+                    <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"/>

+                </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=";&#xD;&#xA;"/>

+              <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isPart">

+                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                <argument xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%/part">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                </argument>

+              </ifExpr>

+            </body>

+            <loopVariable name="part">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </loopVariable>

+            <iterSet xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/parts"/>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:ForBlock">

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:IfBlock">

+                  <body xsi:type="mtl:IfBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONNECTION "/>

+                    <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#//ConnectableElement"/>

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                            <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                        </source>

+                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                      </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="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#//Property"/>

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                            <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                        </source>

+                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                      </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="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#//ConnectableElement"/>

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                            <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                        </source>

+                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                      </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=";&#xD;&#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:PropertyCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                            <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                        </source>

+                        <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                    </ifExpr>

+                    <else>

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONNECTION "/>

+                      <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#//Property"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                        </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="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#//ConnectableElement"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                        </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="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#//Property"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                        </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="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#//ConnectableElement"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                        </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=";&#xD;&#xA;"/>

+                    </else>

+                    <elseIf>

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONNECTION "/>

+                      <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#//Property"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                        </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="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#//ConnectableElement"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                        </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="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#//ConnectableElement"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                        </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=";&#xD;&#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:PropertyCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                      </ifExpr>

+                    </elseIf>

+                  </body>

+                  <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/checkRules">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                    </argument>

+                  </ifExpr>

+                  <else>

+                    <body xsi:type="mtl:IfBlock">

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONNECTION "/>

+                      <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#//ConnectableElement"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                        </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="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#//Property"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                        </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="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#//ConnectableElement"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                        </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=";&#xD;&#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:PropertyCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                            </source>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                      </ifExpr>

+                      <else>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONNECTION "/>

+                        <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#//Property"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                          </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="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#//ConnectableElement"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                          </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="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#//Property"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                          </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="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#//ConnectableElement"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                          </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=";&#xD;&#xA;"/>

+                      </else>

+                      <elseIf>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONNECTION "/>

+                        <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#//Property"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                          </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="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#//ConnectableElement"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                          </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="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#//ConnectableElement"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/role"/>

+                          </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=";&#xD;&#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:PropertyCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                            <source xsi:type="ocl.ecore:OperationCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                              </source>

+                              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                        </ifExpr>

+                      </elseIf>

+                    </body>

+                  </else>

+                </body>

+                <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/checkConnectedPorts">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                  </argument>

+                </ifExpr>

+                <else>

+                  <body xsi:type="mtl:IfBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>

+                    <body xsi:type="mtl:QueryInvocation" definition="/0/getOperationConnections">

+                      <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="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                      </argument>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                    <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/checkOperationPorts">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/generateComponent/%.5/%.4/%.2/%/conn">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                      </argument>

+                    </ifExpr>

+                  </body>

+                </else>

+              </body>

+              <loopVariable name="conn">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+              </loopVariable>

+              <iterSet xsi:type="ocl.ecore:VariableExp" name="connections" eType="/3/Set(Connector)" referredVariable="/0/generateComponent/%.5/%.4/%.2/connections"/>

+            </body>

+            <letVariable name="connections" eType="/3/Set(Connector)">

+              <initExpression xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Connector)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                  <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#//StructuredClassifier/ownedConnector"/>

+              </initExpression>

+            </letVariable>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:ForBlock">

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="  &#x9;CONNECTION "/>

+                    <body xsi:type="ocl.ecore:VariableExp" name="spec" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    </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:OperationCallExp" referredOperation="/1/oclstdlib_String_Class/endsWith">

+                          <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="spec" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1">

+                            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";">

+                            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                          </argument>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                      </ifExpr>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" &#xD;&#xA;"/>

+                    <letVariable name="spec">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      <initExpression 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="/3/Sequence(String)">

+                          <source xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                            <source xsi:type="ocl.ecore:PropertyCallExp">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                              <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/rule">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                              </source>

+                              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                            </source>

+                            <argument xsi:type="ocl.ecore:TypeExp" eType="/21/OpaqueExpression">

+                              <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                            </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#//OpaqueExpression/body"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="index" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/%/%/index">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

+                        </argument>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/at"/>

+                      </initExpression>

+                    </letVariable>

+                  </body>

+                  <letVariable name="index">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

+                    <initExpression 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:PropertyCallExp" eType="/3/OrderedSet(String)">

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                            <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/rule">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:TypeExp" eType="/21/OpaqueExpression">

+                            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          </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#//OpaqueExpression/language"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="OCRA">

+                        <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/OrderedSet(T)_Class/indexOf"/>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <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="ocl.ecore:PropertyCallExp">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/rule">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                      </source>

+                      <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:TypeExp" eType="/21/OpaqueExpression">

+                      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                    </argument>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>

+                  </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:IteratorExp" name="collect" eType="/3/Sequence(Boolean)">

+                      <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(String)">

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                            <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/rule">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:TypeExp" eType="/21/OpaqueExpression">

+                            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          </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#//OpaqueExpression/language"/>

+                      </source>

+                      <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_String_Class/contains">

+                        <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="temp1" referredVariable="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/temp1">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="OCRA">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                        </argument>

+                      </body>

+                      <iterator xsi:type="ocl.ecore:Variable" name="temp1">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      </iterator>

+                    </source>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/notEmpty"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                </ifExpr>

+              </body>

+              <loopVariable name="rule">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+              </loopVariable>

+              <iterSet xsi:type="ocl.ecore:VariableExp" name="rules" eType="/3/Set(Constraint)" referredVariable="/0/generateComponent/%.5/%.4/%.4/rules"/>

+            </body>

+            <letVariable name="rules" eType="/3/Set(Constraint)">

+              <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(Constraint)">

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Constraint)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                    <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#//Namespace/ownedRule"/>

+                </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="/3/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="c" referredVariable="/0/generateComponent/%.5/%.4/%.4/rules/select/c">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="DelegConstrQN" referredVariable="/0/generateComponent/@init/@variable.4">

+                          <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/notEmpty"/>

+                </body>

+                <iterator xsi:type="ocl.ecore:Variable" name="c">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                </iterator>

+              </initExpression>

+            </letVariable>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+          <body xsi:type="mtl:IfBlock">

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="mtl:ForBlock">

+                <body xsi:type="mtl:IfBlock">

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONTRACT "/>

+                    <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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%/%/contrProp">

+                        <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=" REFINEDBY "/>

+                    <body xsi:type="mtl:QueryInvocation" definition="/0/getRefinedByStrongWeak">

+                      <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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%/%/contrProp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/parts"/>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                    <letVariable name="contract">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        <source 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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%/%/contrProp">

+                            <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"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                      </initExpression>

+                    </letVariable>

+                  </body>

+                  <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isRefined">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%/%/contrProp">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                    </argument>

+                  </ifExpr>

+                </body>

+                <loopVariable name="contrProp">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                </loopVariable>

+                <iterSet xsi:type="ocl.ecore:VariableExp" name="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/%.6/%/contrProps"/>

+              </body>

+              <letVariable name="contrProps" eType="/3/OrderedSet(Property)">

+                <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                    <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                      <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#//StructuredClassifier/ownedAttribute"/>

+                  </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:CollectionLiteralExp" eType="/3/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/generateComponent/%.5/%.4/%.6/%/contrProps/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/generateComponent/@init/@variable.3">

+                              <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/notEmpty"/>

+                    </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="mtl:QueryInvocation" definition="/0/isWeakContract">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/p">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                        </argument>

+                      </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="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="&#xD;&#xA;"/>

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:IfBlock">

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONTRACT "/>

+                  <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="block" referredVariable="/0/generateComponent/block">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </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="_allWeak REFINEDBY "/>

+                  <body xsi:type="ocl.ecore:VariableExp" name="refinedByAllWeak" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.2/%/refinedByAllWeak">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#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="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="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps"/>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/size"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>

+                    </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" referredOperation="/1/oclstdlib_String_Class/startsWith">

+                        <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="refinedByAllWeak" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.2/%/refinedByAllWeak">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                        </argument>

+                      </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"/>

+                  </ifExpr>

+                </body>

+                <letVariable name="refinedByAllWeak">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                  <initExpression xsi:type="mtl:QueryInvocation" definition="/0/getRefinedByAllWeak">

+                    <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="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps"/>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/parts"/>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <letVariable name="contrProps" eType="/3/OrderedSet(Property)">

+                <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                    <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                      <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#//StructuredClassifier/ownedAttribute"/>

+                  </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:CollectionLiteralExp" eType="/3/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/generateComponent/%.5/%.4/%.6/%.2/contrProps/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/generateComponent/@init/@variable.3">

+                              <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/notEmpty"/>

+                    </source>

+                    <argument xsi:type="mtl:QueryInvocation" definition="/0/isWeakContract">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/p">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                      </argument>

+                    </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="p">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </iterator>

+                </initExpression>

+              </letVariable>

+            </body>

+            <ifExpr xsi:type="ocl.ecore:VariableExp" name="checkWeak" referredVariable="/0/generateComponent/checkWeak">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+            </ifExpr>

+            <else>

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:ForBlock">

+                  <body xsi:type="mtl:IfBlock">

+                    <body xsi:type="mtl:LetBlock">

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONTRACT "/>

+                      <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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/contrProp">

+                          <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=" REFINEDBY "/>

+                      <body xsi:type="mtl:QueryInvocation" definition="/0/getRefinedBy">

+                        <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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/contrProp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                        </argument>

+                      </body>

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                      <letVariable name="contract">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                          <source 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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/contrProp">

+                              <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"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                          </argument>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                        </initExpression>

+                      </letVariable>

+                    </body>

+                    <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isRefined">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/contrProp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                      </argument>

+                    </ifExpr>

+                  </body>

+                  <loopVariable name="contrProp">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </loopVariable>

+                  <iterSet xsi:type="ocl.ecore:VariableExp" name="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps"/>

+                </body>

+                <letVariable name="contrProps" eType="/3/OrderedSet(Property)">

+                  <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                      <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                        <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#//StructuredClassifier/ownedAttribute"/>

+                    </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="/3/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/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/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/generateComponent/@init/@variable.3">

+                              <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/notEmpty"/>

+                    </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>

+            </else>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+          <body xsi:type="mtl:IfBlock">

+            <body xsi:type="mtl:ForBlock">

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="mtl:ForBlock">

+                      <body xsi:type="mtl:LetBlock">

+                        <body xsi:type="mtl:IfBlock">

+                          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONSISTENCY NAME "/>

+                          <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="nextblock" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                            </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="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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/contrProp">

+                              <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="_consistency := "/>

+                          <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="part" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/part">

+                              <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="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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/contrProp">

+                              <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=".ASSUMPTION;&#xD;&#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/isWeakContract">

+                              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                              <argument xsi:type="ocl.ecore:VariableExp" name="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/contrProp">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                              </argument>

+                            </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="mtl:QueryInvocation" definition="/0/isAssumptionTrue">

+                                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                                <argument xsi:type="ocl.ecore:VariableExp" name="contract" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/contract">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                                </argument>

+                              </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"/>

+                          </ifExpr>

+                        </body>

+                        <letVariable name="contract">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                          <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                            <source 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="contrProp" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/contrProp">

+                                <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"/>

+                            </source>

+                            <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Class">

+                              <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                            </argument>

+                            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                          </initExpression>

+                        </letVariable>

+                      </body>

+                      <loopVariable name="contrProp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                      </loopVariable>

+                      <iterSet xsi:type="ocl.ecore:VariableExp" name="contrProps" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps"/>

+                    </body>

+                    <letVariable name="contrProps" eType="/3/OrderedSet(Property)">

+                      <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+                        <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="nextblock" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock">

+                            <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#//StructuredClassifier/ownedAttribute"/>

+                        </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="/3/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/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/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/generateComponent/@init/@variable.3">

+                                  <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/notEmpty"/>

+                        </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>

+                  <letVariable name="nextblock">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateComponent/allBlocks"/>

+                      <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:PropertyCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>

+                          <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/part">

+                            <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"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/c">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

+                      </body>

+                      <iterator xsi:type="ocl.ecore:Variable" name="c">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </iterator>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/isPart">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%.8/%/part">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </argument>

+                </ifExpr>

+              </body>

+              <loopVariable name="part">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </loopVariable>

+              <iterSet xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/parts"/>

+            </body>

+            <ifExpr xsi:type="ocl.ecore:VariableExp" name="checkWeak" referredVariable="/0/generateComponent/checkWeak">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+            </ifExpr>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+          <body xsi:type="mtl:ForBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>

+                <body xsi:type="mtl:TemplateInvocation" definition="/0/generateComponent">

+                  <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="newblock" referredVariable="/0/generateComponent/%.5/%.4/%.10/%/%/newblock">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  </argument>

+                  <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  </argument>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateComponent/allBlocks"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateComponent/generated"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="checkWeak" referredVariable="/0/generateComponent/checkWeak">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  </argument>

+                </body>

+                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+                <letVariable name="newblock">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    <source xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateComponent/allBlocks"/>

+                    <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:PropertyCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%.10/part">

+                          <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"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/c">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

+                    </body>

+                    <iterator xsi:type="ocl.ecore:Variable" name="c">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </iterator>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <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/isPart">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%.10/part">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </argument>

+                </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="mtl:QueryInvocation" definition="/0/isAlreadyGenerated">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                    <argument 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#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateComponent/%.5/%.4/%.10/part">

+                          <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"/>

+                      </source>

+                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                    </argument>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateComponent/generated"/>

+                  </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"/>

+              </ifExpr>

+            </body>

+            <loopVariable name="part">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </loopVariable>

+            <iterSet xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/OrderedSet(Property)" referredVariable="/0/generateComponent/%.5/%.4/parts"/>

+          </body>

+          <letVariable name="parts" eType="/3/OrderedSet(Property)">

+            <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/3/OrderedSet(Property)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                  <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#//StructuredClassifier/ownedAttribute"/>

+              </source>

+              <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Property">

+                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </argument>

+            </initExpression>

+          </letVariable>

+        </body>

+        <letVariable name="props" eType="/3/OrderedSet(Property)">

+          <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/3/OrderedSet(Property)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateComponent/block">

+                <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#//StructuredClassifier/ownedAttribute"/>

+            </source>

+            <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Property">

+              <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </argument>

+          </initExpression>

+        </letVariable>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>

+      <parameter name="block">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </parameter>

+      <parameter name="isSystem">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+      </parameter>

+      <parameter name="allBlocks" eType="/3/Set(Class)"/>

+      <parameter name="generated" eType="/3/Set(String)"/>

+      <parameter name="checkWeak">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+      </parameter>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getInterface" visibility="Public">

+      <parameter name="port">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+      </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="/207">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+        </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="getInterface(org.eclipse.uml2.uml.Port)">

+          <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="/3/Sequence(Port)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/getInterface/port">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getReturn" visibility="Public">

+      <parameter name="op">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+      </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="/210">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+        </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="getReturn(org.eclipse.uml2.uml.Operation)">

+          <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="/3/Sequence(Operation)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="op" referredVariable="/0/getReturn/op">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+            </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="getParamList" visibility="Public">

+      <parameter name="op">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+      </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="/213">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+        </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="getParamList(org.eclipse.uml2.uml.Operation)">

+          <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="/3/Sequence(Operation)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="op" referredVariable="/0/getParamList/op">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+            </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="getOperationName" visibility="Public">

+      <parameter name="op">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+      </parameter>

+      <parameter name="port">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+      </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="/216">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+        </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="getOperationName(org.eclipse.uml2.uml.Operation, org.eclipse.uml2.uml.Port)">

+          <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="/3/Sequence(ParameterableElement)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="op" referredVariable="/0/getOperationName/op">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/getOperationName/port">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+            </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="getSystem" visibility="Public">

+      <parameter name="classes" eType="/3/Set(Class)"/>

+      <parameter name="qname">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </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" eType="/3/Set(Class)" referredVariable="/219"/>

+        <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="getSystem(java.util.Set, java.lang.String)">

+          <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="/3/Sequence(OclAny)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(Class)">

+            <item xsi:type="ocl.ecore:VariableExp" name="classes" eType="/3/Set(Class)" referredVariable="/0/getSystem/classes"/>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="qname" referredVariable="/0/getSystem/qname">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getAllBlocks" visibility="Public" type="/3/Set(Class)">

+      <parameter name="classes" eType="/3/Set(Class)"/>

+      <parameter name="blockQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="SubSystemQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="SystemQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(Class)">

+        <source xsi:type="ocl.ecore:VariableExp" name="classes" eType="/3/Set(Class)" referredVariable="/0/getAllBlocks/classes"/>

+        <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:CollectionLiteralExp" eType="/3/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="c" referredVariable="/0/getAllBlocks/select/c">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="blockQN" referredVariable="/0/getAllBlocks/blockQN">

+                      <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/notEmpty"/>

+            </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:CollectionLiteralExp" eType="/3/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="c" referredVariable="/0/getAllBlocks/select/c">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="SubSystemQN" referredVariable="/0/getAllBlocks/SubSystemQN">

+                      <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/notEmpty"/>

+            </argument>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+          </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:CollectionLiteralExp" eType="/3/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="c" referredVariable="/0/getAllBlocks/select/c">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="SystemQN" referredVariable="/0/getAllBlocks/SystemQN">

+                    <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/notEmpty"/>

+          </argument>

+          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+        </body>

+        <iterator xsi:type="ocl.ecore:Variable" name="c">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </iterator>

+      </expression>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getAllComponents" visibility="Public" type="/3/Set(Component)">

+      <parameter name="hwcomps" eType="/3/Set(Component)"/>

+      <parameter name="comps" eType="/3/Set(Component)"/>

+      <parameter name="CompImplQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="PlatformQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Component)">

+        <source xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Set(Component)">

+          <source xsi:type="ocl.ecore:VariableExp" name="comps" eType="/3/Set(Component)" referredVariable="/0/getAllComponents/comps"/>

+          <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:CollectionLiteralExp" eType="/3/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="c" referredVariable="/0/getAllComponents/%/select/c">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="CompImplQN" referredVariable="/0/getAllComponents/CompImplQN">

+                      <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/notEmpty"/>

+            </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:CollectionLiteralExp" eType="/3/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="c" referredVariable="/0/getAllComponents/%/select/c">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="PlatformQN" referredVariable="/0/getAllComponents/PlatformQN">

+                      <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/notEmpty"/>

+            </argument>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+          </body>

+          <iterator xsi:type="ocl.ecore:Variable" name="c">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+          </iterator>

+        </source>

+        <argument xsi:type="ocl.ecore:VariableExp" name="hwcomps" eType="/3/Set(Component)" referredVariable="/0/getAllComponents/hwcomps"/>

+        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/union.1"/>

+      </expression>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getDirection" visibility="Public">

+      <parameter name="dir">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:IfExp">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <condition 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="self" referredVariable="/228">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </source>

+          <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="in">

+            <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/="/>

+        </condition>

+        <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="INPUT ">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </thenExpression>

+        <elseExpression xsi:type="ocl.ecore:IfExp">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          <condition 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="self" referredVariable="/228">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </source>

+            <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="out">

+              <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/="/>

+          </condition>

+          <thenExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="OUTPUT ">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </thenExpression>

+          <elseExpression xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </elseExpression>

+        </elseExpression>

+      </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="isPart" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:IfExp">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <condition 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: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#//Type"/>

+                  <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/231">

+                    <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"/>

+                </source>

+                <argument xsi:type="ocl.ecore:TypeExp" eType="/21/Component">

+                  <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>

+              </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:CollectionLiteralExp" eType="/3/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:PropertyCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/231">

+                          <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"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CHESS::ComponentModel::ComponentImplementation">

+                        <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/notEmpty"/>

+              </argument>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+            </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:CollectionLiteralExp" eType="/3/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:PropertyCallExp">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/231">

+                        <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"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="SysML::Blocks::Block">

+                      <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/notEmpty"/>

+            </argument>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+          </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:CollectionLiteralExp" eType="/3/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:PropertyCallExp">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>

+                    <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/231">

+                      <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"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CHESSContract::SubSystem">

+                    <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/notEmpty"/>

+          </argument>

+          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+        </condition>

+        <thenExpression xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </thenExpression>

+        <elseExpression xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </elseExpression>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="isDelegation" visibility="Public">

+      <parameter name="conn">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:IfExp">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <condition 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#//Property"/>

+              <source xsi:type="ocl.ecore:OperationCallExp">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/isDelegation/conn">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                  </source>

+                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                </source>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+              </source>

+              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+            </source>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+          </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:PropertyCallExp">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              <source xsi:type="ocl.ecore:OperationCallExp">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/isDelegation/conn">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                  </source>

+                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+                </source>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/last"/>

+              </source>

+              <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+            </source>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+          </argument>

+          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/xor"/>

+        </condition>

+        <thenExpression xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </thenExpression>

+        <elseExpression xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </elseExpression>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="firstIsSub" visibility="Public">

+      <parameter name="conn">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:IfExp">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <condition 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#//Property"/>

+            <source xsi:type="ocl.ecore:OperationCallExp">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(ConnectorEnd)">

+                <source xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/firstIsSub/conn">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+                </source>

+                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector/end"/>

+              </source>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/first"/>

+            </source>

+            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd/partWithPort"/>

+          </source>

+          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+        </condition>

+        <thenExpression xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </thenExpression>

+        <elseExpression xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </elseExpression>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getNewBlocks" visibility="Public" type="/3/Set(String)">

+      <parameter name="parts" eType="/3/Set(Property)"/>

+      <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" eType="/3/Set(Property)" referredVariable="/240"/>

+        <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="getNewBlocks(java.util.Set)">

+          <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="/3/Sequence(Set(Property))" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(Property)">

+            <item xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/Set(Property)" referredVariable="/0/getNewBlocks/parts"/>

+          </part>

+        </argument>

+      </expression>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getEmptyStringSet" visibility="Public" type="/3/Set(String)">

+      <parameter name="traceCtx">

+        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+      </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="/243">

+          <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        </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="getEmptyStringSet()">

+          <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="/3/Sequence(OclVoid)" kind="Sequence"/>

+      </expression>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="addToGenerated" visibility="Public">

+      <parameter name="name">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="generated" eType="/3/Set(String)"/>

+      <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="/246">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </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="addToGenerated(java.lang.String, java.util.Set)">

+          <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="/3/Sequence(OclAny)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/addToGenerated/name">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(String)">

+            <item xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/addToGenerated/generated"/>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="isAlreadyGenerated" visibility="Public">

+      <parameter name="name">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="generated" eType="/3/Set(String)"/>

+      <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="/249">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </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="isAlreadyGenerated(java.lang.String, java.util.Set)">

+          <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="/3/Sequence(OclAny)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/isAlreadyGenerated/name">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(String)">

+            <item xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/isAlreadyGenerated/generated"/>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getAssume" visibility="Public">

+      <parameter name="contract">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </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="/252">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </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="getAssume(org.eclipse.uml2.uml.Class)">

+          <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="/3/Sequence(Class)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="contract" referredVariable="/0/getAssume/contract">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </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="getGuarantee" visibility="Public">

+      <parameter name="contract">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </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="/255">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </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="getGuarantee(org.eclipse.uml2.uml.Class)">

+          <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="/3/Sequence(Class)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="contract" referredVariable="/0/getGuarantee/contract">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </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="isRefined" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/258">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="isRefined(org.eclipse.uml2.uml.Property)">

+          <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="/3/Sequence(Property)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/isRefined/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getRefinedBy" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/261">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="getRefinedBy(org.eclipse.uml2.uml.Property)">

+          <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="/3/Sequence(Property)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/getRefinedBy/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </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="getRefinedByStrongWeak" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </parameter>

+      <parameter name="parts" eType="/3/Set(Property)"/>

+      <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="/264">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="getRefinedByStrongWeak(org.eclipse.uml2.uml.Property,java.util.Set)">

+          <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="/3/Sequence(OclAny)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/getRefinedByStrongWeak/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(Property)">

+            <item xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/Set(Property)" referredVariable="/0/getRefinedByStrongWeak/parts"/>

+          </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="getRefinedByAllWeak" visibility="Public">

+      <parameter name="props" eType="/3/Set(Property)"/>

+      <parameter name="parts" eType="/3/Set(Property)"/>

+      <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" eType="/3/Set(Property)" referredVariable="/267"/>

+        <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="getRefinedByAllWeak(java.util.Set,java.util.Set)">

+          <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="/3/Sequence(Set(Property))" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(Property)">

+            <item xsi:type="ocl.ecore:VariableExp" name="props" eType="/3/Set(Property)" referredVariable="/0/getRefinedByAllWeak/props"/>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem" eType="/3/Set(Property)">

+            <item xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/Set(Property)" referredVariable="/0/getRefinedByAllWeak/parts"/>

+          </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="getContractType" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/270">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="getContractType(org.eclipse.uml2.uml.Property)">

+          <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="/3/Sequence(Property)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/getContractType/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </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="isWeakContract" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/273">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="isWeakContract(org.eclipse.uml2.uml.Property)">

+          <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="/3/Sequence(Property)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/isWeakContract/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="isAssumptionTrue" visibility="Public">

+      <parameter name="contract">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </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="/276">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </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="isAssumptionTrue(org.eclipse.uml2.uml.Class)">

+          <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="/3/Sequence(Class)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="contract" referredVariable="/0/isAssumptionTrue/contract">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="checkRules" visibility="Public">

+      <parameter name="conn">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </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="/279">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </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="checkRules(org.eclipse.uml2.uml.Connector)">

+          <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="/3/Sequence(Connector)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/checkRules/conn">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="checkConnectedPorts" visibility="Public">

+      <parameter name="conn">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </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="/282">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </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="checkConnectedPorts(org.eclipse.uml2.uml.Connector)">

+          <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="/3/Sequence(Connector)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/checkConnectedPorts/conn">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="checkOperationPorts" visibility="Public">

+      <parameter name="conn">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </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="/285">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </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="checkOperationPorts(org.eclipse.uml2.uml.Connector)">

+          <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="/3/Sequence(Connector)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/checkOperationPorts/conn">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getOperationConnections" visibility="Public">

+      <parameter name="conn">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </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="/288">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </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="getOperationConnections(org.eclipse.uml2.uml.Connector)">

+          <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="/3/Sequence(Connector)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="conn" referredVariable="/0/getOperationConnections/conn">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+            </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="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="/291">

+          <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="/3/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>

+  </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>

+      <eOperations name="startsWith">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="substring">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="endsWith">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="substring">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="contains">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="substring">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="equalsIgnoreCase">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="other">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+    </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="mainTemplate">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/mainTemplate"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="model">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+        </eParameters>

+        <eParameters name="sysQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="sysName">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="filename">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="checkWeakContracts">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="generateComponent">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/generateComponent"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="block">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+        <eParameters name="isSystem">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </eParameters>

+        <eParameters name="allBlocks" eType="/3/Set(Class)"/>

+        <eParameters name="generated" eType="/3/Set(String)"/>

+        <eParameters name="checkWeak">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getInterface">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getInterface"/>

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>

+        <eParameters name="port">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getReturn">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getReturn"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="op">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getParamList">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getParamList"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="op">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getOperationName">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getOperationName"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="op">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+        </eParameters>

+        <eParameters name="port">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getSystem">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getSystem"/>

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        <eParameters name="classes" eType="/3/Set(Class)"/>

+        <eParameters name="qname">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getAllBlocks" eType="/3/Set(Class)">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getAllBlocks"/>

+        <eParameters name="classes" eType="/3/Set(Class)"/>

+        <eParameters name="blockQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="SubSystemQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="SystemQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getAllComponents" eType="/3/Set(Component)">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getAllComponents"/>

+        <eParameters name="hwcomps" eType="/3/Set(Component)"/>

+        <eParameters name="comps" eType="/3/Set(Component)"/>

+        <eParameters name="CompImplQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="PlatformQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getDirection">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getDirection"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="dir">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isPart">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/isPart"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isDelegation">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/isDelegation"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="conn">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="firstIsSub">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/firstIsSub"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="conn">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getNewBlocks" eType="/3/Set(String)">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getNewBlocks"/>

+        <eParameters name="parts" eType="/3/Set(Property)"/>

+      </eOperations>

+      <eOperations name="getEmptyStringSet" eType="/3/Set(String)">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getEmptyStringSet"/>

+        <eParameters name="traceCtx">

+          <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="addToGenerated">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/addToGenerated"/>

+        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        <eParameters name="name">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="generated" eType="/3/Set(String)"/>

+      </eOperations>

+      <eOperations name="isAlreadyGenerated">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/isAlreadyGenerated"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="name">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="generated" eType="/3/Set(String)"/>

+      </eOperations>

+      <eOperations name="getAssume">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getAssume"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="contract">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getGuarantee">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getGuarantee"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="contract">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isRefined">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/isRefined"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getRefinedBy">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getRefinedBy"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getRefinedByStrongWeak">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getRefinedByStrongWeak"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+        <eParameters name="parts" eType="/3/Set(Property)"/>

+      </eOperations>

+      <eOperations name="getRefinedByAllWeak">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getRefinedByAllWeak"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="props" eType="/3/Set(Property)"/>

+        <eParameters name="parts" eType="/3/Set(Property)"/>

+      </eOperations>

+      <eOperations name="getContractType">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getContractType"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isWeakContract">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/isWeakContract"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isAssumptionTrue">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/isAssumptionTrue"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="contract">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="checkRules">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/checkRules"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="conn">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="checkConnectedPorts">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/checkConnectedPorts"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="conn">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="checkOperationPorts">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/checkOperationPorts"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="conn">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getOperationConnections">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getOperationConnections"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="conn">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+        </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="generateImplementation">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generateImplementation.emtl#/0/generateImplementation"/>

+        </eAnnotations>

+        <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>

+    </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="toString">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </eOperations>

+      <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_Model_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Class_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Port_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Operation_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="collections_Set(Class)_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL" references="/3/Set(Class)"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="collections_Set(Component)_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL" references="/3/Set(Component)"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Property_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Connector_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="collections_Set(Property)_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL" references="/3/Set(Property)"/>

+    </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>

+    <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>

+  </ecore:EPackage>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>

+  </ocl.ecore:Variable>

+  <ecore:EPackage name="collections">

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Class)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(String)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Component)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">

+      <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(Package)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+    </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(Element)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Class)" instanceClassName="org.eclipse.ocl.util.Bag">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(StateMachine)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </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(Operation)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Connector)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(ConnectorEnd)" instanceClassName="java.util.LinkedHashSet">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ConnectorEnd"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Constraint)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(String)" instanceClassName="java.util.LinkedHashSet">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Boolean)" instanceClassName="java.util.List">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Port)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+    </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(Operation)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(ParameterableElement)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterableElement"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Component)" instanceClassName="org.eclipse.ocl.util.Bag">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Set(Property))" instanceClassName="java.util.List" elementType="/3/Set(Property)"/>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(OclVoid)" instanceClassName="java.util.List">

+      <elementType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Class)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Property)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Connector)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+    </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>

+  </ecore:EPackage>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </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#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ecore:EPackage name="types">

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Class">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Component">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="StateMachine">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Property">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Port">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueExpression">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+    </eClassifiers>

+  </ecore:EPackage>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </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#//StateMachine"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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#//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#//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#//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#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </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="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#//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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Property"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Property"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Property"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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#//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#//Property"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </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#//Port"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+  </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#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </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#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </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#//Operation"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+  </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="/3/Set(Class)"/>

+  <ocl.ecore:Variable name="self" eType="/3/Set(Class)"/>

+  <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="/3/Set(Class)"/>

+  <ocl.ecore:Variable name="self" eType="/3/Set(Class)"/>

+  <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="/3/Set(Component)"/>

+  <ocl.ecore:Variable name="self" eType="/3/Set(Component)"/>

+  <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="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="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/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#//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/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#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </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#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </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="/3/Set(Property)"/>

+  <ocl.ecore:Variable name="self" eType="/3/Set(Property)"/>

+  <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="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+  </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="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="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/emf/2002/Ecore#//EObject"/>

+  </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="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/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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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/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#//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/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#//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/emf/2002/Ecore#//EObject"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self" eType="/3/Set(Property)"/>

+  <ocl.ecore:Variable name="self" eType="/3/Set(Property)"/>

+  <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#//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/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#//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/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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </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#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </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#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </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#//Connector"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+  </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>

+  <ecore:EAnnotation source="positions">

+    <eAnnotations source="positions.0" references="/0/mainTemplate">

+      <details key="start" value="907"/>

+      <details key="end" value="3045"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1" references="/0/mainTemplate/@init">

+      <details key="start" value="1033"/>

+      <details key="end" value="1561"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.2" references="/0/mainTemplate/@init/@variable.0">

+      <details key="start" value="1037"/>

+      <details key="end" value="1080"/>

+      <details key="line" value="24"/>

+    </eAnnotations>

+    <eAnnotations source="positions.3" references="/0/mainTemplate/@init/@variable.0/%">

+      <details key="start" value="1057"/>

+      <details key="end" value="1080"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.4" references="/0/mainTemplate/@init/@variable.1">

+      <details key="start" value="1084"/>

+      <details key="end" value="1133"/>

+      <details key="line" value="25"/>

+    </eAnnotations>

+    <eAnnotations source="positions.5" references="/0/mainTemplate/@init/@variable.1/%">

+      <details key="start" value="1107"/>

+      <details key="end" value="1133"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.6" references="/0/mainTemplate/@init/@variable.2">

+      <details key="start" value="1137"/>

+      <details key="end" value="1198"/>

+      <details key="line" value="26"/>

+    </eAnnotations>

+    <eAnnotations source="positions.7" references="/0/mainTemplate/@init/@variable.2/%">

+      <details key="start" value="1161"/>

+      <details key="end" value="1198"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.8" references="/0/mainTemplate/@init/@variable.3">

+      <details key="start" value="1202"/>

+      <details key="end" value="1264"/>

+      <details key="line" value="27"/>

+    </eAnnotations>

+    <eAnnotations source="positions.9" references="/0/mainTemplate/@init/@variable.3/%">

+      <details key="start" value="1224"/>

+      <details key="end" value="1264"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.10" references="/0/mainTemplate/@init/@variable.4">

+      <details key="start" value="1268"/>

+      <details key="end" value="1331"/>

+      <details key="line" value="28"/>

+    </eAnnotations>

+    <eAnnotations source="positions.11" references="/0/mainTemplate/@init/@variable.4/%">

+      <details key="start" value="1290"/>

+      <details key="end" value="1331"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.12" references="/0/mainTemplate/@init/@variable.5">

+      <details key="start" value="1335"/>

+      <details key="end" value="1405"/>

+      <details key="line" value="29"/>

+    </eAnnotations>

+    <eAnnotations source="positions.13" references="/0/mainTemplate/@init/@variable.5/%">

+      <details key="start" value="1357"/>

+      <details key="end" value="1405"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.14" references="/0/mainTemplate/@init/@variable.6">

+      <details key="start" value="1409"/>

+      <details key="end" value="1456"/>

+      <details key="line" value="30"/>

+    </eAnnotations>

+    <eAnnotations source="positions.15" references="/0/mainTemplate/@init/@variable.6/%">

+      <details key="start" value="1431"/>

+      <details key="end" value="1456"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.16" references="/0/mainTemplate/@init/@variable.7">

+      <details key="start" value="1460"/>

+      <details key="end" value="1501"/>

+      <details key="line" value="31"/>

+    </eAnnotations>

+    <eAnnotations source="positions.17" references="/0/mainTemplate/@init/@variable.7/%">

+      <details key="start" value="1479"/>

+      <details key="end" value="1501"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.18" references="/0/mainTemplate/@init/@variable.8">

+      <details key="start" value="1505"/>

+      <details key="end" value="1555"/>

+      <details key="line" value="32"/>

+    </eAnnotations>

+    <eAnnotations source="positions.19" references="/0/mainTemplate/@init/@variable.8/%">

+      <details key="start" value="1526"/>

+      <details key="end" value="1555"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.20" references="/0/mainTemplate/%">

+      <details key="start" value="1583"/>

+      <details key="end" value="2684"/>

+      <details key="line" value="36"/>

+    </eAnnotations>

+    <eAnnotations source="positions.21" references="/0/mainTemplate/%/%">

+      <details key="start" value="1662"/>

+      <details key="end" value="2675"/>

+      <details key="line" value="37"/>

+    </eAnnotations>

+    <eAnnotations source="positions.22" references="/0/mainTemplate/%/%/%">

+      <details key="start" value="1783"/>

+      <details key="end" value="2666"/>

+      <details key="line" value="38"/>

+    </eAnnotations>

+    <eAnnotations source="positions.23" references="/0/mainTemplate/%/%/%/%">

+      <details key="start" value="1903"/>

+      <details key="end" value="2657"/>

+      <details key="line" value="39"/>

+    </eAnnotations>

+    <eAnnotations source="positions.24" references="/0/mainTemplate/%/%/%/%/%">

+      <details key="start" value="2026"/>

+      <details key="end" value="2648"/>

+      <details key="line" value="40"/>

+    </eAnnotations>

+    <eAnnotations source="positions.25" references="/0/mainTemplate/%/%/%/%/%/%">

+      <details key="start" value="2206"/>

+      <details key="end" value="2639"/>

+      <details key="line" value="41"/>

+    </eAnnotations>

+    <eAnnotations source="positions.26" references="/0/mainTemplate/%/%/%/%/%/%/%">

+      <details key="start" value="2389"/>

+      <details key="end" value="2630"/>

+      <details key="line" value="42"/>

+    </eAnnotations>

+    <eAnnotations source="positions.27" references="/0/mainTemplate/%/%/%/%/%/%/%/%">

+      <details key="start" value="2443"/>

+      <details key="end" value="2621"/>

+      <details key="line" value="43"/>

+    </eAnnotations>

+    <eAnnotations source="positions.28" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%">

+      <details key="start" value="2496"/>

+      <details key="end" value="2610"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.29" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/system">

+      <details key="start" value="2514"/>

+      <details key="end" value="2520"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.30" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%">

+      <details key="start" value="2522"/>

+      <details key="end" value="2526"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.31" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%.1">

+      <details key="start" value="2528"/>

+      <details key="end" value="2554"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.32" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%.1/allBlocks">

+      <details key="start" value="2528"/>

+      <details key="end" value="2537"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.33" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%.1/allComps">

+      <details key="start" value="2545"/>

+      <details key="end" value="2553"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.34" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/generated">

+      <details key="start" value="2556"/>

+      <details key="end" value="2565"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.35" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%.2">

+      <details key="start" value="2566"/>

+      <details key="end" value="2609"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.36" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%.2/checkWeakContracts">

+      <details key="start" value="2566"/>

+      <details key="end" value="2584"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.37" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%/%.2/%">

+      <details key="start" value="2602"/>

+      <details key="end" value="2608"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.38" references="/0/mainTemplate/%/%/%/%/%/%/%/%/%.1">

+      <details key="start" value="2612"/>

+      <details key="end" value="2614"/>

+      <details key="line" value="45"/>

+    </eAnnotations>

+    <eAnnotations source="positions.39" references="/0/mainTemplate/%/%/%/%/%/%/%/%/system">

+      <details key="start" value="2448"/>

+      <details key="end" value="2492"/>

+      <details key="line" value="43"/>

+    </eAnnotations>

+    <eAnnotations source="positions.40" references="/0/mainTemplate/%/%/%/%/%/%/%/%/system/%">

+      <details key="start" value="2466"/>

+      <details key="end" value="2493"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.41" references="/0/mainTemplate/%/%/%/%/%/%/%/%/system/%/allBlocks">

+      <details key="start" value="2476"/>

+      <details key="end" value="2485"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.42" references="/0/mainTemplate/%/%/%/%/%/%/%/%/system/%/sysQN">

+      <details key="start" value="2487"/>

+      <details key="end" value="2492"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.43" references="/0/mainTemplate/%/%/%/%/%/%/%/generated">

+      <details key="start" value="2394"/>

+      <details key="end" value="2439"/>

+      <details key="line" value="42"/>

+    </eAnnotations>

+    <eAnnotations source="positions.44" references="/0/mainTemplate/%/%/%/%/%/%/%/generated/%">

+      <details key="start" value="2421"/>

+      <details key="end" value="2440"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.45" references="/0/mainTemplate/%/%/%/%/%/%/%/generated/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.46" references="/0/mainTemplate/%/%/%/%/%/%/allComps">

+      <details key="start" value="2211"/>

+      <details key="end" value="2385"/>

+      <details key="line" value="41"/>

+    </eAnnotations>

+    <eAnnotations source="positions.47" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%">

+      <details key="start" value="2240"/>

+      <details key="end" value="2386"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.48" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%">

+      <details key="start" value="2257"/>

+      <details key="end" value="2309"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.49" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%/%">

+      <details key="start" value="2257"/>

+      <details key="end" value="2290"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.50" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%/%/deploymentView">

+      <details key="start" value="2257"/>

+      <details key="end" value="2271"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.51" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%/%.1">

+      <details key="start" value="2299"/>

+      <details key="end" value="2308"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.52" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%.1">

+      <details key="start" value="2311"/>

+      <details key="end" value="2362"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.53" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%.1/%">

+      <details key="start" value="2311"/>

+      <details key="end" value="2343"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.54" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%.1/%/componentView">

+      <details key="start" value="2311"/>

+      <details key="end" value="2324"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.55" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/%.1/%.1">

+      <details key="start" value="2352"/>

+      <details key="end" value="2361"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.56" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/CompImplQN">

+      <details key="start" value="2364"/>

+      <details key="end" value="2374"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.57" references="/0/mainTemplate/%/%/%/%/%/%/allComps/%/SRACompQN">

+      <details key="start" value="2376"/>

+      <details key="end" value="2385"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.58" references="/0/mainTemplate/%/%/%/%/%/allBlocks">

+      <details key="start" value="2031"/>

+      <details key="end" value="2202"/>

+      <details key="line" value="40"/>

+    </eAnnotations>

+    <eAnnotations source="positions.59" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%">

+      <details key="start" value="2057"/>

+      <details key="end" value="2203"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.60" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%">

+      <details key="start" value="2070"/>

+      <details key="end" value="2170"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.61" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%">

+      <details key="start" value="2070"/>

+      <details key="end" value="2117"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.62" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%/%">

+      <details key="start" value="2070"/>

+      <details key="end" value="2102"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.63" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%/%/componentView">

+      <details key="start" value="2070"/>

+      <details key="end" value="2083"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.64" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%/%.1">

+      <details key="start" value="2111"/>

+      <details key="end" value="2116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.65" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%.1">

+      <details key="start" value="2125"/>

+      <details key="end" value="2169"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.66" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%.1/%">

+      <details key="start" value="2125"/>

+      <details key="end" value="2154"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.67" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%.1/%/systemView">

+      <details key="start" value="2125"/>

+      <details key="end" value="2135"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.68" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/%/%.1/%.1">

+      <details key="start" value="2163"/>

+      <details key="end" value="2168"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.69" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/BlockQN">

+      <details key="start" value="2172"/>

+      <details key="end" value="2179"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.70" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/SubSystemQN">

+      <details key="start" value="2181"/>

+      <details key="end" value="2192"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.71" references="/0/mainTemplate/%/%/%/%/%/allBlocks/%/SystemQN">

+      <details key="start" value="2194"/>

+      <details key="end" value="2202"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.72" references="/0/mainTemplate/%/%/%/%/deploymentView">

+      <details key="start" value="1908"/>

+      <details key="end" value="2022"/>

+      <details key="line" value="39"/>

+    </eAnnotations>

+    <eAnnotations source="positions.73" references="/0/mainTemplate/%/%/%/%/deploymentView/any">

+      <details key="start" value="1938"/>

+      <details key="end" value="2024"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.74" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%">

+      <details key="start" value="1938"/>

+      <details key="end" value="1957"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.75" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%/model">

+      <details key="start" value="1938"/>

+      <details key="end" value="1943"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.76" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%.1">

+      <details key="start" value="1977"/>

+      <details key="end" value="2023"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.77" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.78" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%.1/%/%/%">

+      <details key="start" value="1977"/>

+      <details key="end" value="2011"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.79" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%.1/%/%/%/p">

+      <details key="start" value="1977"/>

+      <details key="end" value="1978"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.80" references="/0/mainTemplate/%/%/%/%/deploymentView/any/%.1/%/%/%/DeplViewQN">

+      <details key="start" value="2000"/>

+      <details key="end" value="2010"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.81" references="/0/mainTemplate/%/%/%/%/deploymentView/any/p">

+      <details key="start" value="1963"/>

+      <details key="end" value="1974"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.82" references="/0/mainTemplate/%/%/%/systemView">

+      <details key="start" value="1788"/>

+      <details key="end" value="1899"/>

+      <details key="line" value="38"/>

+    </eAnnotations>

+    <eAnnotations source="positions.83" references="/0/mainTemplate/%/%/%/systemView/any">

+      <details key="start" value="1812"/>

+      <details key="end" value="1900"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.84" references="/0/mainTemplate/%/%/%/systemView/any/%">

+      <details key="start" value="1812"/>

+      <details key="end" value="1831"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.85" references="/0/mainTemplate/%/%/%/systemView/any/%/model">

+      <details key="start" value="1812"/>

+      <details key="end" value="1817"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.86" references="/0/mainTemplate/%/%/%/systemView/any/%.1">

+      <details key="start" value="1851"/>

+      <details key="end" value="1899"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.87" references="/0/mainTemplate/%/%/%/systemView/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.88" references="/0/mainTemplate/%/%/%/systemView/any/%.1/%/%/%">

+      <details key="start" value="1851"/>

+      <details key="end" value="1887"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.89" references="/0/mainTemplate/%/%/%/systemView/any/%.1/%/%/%/p">

+      <details key="start" value="1851"/>

+      <details key="end" value="1852"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.90" references="/0/mainTemplate/%/%/%/systemView/any/%.1/%/%/%/SystemViewQN">

+      <details key="start" value="1874"/>

+      <details key="end" value="1886"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.91" references="/0/mainTemplate/%/%/%/systemView/any/p">

+      <details key="start" value="1837"/>

+      <details key="end" value="1848"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.92" references="/0/mainTemplate/%/%/componentView">

+      <details key="start" value="1667"/>

+      <details key="end" value="1779"/>

+      <details key="line" value="37"/>

+    </eAnnotations>

+    <eAnnotations source="positions.93" references="/0/mainTemplate/%/%/componentView/any">

+      <details key="start" value="1694"/>

+      <details key="end" value="1780"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.94" references="/0/mainTemplate/%/%/componentView/any/%">

+      <details key="start" value="1694"/>

+      <details key="end" value="1713"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.95" references="/0/mainTemplate/%/%/componentView/any/%/model">

+      <details key="start" value="1694"/>

+      <details key="end" value="1699"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.96" references="/0/mainTemplate/%/%/componentView/any/%.1">

+      <details key="start" value="1733"/>

+      <details key="end" value="1779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.97" references="/0/mainTemplate/%/%/componentView/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.98" references="/0/mainTemplate/%/%/componentView/any/%.1/%/%/%">

+      <details key="start" value="1733"/>

+      <details key="end" value="1767"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.99" references="/0/mainTemplate/%/%/componentView/any/%.1/%/%/%/p">

+      <details key="start" value="1733"/>

+      <details key="end" value="1734"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.100" references="/0/mainTemplate/%/%/componentView/any/%.1/%/%/%/CompViewQN">

+      <details key="start" value="1756"/>

+      <details key="end" value="1766"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.101" references="/0/mainTemplate/%/%/componentView/any/p">

+      <details key="start" value="1719"/>

+      <details key="end" value="1730"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.102" references="/0/mainTemplate/%/%.1">

+      <details key="start" value="1590"/>

+      <details key="end" value="1641"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.103" references="/0/mainTemplate/%/%.1/%">

+      <details key="start" value="1590"/>

+      <details key="end" value="1626"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.104" references="/0/mainTemplate/%/%.1/%/%">

+      <details key="start" value="1590"/>

+      <details key="end" value="1610"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.105" references="/0/mainTemplate/%/%.1/%/%/filename">

+      <details key="start" value="1590"/>

+      <details key="end" value="1598"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.106" references="/0/mainTemplate/%/%.1/%/%/%">

+      <details key="start" value="1606"/>

+      <details key="end" value="1609"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.107" references="/0/mainTemplate/%/%.1/%/sysName">

+      <details key="start" value="1618"/>

+      <details key="end" value="1625"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.108" references="/0/mainTemplate/%/%.1/%.1">

+      <details key="start" value="1634"/>

+      <details key="end" value="1640"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.109" references="/0/mainTemplate/%/%.2">

+      <details key="start" value="1650"/>

+      <details key="end" value="1657"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.110" references="/0/mainTemplate/%.1">

+      <details key="start" value="2686"/>

+      <details key="end" value="2688"/>

+      <details key="line" value="53"/>

+    </eAnnotations>

+    <eAnnotations source="positions.111" references="/0/mainTemplate/%.2">

+      <details key="start" value="2688"/>

+      <details key="end" value="3028"/>

+      <details key="line" value="54"/>

+    </eAnnotations>

+    <eAnnotations source="positions.112" references="/0/mainTemplate/%.2/%">

+      <details key="start" value="2765"/>

+      <details key="end" value="3020"/>

+      <details key="line" value="55"/>

+    </eAnnotations>

+    <eAnnotations source="positions.113" references="/0/mainTemplate/%.2/%/%">

+      <details key="start" value="2882"/>

+      <details key="end" value="3012"/>

+      <details key="line" value="56"/>

+    </eAnnotations>

+    <eAnnotations source="positions.114" references="/0/mainTemplate/%.2/%/%/%">

+      <details key="start" value="2953"/>

+      <details key="end" value="3002"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.115" references="/0/mainTemplate/%.2/%/%/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.116" references="/0/mainTemplate/%.2/%/%/%/%">

+      <details key="start" value="2976"/>

+      <details key="end" value="3001"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.117" references="/0/mainTemplate/%.2/%/%/%/%/%">

+      <details key="start" value="2976"/>

+      <details key="end" value="2984"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.118" references="/0/mainTemplate/%.2/%/%/%/%/%/sm">

+      <details key="start" value="2976"/>

+      <details key="end" value="2978"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.119" references="/0/mainTemplate/%.2/%/%/%/%/%.1">

+      <details key="start" value="2995"/>

+      <details key="end" value="3000"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.120" references="/0/mainTemplate/%.2/%/%/%.1">

+      <details key="start" value="3004"/>

+      <details key="end" value="3006"/>

+      <details key="line" value="58"/>

+    </eAnnotations>

+    <eAnnotations source="positions.121" references="/0/mainTemplate/%.2/%/%/%.2">

+      <details key="start" value="2885"/>

+      <details key="end" value="2949"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.122" references="/0/mainTemplate/%.2/%/%/%.2/%">

+      <details key="start" value="2886"/>

+      <details key="end" value="2913"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.123" references="/0/mainTemplate/%.2/%/%/%.2/%/%">

+      <details key="start" value="2886"/>

+      <details key="end" value="2894"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.124" references="/0/mainTemplate/%.2/%/%/%.2/%/%/sm">

+      <details key="start" value="2886"/>

+      <details key="end" value="2888"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.125" references="/0/mainTemplate/%.2/%/%/%.2/%/%.1">

+      <details key="start" value="2907"/>

+      <details key="end" value="2912"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.126" references="/0/mainTemplate/%.2/%/%/%.2/%.1">

+      <details key="start" value="2917"/>

+      <details key="end" value="2948"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.127" references="/0/mainTemplate/%.2/%/%/%.2/%.1/%">

+      <details key="start" value="2917"/>

+      <details key="end" value="2925"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.128" references="/0/mainTemplate/%.2/%/%/%.2/%.1/%/sm">

+      <details key="start" value="2917"/>

+      <details key="end" value="2919"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.129" references="/0/mainTemplate/%.2/%/%/%.2/%.1/%.1">

+      <details key="start" value="2938"/>

+      <details key="end" value="2947"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.130" references="/0/mainTemplate/%.2/%/%.1">

+      <details key="start" value="2769"/>

+      <details key="end" value="2878"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.131" references="/0/mainTemplate/%.2/%/%.1/%">

+      <details key="start" value="2770"/>

+      <details key="end" value="2820"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.132" references="/0/mainTemplate/%.2/%/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.133" references="/0/mainTemplate/%.2/%/%.1/%/%/%/%">

+      <details key="start" value="2770"/>

+      <details key="end" value="2808"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.134" references="/0/mainTemplate/%.2/%/%.1/%/%/%/%/%">

+      <details key="start" value="2770"/>

+      <details key="end" value="2778"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.135" references="/0/mainTemplate/%.2/%/%.1/%/%/%/%/%/sm">

+      <details key="start" value="2770"/>

+      <details key="end" value="2772"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.136" references="/0/mainTemplate/%.2/%/%.1/%/%/%/%/BlockQN">

+      <details key="start" value="2800"/>

+      <details key="end" value="2807"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.137" references="/0/mainTemplate/%.2/%/%.1/%.1">

+      <details key="start" value="2824"/>

+      <details key="end" value="2877"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.138" references="/0/mainTemplate/%.2/%/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.139" references="/0/mainTemplate/%.2/%/%.1/%.1/%/%/%">

+      <details key="start" value="2824"/>

+      <details key="end" value="2865"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.140" references="/0/mainTemplate/%.2/%/%.1/%.1/%/%/%/%">

+      <details key="start" value="2824"/>

+      <details key="end" value="2832"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.141" references="/0/mainTemplate/%.2/%/%.1/%.1/%/%/%/%/sm">

+      <details key="start" value="2824"/>

+      <details key="end" value="2826"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.142" references="/0/mainTemplate/%.2/%/%.1/%.1/%/%/%/CompImplQN">

+      <details key="start" value="2854"/>

+      <details key="end" value="2864"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.143" references="/0/mainTemplate/%.2/sm">

+      <details key="start" value="2694"/>

+      <details key="end" value="2711"/>

+      <details key="line" value="54"/>

+    </eAnnotations>

+    <eAnnotations source="positions.144" references="/0/mainTemplate/%.2/%.1">

+      <details key="start" value="2714"/>

+      <details key="end" value="2760"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.145" references="/0/mainTemplate/%.2/%.1/%">

+      <details key="start" value="2714"/>

+      <details key="end" value="2738"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.146" references="/0/mainTemplate/%.2/%.1/%/model">

+      <details key="start" value="2714"/>

+      <details key="end" value="2719"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.147" references="/0/mainTemplate/%.2/%.1/%.1">

+      <details key="start" value="2747"/>

+      <details key="end" value="2759"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.148" references="/0/mainTemplate/%.3">

+      <details key="start" value="3030"/>

+      <details key="end" value="3032"/>

+      <details key="line" value="61"/>

+    </eAnnotations>

+    <eAnnotations source="positions.149" references="/0/mainTemplate/model">

+      <details key="start" value="937"/>

+      <details key="end" value="950"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.150" references="/0/mainTemplate/sysQN">

+      <details key="start" value="952"/>

+      <details key="end" value="966"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.151" references="/0/mainTemplate/sysName">

+      <details key="start" value="969"/>

+      <details key="end" value="985"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.152" references="/0/mainTemplate/filename">

+      <details key="start" value="987"/>

+      <details key="end" value="1004"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.153" references="/0/mainTemplate/checkWeakContracts">

+      <details key="start" value="1006"/>

+      <details key="end" value="1032"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.154" references="/0/generateComponent">

+      <details key="start" value="3049"/>

+      <details key="end" value="10887"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.155" references="/0/generateComponent/@init">

+      <details key="start" value="3188"/>

+      <details key="end" value="3572"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.156" references="/0/generateComponent/@init/@variable.0">

+      <details key="start" value="3192"/>

+      <details key="end" value="3235"/>

+      <details key="line" value="66"/>

+    </eAnnotations>

+    <eAnnotations source="positions.157" references="/0/generateComponent/@init/@variable.0/%">

+      <details key="start" value="3212"/>

+      <details key="end" value="3235"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.158" references="/0/generateComponent/@init/@variable.1">

+      <details key="start" value="3239"/>

+      <details key="end" value="3292"/>

+      <details key="line" value="67"/>

+    </eAnnotations>

+    <eAnnotations source="positions.159" references="/0/generateComponent/@init/@variable.1/%">

+      <details key="start" value="3261"/>

+      <details key="end" value="3292"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.160" references="/0/generateComponent/@init/@variable.2">

+      <details key="start" value="3296"/>

+      <details key="end" value="3364"/>

+      <details key="line" value="68"/>

+    </eAnnotations>

+    <eAnnotations source="positions.161" references="/0/generateComponent/@init/@variable.2/%">

+      <details key="start" value="3323"/>

+      <details key="end" value="3364"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.162" references="/0/generateComponent/@init/@variable.3">

+      <details key="start" value="3368"/>

+      <details key="end" value="3427"/>

+      <details key="line" value="69"/>

+    </eAnnotations>

+    <eAnnotations source="positions.163" references="/0/generateComponent/@init/@variable.3/%">

+      <details key="start" value="3394"/>

+      <details key="end" value="3427"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.164" references="/0/generateComponent/@init/@variable.4">

+      <details key="start" value="3431"/>

+      <details key="end" value="3493"/>

+      <details key="line" value="70"/>

+    </eAnnotations>

+    <eAnnotations source="positions.165" references="/0/generateComponent/@init/@variable.4/%">

+      <details key="start" value="3456"/>

+      <details key="end" value="3493"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.166" references="/0/generateComponent/@init/@variable.5">

+      <details key="start" value="3497"/>

+      <details key="end" value="3566"/>

+      <details key="line" value="71"/>

+    </eAnnotations>

+    <eAnnotations source="positions.167" references="/0/generateComponent/@init/@variable.5/%">

+      <details key="start" value="3517"/>

+      <details key="end" value="3566"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.168" references="/0/generateComponent/%">

+      <details key="start" value="3575"/>

+      <details key="end" value="3576"/>

+      <details key="line" value="74"/>

+    </eAnnotations>

+    <eAnnotations source="positions.169" references="/0/generateComponent/%.1">

+      <details key="start" value="3577"/>

+      <details key="end" value="3614"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.170" references="/0/generateComponent/%.1/%">

+      <details key="start" value="3592"/>

+      <details key="end" value="3602"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.171" references="/0/generateComponent/%.1/%/block">

+      <details key="start" value="3592"/>

+      <details key="end" value="3597"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.172" references="/0/generateComponent/%.1/generated">

+      <details key="start" value="3604"/>

+      <details key="end" value="3613"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.173" references="/0/generateComponent/%.2">

+      <details key="start" value="3616"/>

+      <details key="end" value="3618"/>

+      <details key="line" value="75"/>

+    </eAnnotations>

+    <eAnnotations source="positions.174" references="/0/generateComponent/%.3">

+      <details key="start" value="3619"/>

+      <details key="end" value="3696"/>

+      <details key="line" value="75"/>

+    </eAnnotations>

+    <eAnnotations source="positions.175" references="/0/generateComponent/%.3/%">

+      <details key="start" value="3636"/>

+      <details key="end" value="3655"/>

+      <details key="line" value="76"/>

+    </eAnnotations>

+    <eAnnotations source="positions.176" references="/0/generateComponent/%.3/isSystem">

+      <details key="start" value="3623"/>

+      <details key="end" value="3633"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.177" references="/0/generateComponent/%.3/%.1">

+      <details key="start" value="3656"/>

+      <details key="end" value="3691"/>

+      <details key="line" value="77"/>

+    </eAnnotations>

+    <eAnnotations source="positions.178" references="/0/generateComponent/%.3/%.1/%">

+      <details key="start" value="3664"/>

+      <details key="end" value="3675"/>

+      <details key="line" value="78"/>

+    </eAnnotations>

+    <eAnnotations source="positions.179" references="/0/generateComponent/%.3/%.1/%.1">

+      <details key="start" value="3676"/>

+      <details key="end" value="3686"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.180" references="/0/generateComponent/%.3/%.1/%.1/block">

+      <details key="start" value="3676"/>

+      <details key="end" value="3681"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.181" references="/0/generateComponent/%.3/%.1/%.2">

+      <details key="start" value="3688"/>

+      <details key="end" value="3690"/>

+      <details key="line" value="79"/>

+    </eAnnotations>

+    <eAnnotations source="positions.182" references="/0/generateComponent/%.4">

+      <details key="start" value="3698"/>

+      <details key="end" value="3714"/>

+      <details key="line" value="80"/>

+    </eAnnotations>

+    <eAnnotations source="positions.183" references="/0/generateComponent/%.5">

+      <details key="start" value="3715"/>

+      <details key="end" value="10872"/>

+      <details key="line" value="83"/>

+    </eAnnotations>

+    <eAnnotations source="positions.184" references="/0/generateComponent/%.5/%">

+      <details key="start" value="3793"/>

+      <details key="end" value="5227"/>

+      <details key="line" value="84"/>

+    </eAnnotations>

+    <eAnnotations source="positions.185" references="/0/generateComponent/%.5/%/%">

+      <details key="start" value="3827"/>

+      <details key="end" value="5218"/>

+      <details key="line" value="85"/>

+    </eAnnotations>

+    <eAnnotations source="positions.186" references="/0/generateComponent/%.5/%/%/%">

+      <details key="start" value="3859"/>

+      <details key="end" value="4996"/>

+      <details key="line" value="86"/>

+    </eAnnotations>

+    <eAnnotations source="positions.187" references="/0/generateComponent/%.5/%/%/%/%">

+      <details key="start" value="3903"/>

+      <details key="end" value="4502"/>

+      <details key="line" value="87"/>

+    </eAnnotations>

+    <eAnnotations source="positions.188" references="/0/generateComponent/%.5/%/%/%/%/%">

+      <details key="start" value="3963"/>

+      <details key="end" value="4189"/>

+      <details key="line" value="88"/>

+    </eAnnotations>

+    <eAnnotations source="positions.189" references="/0/generateComponent/%.5/%/%/%/%/%/%">

+      <details key="start" value="4057"/>

+      <details key="end" value="4058"/>

+      <details key="line" value="89"/>

+    </eAnnotations>

+    <eAnnotations source="positions.190" references="/0/generateComponent/%.5/%/%/%/%/%/%.1">

+      <details key="start" value="4059"/>

+      <details key="end" value="4093"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.191" references="/0/generateComponent/%.5/%/%/%/%/%/%.1/%">

+      <details key="start" value="4072"/>

+      <details key="end" value="4092"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.192" references="/0/generateComponent/%.5/%/%/%/%/%/%.1/%/direction">

+      <details key="start" value="4072"/>

+      <details key="end" value="4081"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.193" references="/0/generateComponent/%.5/%/%/%/%/%/%.2">

+      <details key="start" value="4095"/>

+      <details key="end" value="4100"/>

+      <details key="line" value="89"/>

+    </eAnnotations>

+    <eAnnotations source="positions.194" references="/0/generateComponent/%.5/%/%/%/%/%/%.3">

+      <details key="start" value="4101"/>

+      <details key="end" value="4110"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.195" references="/0/generateComponent/%.5/%/%/%/%/%/%.3/port">

+      <details key="start" value="4101"/>

+      <details key="end" value="4105"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.196" references="/0/generateComponent/%.5/%/%/%/%/%/%.4">

+      <details key="start" value="4112"/>

+      <details key="end" value="4115"/>

+      <details key="line" value="89"/>

+    </eAnnotations>

+    <eAnnotations source="positions.197" references="/0/generateComponent/%.5/%/%/%/%/%/%.5">

+      <details key="start" value="4115"/>

+      <details key="end" value="4179"/>

+      <details key="line" value="89"/>

+    </eAnnotations>

+    <eAnnotations source="positions.198" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%">

+      <details key="start" value="4153"/>

+      <details key="end" value="4171"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.199" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%/%">

+      <details key="start" value="4161"/>

+      <details key="end" value="4170"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.200" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%/%/port">

+      <details key="start" value="4161"/>

+      <details key="end" value="4165"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.201" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%.1">

+      <details key="start" value="4173"/>

+      <details key="end" value="4174"/>

+      <details key="line" value="89"/>

+    </eAnnotations>

+    <eAnnotations source="positions.202" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%.2">

+      <details key="start" value="4119"/>

+      <details key="end" value="4151"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.203" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%.2/%">

+      <details key="start" value="4124"/>

+      <details key="end" value="4150"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.204" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%.2/%/%">

+      <details key="start" value="4124"/>

+      <details key="end" value="4133"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.205" references="/0/generateComponent/%.5/%/%/%/%/%/%.5/%.2/%/%/port">

+      <details key="start" value="4124"/>

+      <details key="end" value="4128"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.206" references="/0/generateComponent/%.5/%/%/%/%/%/%.6">

+      <details key="start" value="4179"/>

+      <details key="end" value="4181"/>

+      <details key="line" value="90"/>

+    </eAnnotations>

+    <eAnnotations source="positions.207" references="/0/generateComponent/%.5/%/%/%/%/%/direction">

+      <details key="start" value="3968"/>

+      <details key="end" value="4054"/>

+      <details key="line" value="88"/>

+    </eAnnotations>

+    <eAnnotations source="positions.208" references="/0/generateComponent/%.5/%/%/%/%/%/direction/%">

+      <details key="start" value="3990"/>

+      <details key="end" value="4055"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.209" references="/0/generateComponent/%.5/%/%/%/%/%/direction/%/port">

+      <details key="start" value="3990"/>

+      <details key="end" value="3994"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.210" references="/0/generateComponent/%.5/%/%/%/%/%/direction/%/%">

+      <details key="start" value="4004"/>

+      <details key="end" value="4041"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.211" references="/0/generateComponent/%.5/%/%/%/%/%/direction/%/%/port">

+      <details key="start" value="4004"/>

+      <details key="end" value="4008"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.212" references="/0/generateComponent/%.5/%/%/%/%/%/direction/%/%/FlowPortQN">

+      <details key="start" value="4030"/>

+      <details key="end" value="4040"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.213" references="/0/generateComponent/%.5/%/%/%/%/%/direction/%/%.1">

+      <details key="start" value="4043"/>

+      <details key="end" value="4054"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.214" references="/0/generateComponent/%.5/%/%/%/%/%.1">

+      <details key="start" value="3907"/>

+      <details key="end" value="3958"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.215" references="/0/generateComponent/%.5/%/%/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.216" references="/0/generateComponent/%.5/%/%/%/%/%.1/%/%/%">

+      <details key="start" value="3908"/>

+      <details key="end" value="3945"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.217" references="/0/generateComponent/%.5/%/%/%/%/%.1/%/%/%/port">

+      <details key="start" value="3908"/>

+      <details key="end" value="3912"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.218" references="/0/generateComponent/%.5/%/%/%/%/%.1/%/%/%/FlowPortQN">

+      <details key="start" value="3934"/>

+      <details key="end" value="3944"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.219" references="/0/generateComponent/%.5/%/%/%/%/%.2">

+      <details key="start" value="4193"/>

+      <details key="end" value="4497"/>

+      <details key="line" value="91"/>

+    </eAnnotations>

+    <eAnnotations source="positions.220" references="/0/generateComponent/%.5/%/%/%/%/%.2/%">

+      <details key="start" value="4262"/>

+      <details key="end" value="4493"/>

+      <details key="line" value="92"/>

+    </eAnnotations>

+    <eAnnotations source="positions.221" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%">

+      <details key="start" value="4361"/>

+      <details key="end" value="4362"/>

+      <details key="line" value="93"/>

+    </eAnnotations>

+    <eAnnotations source="positions.222" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.1">

+      <details key="start" value="4363"/>

+      <details key="end" value="4397"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.223" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.1/%">

+      <details key="start" value="4376"/>

+      <details key="end" value="4396"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.224" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.1/%/direction">

+      <details key="start" value="4376"/>

+      <details key="end" value="4385"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.225" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.2">

+      <details key="start" value="4399"/>

+      <details key="end" value="4404"/>

+      <details key="line" value="93"/>

+    </eAnnotations>

+    <eAnnotations source="positions.226" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.3">

+      <details key="start" value="4405"/>

+      <details key="end" value="4414"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.227" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.3/port">

+      <details key="start" value="4405"/>

+      <details key="end" value="4409"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.228" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.4">

+      <details key="start" value="4416"/>

+      <details key="end" value="4419"/>

+      <details key="line" value="93"/>

+    </eAnnotations>

+    <eAnnotations source="positions.229" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5">

+      <details key="start" value="4419"/>

+      <details key="end" value="4483"/>

+      <details key="line" value="93"/>

+    </eAnnotations>

+    <eAnnotations source="positions.230" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%">

+      <details key="start" value="4457"/>

+      <details key="end" value="4475"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.231" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%/%">

+      <details key="start" value="4465"/>

+      <details key="end" value="4474"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.232" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%/%/port">

+      <details key="start" value="4465"/>

+      <details key="end" value="4469"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.233" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%.1">

+      <details key="start" value="4477"/>

+      <details key="end" value="4478"/>

+      <details key="line" value="93"/>

+    </eAnnotations>

+    <eAnnotations source="positions.234" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%.2">

+      <details key="start" value="4423"/>

+      <details key="end" value="4455"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.235" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%.2/%">

+      <details key="start" value="4428"/>

+      <details key="end" value="4454"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.236" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%.2/%/%">

+      <details key="start" value="4428"/>

+      <details key="end" value="4437"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.237" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.5/%.2/%/%/port">

+      <details key="start" value="4428"/>

+      <details key="end" value="4432"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.238" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/%.6">

+      <details key="start" value="4483"/>

+      <details key="end" value="4485"/>

+      <details key="line" value="94"/>

+    </eAnnotations>

+    <eAnnotations source="positions.239" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction">

+      <details key="start" value="4267"/>

+      <details key="end" value="4358"/>

+      <details key="line" value="92"/>

+    </eAnnotations>

+    <eAnnotations source="positions.240" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction/%">

+      <details key="start" value="4289"/>

+      <details key="end" value="4359"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.241" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction/%/port">

+      <details key="start" value="4289"/>

+      <details key="end" value="4293"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.242" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction/%/%">

+      <details key="start" value="4303"/>

+      <details key="end" value="4345"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.243" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction/%/%/port">

+      <details key="start" value="4303"/>

+      <details key="end" value="4307"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.244" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction/%/%/FlowPortMarteQN">

+      <details key="start" value="4329"/>

+      <details key="end" value="4344"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.245" references="/0/generateComponent/%.5/%/%/%/%/%.2/%/direction/%/%.1">

+      <details key="start" value="4347"/>

+      <details key="end" value="4358"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.246" references="/0/generateComponent/%.5/%/%/%/%/%.2/%.1">

+      <details key="start" value="4201"/>

+      <details key="end" value="4257"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.247" references="/0/generateComponent/%.5/%/%/%/%/%.2/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.248" references="/0/generateComponent/%.5/%/%/%/%/%.2/%.1/%/%/%">

+      <details key="start" value="4202"/>

+      <details key="end" value="4244"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.249" references="/0/generateComponent/%.5/%/%/%/%/%.2/%.1/%/%/%/port">

+      <details key="start" value="4202"/>

+      <details key="end" value="4206"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.250" references="/0/generateComponent/%.5/%/%/%/%/%.2/%.1/%/%/%/FlowPortMarteQN">

+      <details key="start" value="4228"/>

+      <details key="end" value="4243"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.251" references="/0/generateComponent/%.5/%/%/%/%.1">

+      <details key="start" value="4532"/>

+      <details key="end" value="4987"/>

+      <details key="line" value="97"/>

+    </eAnnotations>

+    <eAnnotations source="positions.252" references="/0/generateComponent/%.5/%/%/%/%.1/%">

+      <details key="start" value="4590"/>

+      <details key="end" value="4978"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.253" references="/0/generateComponent/%.5/%/%/%/%.1/%/%">

+      <details key="start" value="4677"/>

+      <details key="end" value="4968"/>

+      <details key="line" value="99"/>

+    </eAnnotations>

+    <eAnnotations source="positions.254" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%">

+      <details key="start" value="4729"/>

+      <details key="end" value="4958"/>

+      <details key="line" value="100"/>

+    </eAnnotations>

+    <eAnnotations source="positions.255" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%">

+      <details key="start" value="4769"/>

+      <details key="end" value="4949"/>

+      <details key="line" value="101"/>

+    </eAnnotations>

+    <eAnnotations source="positions.256" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%">

+      <details key="start" value="4821"/>

+      <details key="end" value="4822"/>

+      <details key="line" value="102"/>

+    </eAnnotations>

+    <eAnnotations source="positions.257" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.1">

+      <details key="start" value="4823"/>

+      <details key="end" value="4850"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.258" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.1/%">

+      <details key="start" value="4823"/>

+      <details key="end" value="4840"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.259" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.1/%/proreq">

+      <details key="start" value="4823"/>

+      <details key="end" value="4829"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.260" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.2">

+      <details key="start" value="4852"/>

+      <details key="end" value="4868"/>

+      <details key="line" value="102"/>

+    </eAnnotations>

+    <eAnnotations source="positions.261" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.3">

+      <details key="start" value="4869"/>

+      <details key="end" value="4895"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.262" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.3/op">

+      <details key="start" value="4886"/>

+      <details key="end" value="4888"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.263" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.3/port">

+      <details key="start" value="4890"/>

+      <details key="end" value="4894"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.264" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.4">

+      <details key="start" value="4897"/>

+      <details key="end" value="4899"/>

+      <details key="line" value="102"/>

+    </eAnnotations>

+    <eAnnotations source="positions.265" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.5">

+      <details key="start" value="4900"/>

+      <details key="end" value="4916"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.266" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.5/op">

+      <details key="start" value="4913"/>

+      <details key="end" value="4915"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.267" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.6">

+      <details key="start" value="4918"/>

+      <details key="end" value="4922"/>

+      <details key="line" value="102"/>

+    </eAnnotations>

+    <eAnnotations source="positions.268" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.7">

+      <details key="start" value="4923"/>

+      <details key="end" value="4936"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.269" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.7/op">

+      <details key="start" value="4933"/>

+      <details key="end" value="4935"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.270" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.8">

+      <details key="start" value="4938"/>

+      <details key="end" value="4941"/>

+      <details key="line" value="102"/>

+    </eAnnotations>

+    <eAnnotations source="positions.271" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/op">

+      <details key="start" value="4775"/>

+      <details key="end" value="4789"/>

+      <details key="line" value="101"/>

+    </eAnnotations>

+    <eAnnotations source="positions.272" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.9">

+      <details key="start" value="4792"/>

+      <details key="end" value="4817"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.273" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%/%.9/interface">

+      <details key="start" value="4792"/>

+      <details key="end" value="4801"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.274" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%.1">

+      <details key="start" value="4733"/>

+      <details key="end" value="4764"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.275" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%.1/interface">

+      <details key="start" value="4734"/>

+      <details key="end" value="4743"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.276" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%.1/%">

+      <details key="start" value="4747"/>

+      <details key="end" value="4763"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.277" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/%/%.1/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.278" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/interface">

+      <details key="start" value="4682"/>

+      <details key="end" value="4724"/>

+      <details key="line" value="99"/>

+    </eAnnotations>

+    <eAnnotations source="positions.279" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/interface/%">

+      <details key="start" value="4707"/>

+      <details key="end" value="4725"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.280" references="/0/generateComponent/%.5/%/%/%/%.1/%/%/interface/%/port">

+      <details key="start" value="4720"/>

+      <details key="end" value="4724"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.281" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq">

+      <details key="start" value="4595"/>

+      <details key="end" value="4671"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.282" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq/%">

+      <details key="start" value="4614"/>

+      <details key="end" value="4672"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.283" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq/%/port">

+      <details key="start" value="4614"/>

+      <details key="end" value="4618"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.284" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq/%/%">

+      <details key="start" value="4628"/>

+      <details key="end" value="4663"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.285" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq/%/%/port">

+      <details key="start" value="4628"/>

+      <details key="end" value="4632"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.286" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq/%/%/CSPortQN">

+      <details key="start" value="4654"/>

+      <details key="end" value="4662"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.287" references="/0/generateComponent/%.5/%/%/%/%.1/%/proreq/%/%.1">

+      <details key="start" value="4665"/>

+      <details key="end" value="4671"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.288" references="/0/generateComponent/%.5/%/%/%/%.1/%.1">

+      <details key="start" value="4536"/>

+      <details key="end" value="4585"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.289" references="/0/generateComponent/%.5/%/%/%/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.290" references="/0/generateComponent/%.5/%/%/%/%.1/%.1/%/%/%">

+      <details key="start" value="4537"/>

+      <details key="end" value="4572"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.291" references="/0/generateComponent/%.5/%/%/%/%.1/%.1/%/%/%/port">

+      <details key="start" value="4537"/>

+      <details key="end" value="4541"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.292" references="/0/generateComponent/%.5/%/%/%/%.1/%.1/%/%/%/CSPortQN">

+      <details key="start" value="4563"/>

+      <details key="end" value="4571"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.293" references="/0/generateComponent/%.5/%/%/%/port">

+      <details key="start" value="3864"/>

+      <details key="end" value="3898"/>

+      <details key="line" value="86"/>

+    </eAnnotations>

+    <eAnnotations source="positions.294" references="/0/generateComponent/%.5/%/%/%/port/%">

+      <details key="start" value="3879"/>

+      <details key="end" value="3899"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.295" references="/0/generateComponent/%.5/%/%/%/port/%/prop">

+      <details key="start" value="3879"/>

+      <details key="end" value="3883"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.296" references="/0/generateComponent/%.5/%/%/%/port/%/%">

+      <details key="start" value="3894"/>

+      <details key="end" value="3898"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.297" references="/0/generateComponent/%.5/%/%/%.1">

+      <details key="start" value="3831"/>

+      <details key="end" value="3855"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.298" references="/0/generateComponent/%.5/%/%/%.1/prop">

+      <details key="start" value="3832"/>

+      <details key="end" value="3836"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.299" references="/0/generateComponent/%.5/%/%/%.1/%">

+      <details key="start" value="3849"/>

+      <details key="end" value="3853"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.300" references="/0/generateComponent/%.5/%/%/%.2">

+      <details key="start" value="4999"/>

+      <details key="end" value="5213"/>

+      <details key="line" value="109"/>

+    </eAnnotations>

+    <eAnnotations source="positions.301" references="/0/generateComponent/%.5/%/%/%.2/%">

+      <details key="start" value="5120"/>

+      <details key="end" value="5131"/>

+      <details key="line" value="110"/>

+    </eAnnotations>

+    <eAnnotations source="positions.302" references="/0/generateComponent/%.5/%/%/%.2/%.1">

+      <details key="start" value="5132"/>

+      <details key="end" value="5141"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.303" references="/0/generateComponent/%.5/%/%/%.2/%.1/prop">

+      <details key="start" value="5132"/>

+      <details key="end" value="5136"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.304" references="/0/generateComponent/%.5/%/%/%.2/%.2">

+      <details key="start" value="5143"/>

+      <details key="end" value="5146"/>

+      <details key="line" value="110"/>

+    </eAnnotations>

+    <eAnnotations source="positions.305" references="/0/generateComponent/%.5/%/%/%.2/%.3">

+      <details key="start" value="5146"/>

+      <details key="end" value="5210"/>

+      <details key="line" value="110"/>

+    </eAnnotations>

+    <eAnnotations source="positions.306" references="/0/generateComponent/%.5/%/%/%.2/%.3/%">

+      <details key="start" value="5184"/>

+      <details key="end" value="5202"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.307" references="/0/generateComponent/%.5/%/%/%.2/%.3/%/%">

+      <details key="start" value="5192"/>

+      <details key="end" value="5201"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.308" references="/0/generateComponent/%.5/%/%/%.2/%.3/%/%/prop">

+      <details key="start" value="5192"/>

+      <details key="end" value="5196"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.309" references="/0/generateComponent/%.5/%/%/%.2/%.3/%.1">

+      <details key="start" value="5204"/>

+      <details key="end" value="5205"/>

+      <details key="line" value="110"/>

+    </eAnnotations>

+    <eAnnotations source="positions.310" references="/0/generateComponent/%.5/%/%/%.2/%.3/%.2">

+      <details key="start" value="5150"/>

+      <details key="end" value="5182"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.311" references="/0/generateComponent/%.5/%/%/%.2/%.3/%.2/%">

+      <details key="start" value="5155"/>

+      <details key="end" value="5181"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.312" references="/0/generateComponent/%.5/%/%/%.2/%.3/%.2/%/%">

+      <details key="start" value="5155"/>

+      <details key="end" value="5164"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.313" references="/0/generateComponent/%.5/%/%/%.2/%.3/%.2/%/%/prop">

+      <details key="start" value="5155"/>

+      <details key="end" value="5159"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.314" references="/0/generateComponent/%.5/%/%/%.2/%.4">

+      <details key="start" value="5210"/>

+      <details key="end" value="5212"/>

+      <details key="line" value="111"/>

+    </eAnnotations>

+    <eAnnotations source="positions.315" references="/0/generateComponent/%.5/%/%/%.2/%.5">

+      <details key="start" value="5007"/>

+      <details key="end" value="5117"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.316" references="/0/generateComponent/%.5/%/%/%.2/%.5/%">

+      <details key="start" value="5008"/>

+      <details key="end" value="5075"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.317" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%">

+      <details key="start" value="5008"/>

+      <details key="end" value="5038"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.318" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%/%">

+      <details key="start" value="5012"/>

+      <details key="end" value="5038"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.319" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%/%/%">

+      <details key="start" value="5012"/>

+      <details key="end" value="5021"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.320" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%/%/%/prop">

+      <details key="start" value="5012"/>

+      <details key="end" value="5016"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.321" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%.1">

+      <details key="start" value="5043"/>

+      <details key="end" value="5075"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.322" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%.1/%">

+      <details key="start" value="5047"/>

+      <details key="end" value="5075"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.323" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%.1/%/%">

+      <details key="start" value="5047"/>

+      <details key="end" value="5056"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.324" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%.1/%/%/prop">

+      <details key="start" value="5047"/>

+      <details key="end" value="5051"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.325" references="/0/generateComponent/%.5/%/%/%.2/%.5/%/%.1/%/%.1">

+      <details key="start" value="5069"/>

+      <details key="end" value="5074"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.326" references="/0/generateComponent/%.5/%/%/%.2/%.5/%.1">

+      <details key="start" value="5080"/>

+      <details key="end" value="5116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.327" references="/0/generateComponent/%.5/%/%/%.2/%.5/%.1/%">

+      <details key="start" value="5084"/>

+      <details key="end" value="5116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.328" references="/0/generateComponent/%.5/%/%/%.2/%.5/%.1/%/%">

+      <details key="start" value="5084"/>

+      <details key="end" value="5093"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.329" references="/0/generateComponent/%.5/%/%/%.2/%.5/%.1/%/%/prop">

+      <details key="start" value="5084"/>

+      <details key="end" value="5088"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.330" references="/0/generateComponent/%.5/%/%/%.2/%.5/%.1/%/%.1">

+      <details key="start" value="5106"/>

+      <details key="end" value="5115"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.331" references="/0/generateComponent/%.5/%/prop">

+      <details key="start" value="3799"/>

+      <details key="end" value="3814"/>

+      <details key="line" value="84"/>

+    </eAnnotations>

+    <eAnnotations source="positions.332" references="/0/generateComponent/%.5/%/props">

+      <details key="start" value="3817"/>

+      <details key="end" value="3822"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.333" references="/0/generateComponent/%.5/%.1">

+      <details key="start" value="5230"/>

+      <details key="end" value="5609"/>

+      <details key="line" value="113"/>

+    </eAnnotations>

+    <eAnnotations source="positions.334" references="/0/generateComponent/%.5/%.1/%">

+      <details key="start" value="5370"/>

+      <details key="end" value="5600"/>

+      <details key="line" value="114"/>

+    </eAnnotations>

+    <eAnnotations source="positions.335" references="/0/generateComponent/%.5/%.1/%/%">

+      <details key="start" value="5414"/>

+      <details key="end" value="5591"/>

+      <details key="line" value="115"/>

+    </eAnnotations>

+    <eAnnotations source="positions.336" references="/0/generateComponent/%.5/%.1/%/%/%">

+      <details key="start" value="5472"/>

+      <details key="end" value="5485"/>

+      <details key="line" value="116"/>

+    </eAnnotations>

+    <eAnnotations source="positions.337" references="/0/generateComponent/%.5/%.1/%/%/%.1">

+      <details key="start" value="5486"/>

+      <details key="end" value="5500"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.338" references="/0/generateComponent/%.5/%.1/%/%/%.1/contrProp">

+      <details key="start" value="5486"/>

+      <details key="end" value="5495"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.339" references="/0/generateComponent/%.5/%.1/%/%/%.2">

+      <details key="start" value="5502"/>

+      <details key="end" value="5516"/>

+      <details key="line" value="118"/>

+    </eAnnotations>

+    <eAnnotations source="positions.340" references="/0/generateComponent/%.5/%.1/%/%/%.3">

+      <details key="start" value="5517"/>

+      <details key="end" value="5536"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.341" references="/0/generateComponent/%.5/%.1/%/%/%.3/contract">

+      <details key="start" value="5527"/>

+      <details key="end" value="5535"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.342" references="/0/generateComponent/%.5/%.1/%/%/%.4">

+      <details key="start" value="5538"/>

+      <details key="end" value="5556"/>

+      <details key="line" value="119"/>

+    </eAnnotations>

+    <eAnnotations source="positions.343" references="/0/generateComponent/%.5/%.1/%/%/%.5">

+      <details key="start" value="5557"/>

+      <details key="end" value="5579"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.344" references="/0/generateComponent/%.5/%.1/%/%/%.5/contract">

+      <details key="start" value="5570"/>

+      <details key="end" value="5578"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.345" references="/0/generateComponent/%.5/%.1/%/%/%.6">

+      <details key="start" value="5581"/>

+      <details key="end" value="5584"/>

+      <details key="line" value="121"/>

+    </eAnnotations>

+    <eAnnotations source="positions.346" references="/0/generateComponent/%.5/%.1/%/%/contract">

+      <details key="start" value="5419"/>

+      <details key="end" value="5469"/>

+      <details key="line" value="115"/>

+    </eAnnotations>

+    <eAnnotations source="positions.347" references="/0/generateComponent/%.5/%.1/%/%/contract/%">

+      <details key="start" value="5439"/>

+      <details key="end" value="5470"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.348" references="/0/generateComponent/%.5/%.1/%/%/contract/%/%">

+      <details key="start" value="5439"/>

+      <details key="end" value="5453"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.349" references="/0/generateComponent/%.5/%.1/%/%/contract/%/%/contrProp">

+      <details key="start" value="5439"/>

+      <details key="end" value="5448"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.350" references="/0/generateComponent/%.5/%.1/%/%/contract/%/%.1">

+      <details key="start" value="5464"/>

+      <details key="end" value="5469"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.351" references="/0/generateComponent/%.5/%.1/%/contrProp">

+      <details key="start" value="5376"/>

+      <details key="end" value="5396"/>

+      <details key="line" value="114"/>

+    </eAnnotations>

+    <eAnnotations source="positions.352" references="/0/generateComponent/%.5/%.1/%/contrProps">

+      <details key="start" value="5399"/>

+      <details key="end" value="5409"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.353" references="/0/generateComponent/%.5/%.1/contrProps">

+      <details key="start" value="5235"/>

+      <details key="end" value="5366"/>

+      <details key="line" value="113"/>

+    </eAnnotations>

+    <eAnnotations source="positions.354" references="/0/generateComponent/%.5/%.1/contrProps/select">

+      <details key="start" value="5272"/>

+      <details key="end" value="5367"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.355" references="/0/generateComponent/%.5/%.1/contrProps/select/%">

+      <details key="start" value="5272"/>

+      <details key="end" value="5292"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.356" references="/0/generateComponent/%.5/%.1/contrProps/select/%/block">

+      <details key="start" value="5272"/>

+      <details key="end" value="5277"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.357" references="/0/generateComponent/%.5/%.1/contrProps/select/%.1">

+      <details key="start" value="5316"/>

+      <details key="end" value="5366"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.358" references="/0/generateComponent/%.5/%.1/contrProps/select/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.359" references="/0/generateComponent/%.5/%.1/contrProps/select/%.1/%/%/%">

+      <details key="start" value="5316"/>

+      <details key="end" value="5354"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.360" references="/0/generateComponent/%.5/%.1/contrProps/select/%.1/%/%/%/p">

+      <details key="start" value="5316"/>

+      <details key="end" value="5317"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.361" references="/0/generateComponent/%.5/%.1/contrProps/select/%.1/%/%/%/ContractPropQN">

+      <details key="start" value="5339"/>

+      <details key="end" value="5353"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.362" references="/0/generateComponent/%.5/%.1/contrProps/select/p">

+      <details key="start" value="5301"/>

+      <details key="end" value="5313"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.363" references="/0/generateComponent/%.5/%.2">

+      <details key="start" value="5612"/>

+      <details key="end" value="6187"/>

+      <details key="line" value="125"/>

+    </eAnnotations>

+    <eAnnotations source="positions.364" references="/0/generateComponent/%.5/%.2/%">

+      <details key="start" value="5628"/>

+      <details key="end" value="5630"/>

+      <details key="line" value="126"/>

+    </eAnnotations>

+    <eAnnotations source="positions.365" references="/0/generateComponent/%.5/%.2/%.1">

+      <details key="start" value="5631"/>

+      <details key="end" value="6179"/>

+      <details key="line" value="127"/>

+    </eAnnotations>

+    <eAnnotations source="positions.366" references="/0/generateComponent/%.5/%.2/%.1/%">

+      <details key="start" value="5793"/>

+      <details key="end" value="6170"/>

+      <details key="line" value="128"/>

+    </eAnnotations>

+    <eAnnotations source="positions.367" references="/0/generateComponent/%.5/%.2/%.1/%/%">

+      <details key="start" value="5824"/>

+      <details key="end" value="5834"/>

+      <details key="line" value="129"/>

+    </eAnnotations>

+    <eAnnotations source="positions.368" references="/0/generateComponent/%.5/%.2/%.1/%/%.1">

+      <details key="start" value="5835"/>

+      <details key="end" value="5845"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.369" references="/0/generateComponent/%.5/%.2/%.1/%/%.1/block">

+      <details key="start" value="5835"/>

+      <details key="end" value="5840"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.370" references="/0/generateComponent/%.5/%.2/%.1/%/%.2">

+      <details key="start" value="5847"/>

+      <details key="end" value="5890"/>

+      <details key="line" value="129"/>

+    </eAnnotations>

+    <eAnnotations source="positions.371" references="/0/generateComponent/%.5/%.2/%.1/%/%.3">

+      <details key="start" value="5890"/>

+      <details key="end" value="6161"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.372" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%">

+      <details key="start" value="5951"/>

+      <details key="end" value="6155"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.373" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%">

+      <details key="start" value="6007"/>

+      <details key="end" value="6081"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.374" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%">

+      <details key="start" value="6042"/>

+      <details key="end" value="6044"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.375" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%.1">

+      <details key="start" value="6045"/>

+      <details key="end" value="6064"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.376" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%.1/contract">

+      <details key="start" value="6055"/>

+      <details key="end" value="6063"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.377" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%.2">

+      <details key="start" value="6066"/>

+      <details key="end" value="6076"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.378" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%.3">

+      <details key="start" value="6011"/>

+      <details key="end" value="6041"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.379" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%.3/%">

+      <details key="start" value="6015"/>

+      <details key="end" value="6041"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.380" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%/%.3/%/contract">

+      <details key="start" value="6032"/>

+      <details key="end" value="6040"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.381" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.1">

+      <details key="start" value="6081"/>

+      <details key="end" value="6082"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.382" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.2">

+      <details key="start" value="6083"/>

+      <details key="end" value="6105"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.383" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.2/contract">

+      <details key="start" value="6096"/>

+      <details key="end" value="6104"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.384" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.3">

+      <details key="start" value="6107"/>

+      <details key="end" value="6108"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.385" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.4">

+      <details key="start" value="6108"/>

+      <details key="end" value="6149"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.386" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.4/%">

+      <details key="start" value="6143"/>

+      <details key="end" value="6144"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.387" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.4/%.1">

+      <details key="start" value="6112"/>

+      <details key="end" value="6142"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.388" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.4/%.1/%">

+      <details key="start" value="6116"/>

+      <details key="end" value="6142"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.389" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/%.4/%.1/%/contract">

+      <details key="start" value="6133"/>

+      <details key="end" value="6141"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.390" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract">

+      <details key="start" value="5956"/>

+      <details key="end" value="6006"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.391" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract/%">

+      <details key="start" value="5976"/>

+      <details key="end" value="6007"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.392" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract/%/%">

+      <details key="start" value="5976"/>

+      <details key="end" value="5990"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.393" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract/%/%/contrProp">

+      <details key="start" value="5976"/>

+      <details key="end" value="5985"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.394" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%/contract/%/%.1">

+      <details key="start" value="6001"/>

+      <details key="end" value="6006"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.395" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/contrProp">

+      <details key="start" value="5896"/>

+      <details key="end" value="5916"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.396" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/contrProps">

+      <details key="start" value="5919"/>

+      <details key="end" value="5929"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.397" references="/0/generateComponent/%.5/%.2/%.1/%/%.3/%.1">

+      <details key="start" value="5942"/>

+      <details key="end" value="5949"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.398" references="/0/generateComponent/%.5/%.2/%.1/%/%.4">

+      <details key="start" value="6161"/>

+      <details key="end" value="6164"/>

+      <details key="line" value="133"/>

+    </eAnnotations>

+    <eAnnotations source="positions.399" references="/0/generateComponent/%.5/%.2/%.1/%/%.5">

+      <details key="start" value="5797"/>

+      <details key="end" value="5821"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.400" references="/0/generateComponent/%.5/%.2/%.1/%/%.5/%">

+      <details key="start" value="5798"/>

+      <details key="end" value="5816"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.401" references="/0/generateComponent/%.5/%.2/%.1/%/%.5/%/contrProps">

+      <details key="start" value="5798"/>

+      <details key="end" value="5808"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.402" references="/0/generateComponent/%.5/%.2/%.1/%/%.5/%.1">

+      <details key="start" value="5819"/>

+      <details key="end" value="5820"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.403" references="/0/generateComponent/%.5/%.2/%.1/contrProps">

+      <details key="start" value="5636"/>

+      <details key="end" value="5789"/>

+      <details key="line" value="127"/>

+    </eAnnotations>

+    <eAnnotations source="positions.404" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select">

+      <details key="start" value="5673"/>

+      <details key="end" value="5790"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.405" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%">

+      <details key="start" value="5673"/>

+      <details key="end" value="5693"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.406" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%/block">

+      <details key="start" value="5673"/>

+      <details key="end" value="5678"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.407" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1">

+      <details key="start" value="5717"/>

+      <details key="end" value="5789"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.408" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%">

+      <details key="start" value="5717"/>

+      <details key="end" value="5767"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.409" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.410" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%/%/%/%">

+      <details key="start" value="5717"/>

+      <details key="end" value="5755"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.411" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%/%/%/%/p">

+      <details key="start" value="5717"/>

+      <details key="end" value="5718"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.412" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%/%/%/%/ContractPropQN">

+      <details key="start" value="5740"/>

+      <details key="end" value="5754"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.413" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%.1">

+      <details key="start" value="5772"/>

+      <details key="end" value="5789"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.414" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/%.1/%.1/p">

+      <details key="start" value="5787"/>

+      <details key="end" value="5788"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.415" references="/0/generateComponent/%.5/%.2/%.1/contrProps/select/p">

+      <details key="start" value="5702"/>

+      <details key="end" value="5714"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.416" references="/0/generateComponent/%.5/%.2/checkWeak">

+      <details key="start" value="5616"/>

+      <details key="end" value="5625"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.417" references="/0/generateComponent/%.5/%.3">

+      <details key="start" value="6189"/>

+      <details key="end" value="6206"/>

+      <details key="line" value="137"/>

+    </eAnnotations>

+    <eAnnotations source="positions.418" references="/0/generateComponent/%.5/%.4">

+      <details key="start" value="6207"/>

+      <details key="end" value="10863"/>

+      <details key="line" value="140"/>

+    </eAnnotations>

+    <eAnnotations source="positions.419" references="/0/generateComponent/%.5/%.4/%">

+      <details key="start" value="6285"/>

+      <details key="end" value="6397"/>

+      <details key="line" value="141"/>

+    </eAnnotations>

+    <eAnnotations source="positions.420" references="/0/generateComponent/%.5/%.4/%/%">

+      <details key="start" value="6320"/>

+      <details key="end" value="6388"/>

+      <details key="line" value="142"/>

+    </eAnnotations>

+    <eAnnotations source="positions.421" references="/0/generateComponent/%.5/%.4/%/%/%">

+      <details key="start" value="6341"/>

+      <details key="end" value="6346"/>

+      <details key="line" value="143"/>

+    </eAnnotations>

+    <eAnnotations source="positions.422" references="/0/generateComponent/%.5/%.4/%/%/%.1">

+      <details key="start" value="6347"/>

+      <details key="end" value="6356"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.423" references="/0/generateComponent/%.5/%.4/%/%/%.1/part">

+      <details key="start" value="6347"/>

+      <details key="end" value="6351"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.424" references="/0/generateComponent/%.5/%.4/%/%/%.2">

+      <details key="start" value="6358"/>

+      <details key="end" value="6361"/>

+      <details key="line" value="143"/>

+    </eAnnotations>

+    <eAnnotations source="positions.425" references="/0/generateComponent/%.5/%.4/%/%/%.3">

+      <details key="start" value="6362"/>

+      <details key="end" value="6376"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.426" references="/0/generateComponent/%.5/%.4/%/%/%.3/%">

+      <details key="start" value="6362"/>

+      <details key="end" value="6371"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.427" references="/0/generateComponent/%.5/%.4/%/%/%.3/%/part">

+      <details key="start" value="6362"/>

+      <details key="end" value="6366"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.428" references="/0/generateComponent/%.5/%.4/%/%/%.4">

+      <details key="start" value="6378"/>

+      <details key="end" value="6381"/>

+      <details key="line" value="143"/>

+    </eAnnotations>

+    <eAnnotations source="positions.429" references="/0/generateComponent/%.5/%.4/%/%/%.5">

+      <details key="start" value="6324"/>

+      <details key="end" value="6338"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.430" references="/0/generateComponent/%.5/%.4/%/%/%.5/part">

+      <details key="start" value="6332"/>

+      <details key="end" value="6336"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.431" references="/0/generateComponent/%.5/%.4/%/part">

+      <details key="start" value="6291"/>

+      <details key="end" value="6306"/>

+      <details key="line" value="141"/>

+    </eAnnotations>

+    <eAnnotations source="positions.432" references="/0/generateComponent/%.5/%.4/%/parts">

+      <details key="start" value="6309"/>

+      <details key="end" value="6314"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.433" references="/0/generateComponent/%.5/%.4/%.1">

+      <details key="start" value="6399"/>

+      <details key="end" value="6401"/>

+      <details key="line" value="146"/>

+    </eAnnotations>

+    <eAnnotations source="positions.434" references="/0/generateComponent/%.5/%.4/%.2">

+      <details key="start" value="6402"/>

+      <details key="end" value="7791"/>

+      <details key="line" value="147"/>

+    </eAnnotations>

+    <eAnnotations source="positions.435" references="/0/generateComponent/%.5/%.4/%.2/%">

+      <details key="start" value="6462"/>

+      <details key="end" value="7781"/>

+      <details key="line" value="148"/>

+    </eAnnotations>

+    <eAnnotations source="positions.436" references="/0/generateComponent/%.5/%.4/%.2/%/%">

+      <details key="start" value="6503"/>

+      <details key="end" value="7772"/>

+      <details key="line" value="149"/>

+    </eAnnotations>

+    <eAnnotations source="positions.437" references="/0/generateComponent/%.5/%.4/%.2/%/%/%">

+      <details key="start" value="6563"/>

+      <details key="end" value="7647"/>

+      <details key="line" value="151"/>

+    </eAnnotations>

+    <eAnnotations source="positions.438" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%">

+      <details key="start" value="6589"/>

+      <details key="end" value="7108"/>

+      <details key="line" value="152"/>

+    </eAnnotations>

+    <eAnnotations source="positions.439" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%">

+      <details key="start" value="6645"/>

+      <details key="end" value="6657"/>

+      <details key="line" value="153"/>

+    </eAnnotations>

+    <eAnnotations source="positions.440" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.1">

+      <details key="start" value="6658"/>

+      <details key="end" value="6685"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.441" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.1/%">

+      <details key="start" value="6658"/>

+      <details key="end" value="6680"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.442" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.1/%/%">

+      <details key="start" value="6658"/>

+      <details key="end" value="6675"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.443" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.1/%/%/%">

+      <details key="start" value="6658"/>

+      <details key="end" value="6666"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.444" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.1/%/%/%/conn">

+      <details key="start" value="6658"/>

+      <details key="end" value="6662"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.445" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.2">

+      <details key="start" value="6687"/>

+      <details key="end" value="6691"/>

+      <details key="line" value="153"/>

+    </eAnnotations>

+    <eAnnotations source="positions.446" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.3">

+      <details key="start" value="6692"/>

+      <details key="end" value="6726"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.447" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.3/%">

+      <details key="start" value="6692"/>

+      <details key="end" value="6721"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.448" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.3/%/%">

+      <details key="start" value="6692"/>

+      <details key="end" value="6708"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.449" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.3/%/%/%">

+      <details key="start" value="6692"/>

+      <details key="end" value="6700"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.450" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.3/%/%/%/conn">

+      <details key="start" value="6692"/>

+      <details key="end" value="6696"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.451" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.4">

+      <details key="start" value="6728"/>

+      <details key="end" value="6729"/>

+      <details key="line" value="153"/>

+    </eAnnotations>

+    <eAnnotations source="positions.452" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.5">

+      <details key="start" value="6730"/>

+      <details key="end" value="6756"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.453" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.5/%">

+      <details key="start" value="6730"/>

+      <details key="end" value="6751"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.454" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.5/%/%">

+      <details key="start" value="6730"/>

+      <details key="end" value="6746"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.455" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.5/%/%/%">

+      <details key="start" value="6730"/>

+      <details key="end" value="6738"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.456" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.5/%/%/%/conn">

+      <details key="start" value="6730"/>

+      <details key="end" value="6734"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.457" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.6">

+      <details key="start" value="6758"/>

+      <details key="end" value="6761"/>

+      <details key="line" value="153"/>

+    </eAnnotations>

+    <eAnnotations source="positions.458" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.7">

+      <details key="start" value="6593"/>

+      <details key="end" value="6642"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.459" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.7/%">

+      <details key="start" value="6594"/>

+      <details key="end" value="6624"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.460" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.7/%/%">

+      <details key="start" value="6594"/>

+      <details key="end" value="6611"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.461" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.7/%/%/%">

+      <details key="start" value="6594"/>

+      <details key="end" value="6602"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.462" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.7/%/%/%/conn">

+      <details key="start" value="6594"/>

+      <details key="end" value="6598"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.463" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8">

+      <details key="start" value="6939"/>

+      <details key="end" value="7103"/>

+      <details key="line" value="156"/>

+    </eAnnotations>

+    <eAnnotations source="positions.464" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%">

+      <details key="start" value="6947"/>

+      <details key="end" value="6959"/>

+      <details key="line" value="157"/>

+    </eAnnotations>

+    <eAnnotations source="positions.465" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.1">

+      <details key="start" value="6960"/>

+      <details key="end" value="6995"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.466" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.1/%">

+      <details key="start" value="6960"/>

+      <details key="end" value="6990"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.467" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.1/%/%">

+      <details key="start" value="6960"/>

+      <details key="end" value="6977"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.468" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.1/%/%/%">

+      <details key="start" value="6960"/>

+      <details key="end" value="6968"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.469" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.1/%/%/%/conn">

+      <details key="start" value="6960"/>

+      <details key="end" value="6964"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.470" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.2">

+      <details key="start" value="6997"/>

+      <details key="end" value="6998"/>

+      <details key="line" value="157"/>

+    </eAnnotations>

+    <eAnnotations source="positions.471" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.3">

+      <details key="start" value="6999"/>

+      <details key="end" value="7026"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.472" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.3/%">

+      <details key="start" value="6999"/>

+      <details key="end" value="7021"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.473" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.3/%/%">

+      <details key="start" value="6999"/>

+      <details key="end" value="7016"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.474" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.3/%/%/%">

+      <details key="start" value="6999"/>

+      <details key="end" value="7007"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.475" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.3/%/%/%/conn">

+      <details key="start" value="6999"/>

+      <details key="end" value="7003"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.476" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.4">

+      <details key="start" value="7028"/>

+      <details key="end" value="7032"/>

+      <details key="line" value="157"/>

+    </eAnnotations>

+    <eAnnotations source="positions.477" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.5">

+      <details key="start" value="7033"/>

+      <details key="end" value="7067"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.478" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.5/%">

+      <details key="start" value="7033"/>

+      <details key="end" value="7062"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.479" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.5/%/%">

+      <details key="start" value="7033"/>

+      <details key="end" value="7049"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.480" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.5/%/%/%">

+      <details key="start" value="7033"/>

+      <details key="end" value="7041"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.481" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.5/%/%/%/conn">

+      <details key="start" value="7033"/>

+      <details key="end" value="7037"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.482" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.6">

+      <details key="start" value="7069"/>

+      <details key="end" value="7070"/>

+      <details key="line" value="157"/>

+    </eAnnotations>

+    <eAnnotations source="positions.483" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.7">

+      <details key="start" value="7071"/>

+      <details key="end" value="7097"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.484" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.7/%">

+      <details key="start" value="7071"/>

+      <details key="end" value="7092"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.485" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.7/%/%">

+      <details key="start" value="7071"/>

+      <details key="end" value="7087"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.486" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.7/%/%/%">

+      <details key="start" value="7071"/>

+      <details key="end" value="7079"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.487" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.7/%/%/%/conn">

+      <details key="start" value="7071"/>

+      <details key="end" value="7075"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.488" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.8/%.8">

+      <details key="start" value="7099"/>

+      <details key="end" value="7102"/>

+      <details key="line" value="157"/>

+    </eAnnotations>

+    <eAnnotations source="positions.489" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9">

+      <details key="start" value="6762"/>

+      <details key="end" value="6939"/>

+      <details key="line" value="154"/>

+    </eAnnotations>

+    <eAnnotations source="positions.490" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%">

+      <details key="start" value="6821"/>

+      <details key="end" value="6833"/>

+      <details key="line" value="155"/>

+    </eAnnotations>

+    <eAnnotations source="positions.491" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.1">

+      <details key="start" value="6834"/>

+      <details key="end" value="6869"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.492" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.1/%">

+      <details key="start" value="6834"/>

+      <details key="end" value="6864"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.493" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.1/%/%">

+      <details key="start" value="6834"/>

+      <details key="end" value="6851"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.494" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.1/%/%/%">

+      <details key="start" value="6834"/>

+      <details key="end" value="6842"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.495" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.1/%/%/%/conn">

+      <details key="start" value="6834"/>

+      <details key="end" value="6838"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.496" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.2">

+      <details key="start" value="6871"/>

+      <details key="end" value="6872"/>

+      <details key="line" value="155"/>

+    </eAnnotations>

+    <eAnnotations source="positions.497" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.3">

+      <details key="start" value="6873"/>

+      <details key="end" value="6900"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.498" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.3/%">

+      <details key="start" value="6873"/>

+      <details key="end" value="6895"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.499" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.3/%/%">

+      <details key="start" value="6873"/>

+      <details key="end" value="6890"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.500" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.3/%/%/%">

+      <details key="start" value="6873"/>

+      <details key="end" value="6881"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.501" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.3/%/%/%/conn">

+      <details key="start" value="6873"/>

+      <details key="end" value="6877"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.502" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.4">

+      <details key="start" value="6902"/>

+      <details key="end" value="6906"/>

+      <details key="line" value="155"/>

+    </eAnnotations>

+    <eAnnotations source="positions.503" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.5">

+      <details key="start" value="6907"/>

+      <details key="end" value="6933"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.504" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.5/%">

+      <details key="start" value="6907"/>

+      <details key="end" value="6928"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.505" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.5/%/%">

+      <details key="start" value="6907"/>

+      <details key="end" value="6923"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.506" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.5/%/%/%">

+      <details key="start" value="6907"/>

+      <details key="end" value="6915"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.507" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.5/%/%/%/conn">

+      <details key="start" value="6907"/>

+      <details key="end" value="6911"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.508" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.6">

+      <details key="start" value="6935"/>

+      <details key="end" value="6938"/>

+      <details key="line" value="155"/>

+    </eAnnotations>

+    <eAnnotations source="positions.509" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.7">

+      <details key="start" value="6770"/>

+      <details key="end" value="6818"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.510" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.7/%">

+      <details key="start" value="6771"/>

+      <details key="end" value="6800"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.511" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.7/%/%">

+      <details key="start" value="6771"/>

+      <details key="end" value="6787"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.512" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.7/%/%/%">

+      <details key="start" value="6771"/>

+      <details key="end" value="6779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.513" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%/%.9/%.7/%/%/%/conn">

+      <details key="start" value="6771"/>

+      <details key="end" value="6775"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.514" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.1">

+      <details key="start" value="6567"/>

+      <details key="end" value="6585"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.515" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.1/conn">

+      <details key="start" value="6579"/>

+      <details key="end" value="6583"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.516" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2">

+      <details key="start" value="7111"/>

+      <details key="end" value="7642"/>

+      <details key="line" value="159"/>

+    </eAnnotations>

+    <eAnnotations source="positions.517" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%">

+      <details key="start" value="7120"/>

+      <details key="end" value="7639"/>

+      <details key="line" value="160"/>

+    </eAnnotations>

+    <eAnnotations source="positions.518" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%">

+      <details key="start" value="7175"/>

+      <details key="end" value="7187"/>

+      <details key="line" value="161"/>

+    </eAnnotations>

+    <eAnnotations source="positions.519" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.1">

+      <details key="start" value="7188"/>

+      <details key="end" value="7214"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.520" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.1/%">

+      <details key="start" value="7188"/>

+      <details key="end" value="7209"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.521" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.1/%/%">

+      <details key="start" value="7188"/>

+      <details key="end" value="7204"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.522" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.1/%/%/%">

+      <details key="start" value="7188"/>

+      <details key="end" value="7196"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.523" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.1/%/%/%/conn">

+      <details key="start" value="7188"/>

+      <details key="end" value="7192"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.524" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.2">

+      <details key="start" value="7216"/>

+      <details key="end" value="7220"/>

+      <details key="line" value="161"/>

+    </eAnnotations>

+    <eAnnotations source="positions.525" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.3">

+      <details key="start" value="7221"/>

+      <details key="end" value="7256"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.526" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.3/%">

+      <details key="start" value="7221"/>

+      <details key="end" value="7251"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.527" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.3/%/%">

+      <details key="start" value="7221"/>

+      <details key="end" value="7238"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.528" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.3/%/%/%">

+      <details key="start" value="7221"/>

+      <details key="end" value="7229"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.529" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.3/%/%/%/conn">

+      <details key="start" value="7221"/>

+      <details key="end" value="7225"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.530" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.4">

+      <details key="start" value="7258"/>

+      <details key="end" value="7259"/>

+      <details key="line" value="161"/>

+    </eAnnotations>

+    <eAnnotations source="positions.531" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.5">

+      <details key="start" value="7260"/>

+      <details key="end" value="7287"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.532" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.5/%">

+      <details key="start" value="7260"/>

+      <details key="end" value="7282"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.533" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.5/%/%">

+      <details key="start" value="7260"/>

+      <details key="end" value="7277"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.534" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.5/%/%/%">

+      <details key="start" value="7260"/>

+      <details key="end" value="7268"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.535" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.5/%/%/%/conn">

+      <details key="start" value="7260"/>

+      <details key="end" value="7264"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.536" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.6">

+      <details key="start" value="7289"/>

+      <details key="end" value="7292"/>

+      <details key="line" value="161"/>

+    </eAnnotations>

+    <eAnnotations source="positions.537" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.7">

+      <details key="start" value="7124"/>

+      <details key="end" value="7172"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.538" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.7/%">

+      <details key="start" value="7125"/>

+      <details key="end" value="7154"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.539" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.7/%/%">

+      <details key="start" value="7125"/>

+      <details key="end" value="7141"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.540" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.7/%/%/%">

+      <details key="start" value="7125"/>

+      <details key="end" value="7133"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.541" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.7/%/%/%/conn">

+      <details key="start" value="7125"/>

+      <details key="end" value="7129"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.542" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8">

+      <details key="start" value="7470"/>

+      <details key="end" value="7634"/>

+      <details key="line" value="164"/>

+    </eAnnotations>

+    <eAnnotations source="positions.543" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%">

+      <details key="start" value="7478"/>

+      <details key="end" value="7490"/>

+      <details key="line" value="165"/>

+    </eAnnotations>

+    <eAnnotations source="positions.544" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.1">

+      <details key="start" value="7491"/>

+      <details key="end" value="7525"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.545" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.1/%">

+      <details key="start" value="7491"/>

+      <details key="end" value="7520"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.546" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.1/%/%">

+      <details key="start" value="7491"/>

+      <details key="end" value="7507"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.547" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.1/%/%/%">

+      <details key="start" value="7491"/>

+      <details key="end" value="7499"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.548" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.1/%/%/%/conn">

+      <details key="start" value="7491"/>

+      <details key="end" value="7495"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.549" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.2">

+      <details key="start" value="7527"/>

+      <details key="end" value="7528"/>

+      <details key="line" value="165"/>

+    </eAnnotations>

+    <eAnnotations source="positions.550" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.3">

+      <details key="start" value="7529"/>

+      <details key="end" value="7555"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.551" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.3/%">

+      <details key="start" value="7529"/>

+      <details key="end" value="7550"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.552" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.3/%/%">

+      <details key="start" value="7529"/>

+      <details key="end" value="7545"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.553" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.3/%/%/%">

+      <details key="start" value="7529"/>

+      <details key="end" value="7537"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.554" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.3/%/%/%/conn">

+      <details key="start" value="7529"/>

+      <details key="end" value="7533"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.555" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.4">

+      <details key="start" value="7557"/>

+      <details key="end" value="7561"/>

+      <details key="line" value="165"/>

+    </eAnnotations>

+    <eAnnotations source="positions.556" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.5">

+      <details key="start" value="7562"/>

+      <details key="end" value="7597"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.557" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.5/%">

+      <details key="start" value="7562"/>

+      <details key="end" value="7592"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.558" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.5/%/%">

+      <details key="start" value="7562"/>

+      <details key="end" value="7579"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.559" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.5/%/%/%">

+      <details key="start" value="7562"/>

+      <details key="end" value="7570"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.560" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.5/%/%/%/conn">

+      <details key="start" value="7562"/>

+      <details key="end" value="7566"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.561" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.6">

+      <details key="start" value="7599"/>

+      <details key="end" value="7600"/>

+      <details key="line" value="165"/>

+    </eAnnotations>

+    <eAnnotations source="positions.562" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.7">

+      <details key="start" value="7601"/>

+      <details key="end" value="7628"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.563" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.7/%">

+      <details key="start" value="7601"/>

+      <details key="end" value="7623"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.564" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.7/%/%">

+      <details key="start" value="7601"/>

+      <details key="end" value="7618"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.565" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.7/%/%/%">

+      <details key="start" value="7601"/>

+      <details key="end" value="7609"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.566" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.7/%/%/%/conn">

+      <details key="start" value="7601"/>

+      <details key="end" value="7605"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.567" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.8/%.8">

+      <details key="start" value="7630"/>

+      <details key="end" value="7633"/>

+      <details key="line" value="165"/>

+    </eAnnotations>

+    <eAnnotations source="positions.568" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9">

+      <details key="start" value="7293"/>

+      <details key="end" value="7470"/>

+      <details key="line" value="162"/>

+    </eAnnotations>

+    <eAnnotations source="positions.569" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%">

+      <details key="start" value="7353"/>

+      <details key="end" value="7365"/>

+      <details key="line" value="163"/>

+    </eAnnotations>

+    <eAnnotations source="positions.570" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.1">

+      <details key="start" value="7366"/>

+      <details key="end" value="7400"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.571" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.1/%">

+      <details key="start" value="7366"/>

+      <details key="end" value="7395"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.572" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.1/%/%">

+      <details key="start" value="7366"/>

+      <details key="end" value="7382"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.573" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.1/%/%/%">

+      <details key="start" value="7366"/>

+      <details key="end" value="7374"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.574" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.1/%/%/%/conn">

+      <details key="start" value="7366"/>

+      <details key="end" value="7370"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.575" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.2">

+      <details key="start" value="7402"/>

+      <details key="end" value="7403"/>

+      <details key="line" value="163"/>

+    </eAnnotations>

+    <eAnnotations source="positions.576" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.3">

+      <details key="start" value="7404"/>

+      <details key="end" value="7430"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.577" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.3/%">

+      <details key="start" value="7404"/>

+      <details key="end" value="7425"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.578" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.3/%/%">

+      <details key="start" value="7404"/>

+      <details key="end" value="7420"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.579" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.3/%/%/%">

+      <details key="start" value="7404"/>

+      <details key="end" value="7412"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.580" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.3/%/%/%/conn">

+      <details key="start" value="7404"/>

+      <details key="end" value="7408"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.581" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.4">

+      <details key="start" value="7432"/>

+      <details key="end" value="7436"/>

+      <details key="line" value="163"/>

+    </eAnnotations>

+    <eAnnotations source="positions.582" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.5">

+      <details key="start" value="7437"/>

+      <details key="end" value="7464"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.583" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.5/%">

+      <details key="start" value="7437"/>

+      <details key="end" value="7459"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.584" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.5/%/%">

+      <details key="start" value="7437"/>

+      <details key="end" value="7454"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.585" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.5/%/%/%">

+      <details key="start" value="7437"/>

+      <details key="end" value="7445"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.586" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.5/%/%/%/conn">

+      <details key="start" value="7437"/>

+      <details key="end" value="7441"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.587" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.6">

+      <details key="start" value="7466"/>

+      <details key="end" value="7469"/>

+      <details key="line" value="163"/>

+    </eAnnotations>

+    <eAnnotations source="positions.588" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.7">

+      <details key="start" value="7301"/>

+      <details key="end" value="7350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.589" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.7/%">

+      <details key="start" value="7302"/>

+      <details key="end" value="7332"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.590" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.7/%/%">

+      <details key="start" value="7302"/>

+      <details key="end" value="7319"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.591" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.7/%/%/%">

+      <details key="start" value="7302"/>

+      <details key="end" value="7310"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.592" references="/0/generateComponent/%.5/%.4/%.2/%/%/%/%.2/%/%.9/%.7/%/%/%/conn">

+      <details key="start" value="7302"/>

+      <details key="end" value="7306"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.593" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.1">

+      <details key="start" value="6507"/>

+      <details key="end" value="6534"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.594" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.1/conn">

+      <details key="start" value="6528"/>

+      <details key="end" value="6532"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.595" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2">

+      <details key="start" value="7650"/>

+      <details key="end" value="7767"/>

+      <details key="line" value="168"/>

+    </eAnnotations>

+    <eAnnotations source="positions.596" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%">

+      <details key="start" value="7689"/>

+      <details key="end" value="7764"/>

+      <details key="line" value="170"/>

+    </eAnnotations>

+    <eAnnotations source="positions.597" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%/%">

+      <details key="start" value="7723"/>

+      <details key="end" value="7724"/>

+      <details key="line" value="171"/>

+    </eAnnotations>

+    <eAnnotations source="positions.598" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%/%.1">

+      <details key="start" value="7725"/>

+      <details key="end" value="7754"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.599" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%/%.1/conn">

+      <details key="start" value="7749"/>

+      <details key="end" value="7753"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.600" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%/%.2">

+      <details key="start" value="7756"/>

+      <details key="end" value="7758"/>

+      <details key="line" value="172"/>

+    </eAnnotations>

+    <eAnnotations source="positions.601" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%/%.3">

+      <details key="start" value="7693"/>

+      <details key="end" value="7720"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.602" references="/0/generateComponent/%.5/%.4/%.2/%/%/%.2/%/%.3/conn">

+      <details key="start" value="7714"/>

+      <details key="end" value="7718"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.603" references="/0/generateComponent/%.5/%.4/%.2/%/conn">

+      <details key="start" value="6468"/>

+      <details key="end" value="6484"/>

+      <details key="line" value="148"/>

+    </eAnnotations>

+    <eAnnotations source="positions.604" references="/0/generateComponent/%.5/%.4/%.2/%/connections">

+      <details key="start" value="6487"/>

+      <details key="end" value="6498"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.605" references="/0/generateComponent/%.5/%.4/%.2/connections">

+      <details key="start" value="6407"/>

+      <details key="end" value="6458"/>

+      <details key="line" value="147"/>

+    </eAnnotations>

+    <eAnnotations source="positions.606" references="/0/generateComponent/%.5/%.4/%.2/connections/%">

+      <details key="start" value="6439"/>

+      <details key="end" value="6459"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.607" references="/0/generateComponent/%.5/%.4/%.2/connections/%/block">

+      <details key="start" value="6439"/>

+      <details key="end" value="6444"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.608" references="/0/generateComponent/%.5/%.4/%.3">

+      <details key="start" value="7793"/>

+      <details key="end" value="7795"/>

+      <details key="line" value="176"/>

+    </eAnnotations>

+    <eAnnotations source="positions.609" references="/0/generateComponent/%.5/%.4/%.4">

+      <details key="start" value="7796"/>

+      <details key="end" value="8421"/>

+      <details key="line" value="177"/>

+    </eAnnotations>

+    <eAnnotations source="positions.610" references="/0/generateComponent/%.5/%.4/%.4/%">

+      <details key="start" value="7925"/>

+      <details key="end" value="8409"/>

+      <details key="line" value="178"/>

+    </eAnnotations>

+    <eAnnotations source="positions.611" references="/0/generateComponent/%.5/%.4/%.4/%/%">

+      <details key="start" value="7964"/>

+      <details key="end" value="8397"/>

+      <details key="line" value="179"/>

+    </eAnnotations>

+    <eAnnotations source="positions.612" references="/0/generateComponent/%.5/%.4/%.4/%/%/%">

+      <details key="start" value="8116"/>

+      <details key="end" value="8386"/>

+      <details key="line" value="180"/>

+    </eAnnotations>

+    <eAnnotations source="positions.613" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%">

+      <details key="start" value="8219"/>

+      <details key="end" value="8374"/>

+      <details key="line" value="181"/>

+    </eAnnotations>

+    <eAnnotations source="positions.614" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%">

+      <details key="start" value="8307"/>

+      <details key="end" value="8321"/>

+      <details key="line" value="181"/>

+    </eAnnotations>

+    <eAnnotations source="positions.615" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec">

+      <details key="start" value="8322"/>

+      <details key="end" value="8326"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.616" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.1">

+      <details key="start" value="8328"/>

+      <details key="end" value="8362"/>

+      <details key="line" value="182"/>

+    </eAnnotations>

+    <eAnnotations source="positions.617" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.1/%">

+      <details key="start" value="8356"/>

+      <details key="end" value="8357"/>

+      <details key="line" value="182"/>

+    </eAnnotations>

+    <eAnnotations source="positions.618" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.1/%.1">

+      <details key="start" value="8332"/>

+      <details key="end" value="8355"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.619" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.1/%.1/%">

+      <details key="start" value="8335"/>

+      <details key="end" value="8355"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.620" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.1/%.1/%/spec">

+      <details key="start" value="8336"/>

+      <details key="end" value="8340"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.621" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.1/%.1/%/%">

+      <details key="start" value="8350"/>

+      <details key="end" value="8353"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.622" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/%.2">

+      <details key="start" value="8362"/>

+      <details key="end" value="8365"/>

+      <details key="line" value="182"/>

+    </eAnnotations>

+    <eAnnotations source="positions.623" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1">

+      <details key="start" value="8224"/>

+      <details key="end" value="8303"/>

+      <details key="line" value="181"/>

+    </eAnnotations>

+    <eAnnotations source="positions.624" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%">

+      <details key="start" value="8241"/>

+      <details key="end" value="8304"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.625" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%/%">

+      <details key="start" value="8241"/>

+      <details key="end" value="8293"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.626" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%/%/%">

+      <details key="start" value="8241"/>

+      <details key="end" value="8287"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.627" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%/%/%/%">

+      <details key="start" value="8241"/>

+      <details key="end" value="8259"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.628" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%/%/%/%/rule">

+      <details key="start" value="8241"/>

+      <details key="end" value="8245"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.629" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%/%/%/%.1">

+      <details key="start" value="8270"/>

+      <details key="end" value="8286"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.630" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/%/spec.1/%/index">

+      <details key="start" value="8298"/>

+      <details key="end" value="8303"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.631" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index">

+      <details key="start" value="8122"/>

+      <details key="end" value="8212"/>

+      <details key="line" value="180"/>

+    </eAnnotations>

+    <eAnnotations source="positions.632" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%">

+      <details key="start" value="8141"/>

+      <details key="end" value="8213"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.633" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%/%">

+      <details key="start" value="8141"/>

+      <details key="end" value="8196"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.634" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%/%/%">

+      <details key="start" value="8141"/>

+      <details key="end" value="8187"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.635" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%/%/%/%">

+      <details key="start" value="8141"/>

+      <details key="end" value="8159"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.636" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%/%/%/%/rule">

+      <details key="start" value="8141"/>

+      <details key="end" value="8145"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.637" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%/%/%/%.1">

+      <details key="start" value="8170"/>

+      <details key="end" value="8186"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.638" references="/0/generateComponent/%.5/%.4/%.4/%/%/%/index/%/%.1">

+      <details key="start" value="8206"/>

+      <details key="end" value="8212"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.639" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1">

+      <details key="start" value="7968"/>

+      <details key="end" value="8109"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.640" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%">

+      <details key="start" value="7970"/>

+      <details key="end" value="8018"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.641" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%/%">

+      <details key="start" value="7970"/>

+      <details key="end" value="7988"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.642" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%/%/rule">

+      <details key="start" value="7970"/>

+      <details key="end" value="7974"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.643" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%/%.1">

+      <details key="start" value="8001"/>

+      <details key="end" value="8017"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.644" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1">

+      <details key="start" value="8023"/>

+      <details key="end" value="8107"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.645" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect">

+      <details key="start" value="8023"/>

+      <details key="end" value="8095"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.646" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%">

+      <details key="start" value="8023"/>

+      <details key="end" value="8078"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.647" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%/%">

+      <details key="start" value="8023"/>

+      <details key="end" value="8069"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.648" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%/%/%">

+      <details key="start" value="8023"/>

+      <details key="end" value="8041"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.649" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%/%/%/rule">

+      <details key="start" value="8023"/>

+      <details key="end" value="8027"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.650" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%/%/%.1">

+      <details key="start" value="8052"/>

+      <details key="end" value="8068"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.651" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%.1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.652" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%.1/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.653" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/%.1/%">

+      <details key="start" value="8088"/>

+      <details key="end" value="8094"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.654" references="/0/generateComponent/%.5/%.4/%.4/%/%/%.1/%.1/collect/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.655" references="/0/generateComponent/%.5/%.4/%.4/%/rule">

+      <details key="start" value="7931"/>

+      <details key="end" value="7948"/>

+      <details key="line" value="178"/>

+    </eAnnotations>

+    <eAnnotations source="positions.656" references="/0/generateComponent/%.5/%.4/%.4/%/rules">

+      <details key="start" value="7951"/>

+      <details key="end" value="7956"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.657" references="/0/generateComponent/%.5/%.4/%.4/rules">

+      <details key="start" value="7801"/>

+      <details key="end" value="7918"/>

+      <details key="line" value="177"/>

+    </eAnnotations>

+    <eAnnotations source="positions.658" references="/0/generateComponent/%.5/%.4/%.4/rules/select">

+      <details key="start" value="7828"/>

+      <details key="end" value="7919"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.659" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%">

+      <details key="start" value="7828"/>

+      <details key="end" value="7843"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.660" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%/block">

+      <details key="start" value="7828"/>

+      <details key="end" value="7833"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.661" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%.1">

+      <details key="start" value="7869"/>

+      <details key="end" value="7918"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.662" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.663" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%.1/%/%/%">

+      <details key="start" value="7869"/>

+      <details key="end" value="7906"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.664" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%.1/%/%/%/c">

+      <details key="start" value="7869"/>

+      <details key="end" value="7870"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.665" references="/0/generateComponent/%.5/%.4/%.4/rules/select/%.1/%/%/%/DelegConstrQN">

+      <details key="start" value="7892"/>

+      <details key="end" value="7905"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.666" references="/0/generateComponent/%.5/%.4/%.4/rules/select/c">

+      <details key="start" value="7852"/>

+      <details key="end" value="7866"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.667" references="/0/generateComponent/%.5/%.4/%.5">

+      <details key="start" value="8424"/>

+      <details key="end" value="8426"/>

+      <details key="line" value="187"/>

+    </eAnnotations>

+    <eAnnotations source="positions.668" references="/0/generateComponent/%.5/%.4/%.6">

+      <details key="start" value="8427"/>

+      <details key="end" value="9922"/>

+      <details key="line" value="189"/>

+    </eAnnotations>

+    <eAnnotations source="positions.669" references="/0/generateComponent/%.5/%.4/%.6/%">

+      <details key="start" value="8617"/>

+      <details key="end" value="9030"/>

+      <details key="line" value="191"/>

+    </eAnnotations>

+    <eAnnotations source="positions.670" references="/0/generateComponent/%.5/%.4/%.6/%/%">

+      <details key="start" value="8783"/>

+      <details key="end" value="9021"/>

+      <details key="line" value="192"/>

+    </eAnnotations>

+    <eAnnotations source="positions.671" references="/0/generateComponent/%.5/%.4/%.6/%/%/%">

+      <details key="start" value="8827"/>

+      <details key="end" value="9012"/>

+      <details key="line" value="193"/>

+    </eAnnotations>

+    <eAnnotations source="positions.672" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%">

+      <details key="start" value="8857"/>

+      <details key="end" value="9004"/>

+      <details key="line" value="194"/>

+    </eAnnotations>

+    <eAnnotations source="positions.673" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%">

+      <details key="start" value="8915"/>

+      <details key="end" value="8925"/>

+      <details key="line" value="195"/>

+    </eAnnotations>

+    <eAnnotations source="positions.674" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.1">

+      <details key="start" value="8926"/>

+      <details key="end" value="8940"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.675" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.1/contrProp">

+      <details key="start" value="8926"/>

+      <details key="end" value="8935"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.676" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.2">

+      <details key="start" value="8942"/>

+      <details key="end" value="8953"/>

+      <details key="line" value="195"/>

+    </eAnnotations>

+    <eAnnotations source="positions.677" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.3">

+      <details key="start" value="8954"/>

+      <details key="end" value="8993"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.678" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.3/contrProp">

+      <details key="start" value="8977"/>

+      <details key="end" value="8986"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.679" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.3/parts">

+      <details key="start" value="8987"/>

+      <details key="end" value="8992"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.680" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/%.4">

+      <details key="start" value="8995"/>

+      <details key="end" value="8997"/>

+      <details key="line" value="196"/>

+    </eAnnotations>

+    <eAnnotations source="positions.681" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/contract">

+      <details key="start" value="8862"/>

+      <details key="end" value="8912"/>

+      <details key="line" value="194"/>

+    </eAnnotations>

+    <eAnnotations source="positions.682" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/contract/%">

+      <details key="start" value="8882"/>

+      <details key="end" value="8913"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.683" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/contract/%/%">

+      <details key="start" value="8882"/>

+      <details key="end" value="8896"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.684" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/contract/%/%/contrProp">

+      <details key="start" value="8882"/>

+      <details key="end" value="8891"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.685" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%/contract/%/%.1">

+      <details key="start" value="8907"/>

+      <details key="end" value="8912"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.686" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%.1">

+      <details key="start" value="8831"/>

+      <details key="end" value="8853"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.687" references="/0/generateComponent/%.5/%.4/%.6/%/%/%/%.1/contrProp">

+      <details key="start" value="8842"/>

+      <details key="end" value="8851"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.688" references="/0/generateComponent/%.5/%.4/%.6/%/%/contrProp">

+      <details key="start" value="8789"/>

+      <details key="end" value="8809"/>

+      <details key="line" value="192"/>

+    </eAnnotations>

+    <eAnnotations source="positions.689" references="/0/generateComponent/%.5/%.4/%.6/%/%/contrProps">

+      <details key="start" value="8812"/>

+      <details key="end" value="8822"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.690" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps">

+      <details key="start" value="8622"/>

+      <details key="end" value="8779"/>

+      <details key="line" value="191"/>

+    </eAnnotations>

+    <eAnnotations source="positions.691" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select">

+      <details key="start" value="8659"/>

+      <details key="end" value="8780"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.692" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%">

+      <details key="start" value="8659"/>

+      <details key="end" value="8679"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.693" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%/block">

+      <details key="start" value="8659"/>

+      <details key="end" value="8664"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.694" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1">

+      <details key="start" value="8703"/>

+      <details key="end" value="8779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.695" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%">

+      <details key="start" value="8703"/>

+      <details key="end" value="8753"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.696" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.697" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%/%/%/%">

+      <details key="start" value="8703"/>

+      <details key="end" value="8741"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.698" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%/%/%/%/p">

+      <details key="start" value="8703"/>

+      <details key="end" value="8704"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.699" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%/%/%/%/ContractPropQN">

+      <details key="start" value="8726"/>

+      <details key="end" value="8740"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.700" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%.1">

+      <details key="start" value="8758"/>

+      <details key="end" value="8779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.701" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%.1/%">

+      <details key="start" value="8762"/>

+      <details key="end" value="8779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.702" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/%.1/%.1/%/p">

+      <details key="start" value="8777"/>

+      <details key="end" value="8778"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.703" references="/0/generateComponent/%.5/%.4/%.6/%/contrProps/select/p">

+      <details key="start" value="8688"/>

+      <details key="end" value="8700"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.704" references="/0/generateComponent/%.5/%.4/%.6/%.1">

+      <details key="start" value="9032"/>

+      <details key="end" value="9034"/>

+      <details key="line" value="200"/>

+    </eAnnotations>

+    <eAnnotations source="positions.705" references="/0/generateComponent/%.5/%.4/%.6/%.2">

+      <details key="start" value="9035"/>

+      <details key="end" value="9431"/>

+      <details key="line" value="201"/>

+    </eAnnotations>

+    <eAnnotations source="positions.706" references="/0/generateComponent/%.5/%.4/%.6/%.2/%">

+      <details key="start" value="9197"/>

+      <details key="end" value="9422"/>

+      <details key="line" value="202"/>

+    </eAnnotations>

+    <eAnnotations source="positions.707" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%">

+      <details key="start" value="9270"/>

+      <details key="end" value="9413"/>

+      <details key="line" value="203"/>

+    </eAnnotations>

+    <eAnnotations source="positions.708" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%">

+      <details key="start" value="9342"/>

+      <details key="end" value="9352"/>

+      <details key="line" value="204"/>

+    </eAnnotations>

+    <eAnnotations source="positions.709" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.1">

+      <details key="start" value="9353"/>

+      <details key="end" value="9363"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.710" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.1/block">

+      <details key="start" value="9353"/>

+      <details key="end" value="9358"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.711" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.2">

+      <details key="start" value="9365"/>

+      <details key="end" value="9384"/>

+      <details key="line" value="204"/>

+    </eAnnotations>

+    <eAnnotations source="positions.712" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/refinedByAllWeak">

+      <details key="start" value="9385"/>

+      <details key="end" value="9401"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.713" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.3">

+      <details key="start" value="9403"/>

+      <details key="end" value="9407"/>

+      <details key="line" value="205"/>

+    </eAnnotations>

+    <eAnnotations source="positions.714" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4">

+      <details key="start" value="9274"/>

+      <details key="end" value="9339"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.715" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%">

+      <details key="start" value="9275"/>

+      <details key="end" value="9297"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.716" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%/%">

+      <details key="start" value="9275"/>

+      <details key="end" value="9293"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.717" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%/%/contrProps">

+      <details key="start" value="9275"/>

+      <details key="end" value="9285"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.718" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%/%.1">

+      <details key="start" value="9296"/>

+      <details key="end" value="9297"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.719" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%.1">

+      <details key="start" value="9302"/>

+      <details key="end" value="9338"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.720" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%.1/%">

+      <details key="start" value="9306"/>

+      <details key="end" value="9338"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.721" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%.1/%/refinedByAllWeak">

+      <details key="start" value="9306"/>

+      <details key="end" value="9322"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.722" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/%/%.4/%.1/%/%">

+      <details key="start" value="9334"/>

+      <details key="end" value="9337"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.723" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/refinedByAllWeak">

+      <details key="start" value="9202"/>

+      <details key="end" value="9266"/>

+      <details key="line" value="202"/>

+    </eAnnotations>

+    <eAnnotations source="positions.724" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/refinedByAllWeak/%">

+      <details key="start" value="9230"/>

+      <details key="end" value="9267"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.725" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/refinedByAllWeak/%/contrProps">

+      <details key="start" value="9250"/>

+      <details key="end" value="9260"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.726" references="/0/generateComponent/%.5/%.4/%.6/%.2/%/refinedByAllWeak/%/parts">

+      <details key="start" value="9261"/>

+      <details key="end" value="9266"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.727" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps">

+      <details key="start" value="9040"/>

+      <details key="end" value="9193"/>

+      <details key="line" value="201"/>

+    </eAnnotations>

+    <eAnnotations source="positions.728" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select">

+      <details key="start" value="9077"/>

+      <details key="end" value="9194"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.729" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%">

+      <details key="start" value="9077"/>

+      <details key="end" value="9097"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.730" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%/block">

+      <details key="start" value="9077"/>

+      <details key="end" value="9082"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.731" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1">

+      <details key="start" value="9121"/>

+      <details key="end" value="9193"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.732" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%">

+      <details key="start" value="9121"/>

+      <details key="end" value="9171"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.733" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.734" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%/%/%/%">

+      <details key="start" value="9121"/>

+      <details key="end" value="9159"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.735" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%/%/%/%/p">

+      <details key="start" value="9121"/>

+      <details key="end" value="9122"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.736" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%/%/%/%/ContractPropQN">

+      <details key="start" value="9144"/>

+      <details key="end" value="9158"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.737" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%.1">

+      <details key="start" value="9176"/>

+      <details key="end" value="9193"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.738" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/%.1/%.1/p">

+      <details key="start" value="9191"/>

+      <details key="end" value="9192"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.739" references="/0/generateComponent/%.5/%.4/%.6/%.2/contrProps/select/p">

+      <details key="start" value="9106"/>

+      <details key="end" value="9118"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.740" references="/0/generateComponent/%.5/%.4/%.6/checkWeak">

+      <details key="start" value="8431"/>

+      <details key="end" value="8440"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.741" references="/0/generateComponent/%.5/%.4/%.6/%.3">

+      <details key="start" value="9434"/>

+      <details key="end" value="9917"/>

+      <details key="line" value="209"/>

+    </eAnnotations>

+    <eAnnotations source="positions.742" references="/0/generateComponent/%.5/%.4/%.6/%.3/%">

+      <details key="start" value="9543"/>

+      <details key="end" value="9914"/>

+      <details key="line" value="211"/>

+    </eAnnotations>

+    <eAnnotations source="positions.743" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%">

+      <details key="start" value="9683"/>

+      <details key="end" value="9905"/>

+      <details key="line" value="212"/>

+    </eAnnotations>

+    <eAnnotations source="positions.744" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%">

+      <details key="start" value="9727"/>

+      <details key="end" value="9896"/>

+      <details key="line" value="213"/>

+    </eAnnotations>

+    <eAnnotations source="positions.745" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%">

+      <details key="start" value="9757"/>

+      <details key="end" value="9888"/>

+      <details key="line" value="214"/>

+    </eAnnotations>

+    <eAnnotations source="positions.746" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%">

+      <details key="start" value="9815"/>

+      <details key="end" value="9825"/>

+      <details key="line" value="215"/>

+    </eAnnotations>

+    <eAnnotations source="positions.747" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%.1">

+      <details key="start" value="9826"/>

+      <details key="end" value="9840"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.748" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%.1/contrProp">

+      <details key="start" value="9826"/>

+      <details key="end" value="9835"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.749" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%.2">

+      <details key="start" value="9842"/>

+      <details key="end" value="9853"/>

+      <details key="line" value="215"/>

+    </eAnnotations>

+    <eAnnotations source="positions.750" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%.3">

+      <details key="start" value="9854"/>

+      <details key="end" value="9877"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.751" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%.3/contrProp">

+      <details key="start" value="9867"/>

+      <details key="end" value="9876"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.752" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/%.4">

+      <details key="start" value="9879"/>

+      <details key="end" value="9881"/>

+      <details key="line" value="216"/>

+    </eAnnotations>

+    <eAnnotations source="positions.753" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/contract">

+      <details key="start" value="9762"/>

+      <details key="end" value="9812"/>

+      <details key="line" value="214"/>

+    </eAnnotations>

+    <eAnnotations source="positions.754" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/contract/%">

+      <details key="start" value="9782"/>

+      <details key="end" value="9813"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.755" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/contract/%/%">

+      <details key="start" value="9782"/>

+      <details key="end" value="9796"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.756" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/contract/%/%/contrProp">

+      <details key="start" value="9782"/>

+      <details key="end" value="9791"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.757" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%/contract/%/%.1">

+      <details key="start" value="9807"/>

+      <details key="end" value="9812"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.758" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%.1">

+      <details key="start" value="9731"/>

+      <details key="end" value="9753"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.759" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/%/%.1/contrProp">

+      <details key="start" value="9742"/>

+      <details key="end" value="9751"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.760" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/contrProp">

+      <details key="start" value="9689"/>

+      <details key="end" value="9709"/>

+      <details key="line" value="212"/>

+    </eAnnotations>

+    <eAnnotations source="positions.761" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/%/contrProps">

+      <details key="start" value="9712"/>

+      <details key="end" value="9722"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.762" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps">

+      <details key="start" value="9548"/>

+      <details key="end" value="9679"/>

+      <details key="line" value="211"/>

+    </eAnnotations>

+    <eAnnotations source="positions.763" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select">

+      <details key="start" value="9585"/>

+      <details key="end" value="9680"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.764" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%">

+      <details key="start" value="9585"/>

+      <details key="end" value="9605"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.765" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%/block">

+      <details key="start" value="9585"/>

+      <details key="end" value="9590"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.766" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%.1">

+      <details key="start" value="9629"/>

+      <details key="end" value="9679"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.767" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.768" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%.1/%/%/%">

+      <details key="start" value="9629"/>

+      <details key="end" value="9667"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.769" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%.1/%/%/%/p">

+      <details key="start" value="9629"/>

+      <details key="end" value="9630"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.770" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/%.1/%/%/%/ContractPropQN">

+      <details key="start" value="9652"/>

+      <details key="end" value="9666"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.771" references="/0/generateComponent/%.5/%.4/%.6/%.3/%/contrProps/select/p">

+      <details key="start" value="9614"/>

+      <details key="end" value="9626"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.772" references="/0/generateComponent/%.5/%.4/%.7">

+      <details key="start" value="9924"/>

+      <details key="end" value="9926"/>

+      <details key="line" value="221"/>

+    </eAnnotations>

+    <eAnnotations source="positions.773" references="/0/generateComponent/%.5/%.4/%.8">

+      <details key="start" value="9927"/>

+      <details key="end" value="10573"/>

+      <details key="line" value="222"/>

+    </eAnnotations>

+    <eAnnotations source="positions.774" references="/0/generateComponent/%.5/%.4/%.8/%">

+      <details key="start" value="9946"/>

+      <details key="end" value="10565"/>

+      <details key="line" value="223"/>

+    </eAnnotations>

+    <eAnnotations source="positions.775" references="/0/generateComponent/%.5/%.4/%.8/%/%">

+      <details key="start" value="9981"/>

+      <details key="end" value="10556"/>

+      <details key="line" value="224"/>

+    </eAnnotations>

+    <eAnnotations source="positions.776" references="/0/generateComponent/%.5/%.4/%.8/%/%/%">

+      <details key="start" value="10003"/>

+      <details key="end" value="10547"/>

+      <details key="line" value="225"/>

+    </eAnnotations>

+    <eAnnotations source="positions.777" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%">

+      <details key="start" value="10073"/>

+      <details key="end" value="10537"/>

+      <details key="line" value="226"/>

+    </eAnnotations>

+    <eAnnotations source="positions.778" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%">

+      <details key="start" value="10217"/>

+      <details key="end" value="10528"/>

+      <details key="line" value="227"/>

+    </eAnnotations>

+    <eAnnotations source="positions.779" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%">

+      <details key="start" value="10261"/>

+      <details key="end" value="10519"/>

+      <details key="line" value="228"/>

+    </eAnnotations>

+    <eAnnotations source="positions.780" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%">

+      <details key="start" value="10321"/>

+      <details key="end" value="10510"/>

+      <details key="line" value="229"/>

+    </eAnnotations>

+    <eAnnotations source="positions.781" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%">

+      <details key="start" value="10390"/>

+      <details key="end" value="10408"/>

+      <details key="line" value="230"/>

+    </eAnnotations>

+    <eAnnotations source="positions.782" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.1">

+      <details key="start" value="10409"/>

+      <details key="end" value="10423"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.783" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.1/nextblock">

+      <details key="start" value="10409"/>

+      <details key="end" value="10418"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.784" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.2">

+      <details key="start" value="10425"/>

+      <details key="end" value="10426"/>

+      <details key="line" value="230"/>

+    </eAnnotations>

+    <eAnnotations source="positions.785" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.3">

+      <details key="start" value="10427"/>

+      <details key="end" value="10441"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.786" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.3/contrProp">

+      <details key="start" value="10427"/>

+      <details key="end" value="10436"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.787" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.4">

+      <details key="start" value="10443"/>

+      <details key="end" value="10459"/>

+      <details key="line" value="230"/>

+    </eAnnotations>

+    <eAnnotations source="positions.788" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.5">

+      <details key="start" value="10460"/>

+      <details key="end" value="10469"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.789" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.5/part">

+      <details key="start" value="10460"/>

+      <details key="end" value="10464"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.790" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.6">

+      <details key="start" value="10471"/>

+      <details key="end" value="10472"/>

+      <details key="line" value="230"/>

+    </eAnnotations>

+    <eAnnotations source="positions.791" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.7">

+      <details key="start" value="10473"/>

+      <details key="end" value="10487"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.792" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.7/contrProp">

+      <details key="start" value="10473"/>

+      <details key="end" value="10482"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.793" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.8">

+      <details key="start" value="10489"/>

+      <details key="end" value="10503"/>

+      <details key="line" value="230"/>

+    </eAnnotations>

+    <eAnnotations source="positions.794" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.9">

+      <details key="start" value="10325"/>

+      <details key="end" value="10387"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.795" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.9/%">

+      <details key="start" value="10326"/>

+      <details key="end" value="10351"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.796" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.9/%/contrProp">

+      <details key="start" value="10341"/>

+      <details key="end" value="10350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.797" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.9/%.1">

+      <details key="start" value="10356"/>

+      <details key="end" value="10386"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.798" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.9/%.1/%">

+      <details key="start" value="10360"/>

+      <details key="end" value="10386"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.799" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/%/%.9/%.1/%/contract">

+      <details key="start" value="10377"/>

+      <details key="end" value="10385"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.800" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/contract">

+      <details key="start" value="10266"/>

+      <details key="end" value="10316"/>

+      <details key="line" value="228"/>

+    </eAnnotations>

+    <eAnnotations source="positions.801" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/contract/%">

+      <details key="start" value="10286"/>

+      <details key="end" value="10317"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.802" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/contract/%/%">

+      <details key="start" value="10286"/>

+      <details key="end" value="10300"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.803" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/contract/%/%/contrProp">

+      <details key="start" value="10286"/>

+      <details key="end" value="10295"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.804" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/%/contract/%/%.1">

+      <details key="start" value="10311"/>

+      <details key="end" value="10316"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.805" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/contrProp">

+      <details key="start" value="10223"/>

+      <details key="end" value="10243"/>

+      <details key="line" value="227"/>

+    </eAnnotations>

+    <eAnnotations source="positions.806" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/%/contrProps">

+      <details key="start" value="10246"/>

+      <details key="end" value="10256"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.807" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps">

+      <details key="start" value="10078"/>

+      <details key="end" value="10213"/>

+      <details key="line" value="226"/>

+    </eAnnotations>

+    <eAnnotations source="positions.808" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select">

+      <details key="start" value="10115"/>

+      <details key="end" value="10214"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.809" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%">

+      <details key="start" value="10115"/>

+      <details key="end" value="10139"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.810" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%/nextblock">

+      <details key="start" value="10115"/>

+      <details key="end" value="10124"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.811" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%.1">

+      <details key="start" value="10163"/>

+      <details key="end" value="10213"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.812" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.813" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%.1/%/%/%">

+      <details key="start" value="10163"/>

+      <details key="end" value="10201"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.814" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%.1/%/%/%/p">

+      <details key="start" value="10163"/>

+      <details key="end" value="10164"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.815" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/%.1/%/%/%/ContractPropQN">

+      <details key="start" value="10186"/>

+      <details key="end" value="10200"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.816" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/%/contrProps/select/p">

+      <details key="start" value="10148"/>

+      <details key="end" value="10160"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.817" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock">

+      <details key="start" value="10008"/>

+      <details key="end" value="10069"/>

+      <details key="line" value="225"/>

+    </eAnnotations>

+    <eAnnotations source="positions.818" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any">

+      <details key="start" value="10029"/>

+      <details key="end" value="10070"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.819" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/allBlocks">

+      <details key="start" value="10029"/>

+      <details key="end" value="10038"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.820" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/%">

+      <details key="start" value="10056"/>

+      <details key="end" value="10069"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.821" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/%/%">

+      <details key="start" value="10056"/>

+      <details key="end" value="10065"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.822" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/%/%/part">

+      <details key="start" value="10056"/>

+      <details key="end" value="10060"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.823" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/%/c">

+      <details key="start" value="10068"/>

+      <details key="end" value="10069"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.824" references="/0/generateComponent/%.5/%.4/%.8/%/%/%/nextblock/any/c">

+      <details key="start" value="10044"/>

+      <details key="end" value="10053"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.825" references="/0/generateComponent/%.5/%.4/%.8/%/%/%.1">

+      <details key="start" value="9985"/>

+      <details key="end" value="9999"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.826" references="/0/generateComponent/%.5/%.4/%.8/%/%/%.1/part">

+      <details key="start" value="9993"/>

+      <details key="end" value="9997"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.827" references="/0/generateComponent/%.5/%.4/%.8/%/part">

+      <details key="start" value="9952"/>

+      <details key="end" value="9967"/>

+      <details key="line" value="223"/>

+    </eAnnotations>

+    <eAnnotations source="positions.828" references="/0/generateComponent/%.5/%.4/%.8/%/parts">

+      <details key="start" value="9970"/>

+      <details key="end" value="9975"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.829" references="/0/generateComponent/%.5/%.4/%.8/checkWeak">

+      <details key="start" value="9931"/>

+      <details key="end" value="9942"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.830" references="/0/generateComponent/%.5/%.4/%.9">

+      <details key="start" value="10575"/>

+      <details key="end" value="10577"/>

+      <details key="line" value="239"/>

+    </eAnnotations>

+    <eAnnotations source="positions.831" references="/0/generateComponent/%.5/%.4/%.10">

+      <details key="start" value="10578"/>

+      <details key="end" value="10854"/>

+      <details key="line" value="240"/>

+    </eAnnotations>

+    <eAnnotations source="positions.832" references="/0/generateComponent/%.5/%.4/%.10/%">

+      <details key="start" value="10612"/>

+      <details key="end" value="10845"/>

+      <details key="line" value="241"/>

+    </eAnnotations>

+    <eAnnotations source="positions.833" references="/0/generateComponent/%.5/%.4/%.10/%/%">

+      <details key="start" value="10689"/>

+      <details key="end" value="10837"/>

+      <details key="line" value="242"/>

+    </eAnnotations>

+    <eAnnotations source="positions.834" references="/0/generateComponent/%.5/%.4/%.10/%/%/%">

+      <details key="start" value="10757"/>

+      <details key="end" value="10758"/>

+      <details key="line" value="243"/>

+    </eAnnotations>

+    <eAnnotations source="positions.835" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.1">

+      <details key="start" value="10759"/>

+      <details key="end" value="10825"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.836" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.1/newblock">

+      <details key="start" value="10777"/>

+      <details key="end" value="10785"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.837" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.1/%">

+      <details key="start" value="10787"/>

+      <details key="end" value="10792"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.838" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.1/allBlocks">

+      <details key="start" value="10794"/>

+      <details key="end" value="10803"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.839" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.1/generated">

+      <details key="start" value="10805"/>

+      <details key="end" value="10814"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.840" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.1/checkWeak">

+      <details key="start" value="10815"/>

+      <details key="end" value="10824"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.841" references="/0/generateComponent/%.5/%.4/%.10/%/%/%.2">

+      <details key="start" value="10827"/>

+      <details key="end" value="10829"/>

+      <details key="line" value="244"/>

+    </eAnnotations>

+    <eAnnotations source="positions.842" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock">

+      <details key="start" value="10694"/>

+      <details key="end" value="10754"/>

+      <details key="line" value="242"/>

+    </eAnnotations>

+    <eAnnotations source="positions.843" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any">

+      <details key="start" value="10714"/>

+      <details key="end" value="10755"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.844" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/allBlocks">

+      <details key="start" value="10714"/>

+      <details key="end" value="10723"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.845" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/%">

+      <details key="start" value="10741"/>

+      <details key="end" value="10754"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.846" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/%/%">

+      <details key="start" value="10741"/>

+      <details key="end" value="10750"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.847" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/%/%/part">

+      <details key="start" value="10741"/>

+      <details key="end" value="10745"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.848" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/%/c">

+      <details key="start" value="10753"/>

+      <details key="end" value="10754"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.849" references="/0/generateComponent/%.5/%.4/%.10/%/%/newblock/any/c">

+      <details key="start" value="10729"/>

+      <details key="end" value="10738"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.850" references="/0/generateComponent/%.5/%.4/%.10/%/%.1">

+      <details key="start" value="10616"/>

+      <details key="end" value="10684"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.851" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%">

+      <details key="start" value="10617"/>

+      <details key="end" value="10629"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.852" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%/part">

+      <details key="start" value="10624"/>

+      <details key="end" value="10628"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.853" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%.1">

+      <details key="start" value="10634"/>

+      <details key="end" value="10683"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.854" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%.1/%">

+      <details key="start" value="10638"/>

+      <details key="end" value="10683"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.855" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%.1/%/%">

+      <details key="start" value="10657"/>

+      <details key="end" value="10671"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.856" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%.1/%/%/%">

+      <details key="start" value="10657"/>

+      <details key="end" value="10666"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.857" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%.1/%/%/%/part">

+      <details key="start" value="10657"/>

+      <details key="end" value="10661"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.858" references="/0/generateComponent/%.5/%.4/%.10/%/%.1/%.1/%/generated">

+      <details key="start" value="10673"/>

+      <details key="end" value="10682"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.859" references="/0/generateComponent/%.5/%.4/%.10/part">

+      <details key="start" value="10584"/>

+      <details key="end" value="10599"/>

+      <details key="line" value="240"/>

+    </eAnnotations>

+    <eAnnotations source="positions.860" references="/0/generateComponent/%.5/%.4/%.10/parts">

+      <details key="start" value="10602"/>

+      <details key="end" value="10607"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.861" references="/0/generateComponent/%.5/%.4/parts">

+      <details key="start" value="6212"/>

+      <details key="end" value="6281"/>

+      <details key="line" value="140"/>

+    </eAnnotations>

+    <eAnnotations source="positions.862" references="/0/generateComponent/%.5/%.4/parts/%">

+      <details key="start" value="6244"/>

+      <details key="end" value="6282"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.863" references="/0/generateComponent/%.5/%.4/parts/%/%">

+      <details key="start" value="6244"/>

+      <details key="end" value="6264"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.864" references="/0/generateComponent/%.5/%.4/parts/%/%/block">

+      <details key="start" value="6244"/>

+      <details key="end" value="6249"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.865" references="/0/generateComponent/%.5/%.4/parts/%/%.1">

+      <details key="start" value="6273"/>

+      <details key="end" value="6281"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.866" references="/0/generateComponent/%.5/props">

+      <details key="start" value="3720"/>

+      <details key="end" value="3789"/>

+      <details key="line" value="83"/>

+    </eAnnotations>

+    <eAnnotations source="positions.867" references="/0/generateComponent/%.5/props/%">

+      <details key="start" value="3752"/>

+      <details key="end" value="3790"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.868" references="/0/generateComponent/%.5/props/%/%">

+      <details key="start" value="3752"/>

+      <details key="end" value="3772"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.869" references="/0/generateComponent/%.5/props/%/%/block">

+      <details key="start" value="3752"/>

+      <details key="end" value="3757"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.870" references="/0/generateComponent/%.5/props/%/%.1">

+      <details key="start" value="3781"/>

+      <details key="end" value="3789"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.871" references="/0/generateComponent/%.6">

+      <details key="start" value="10874"/>

+      <details key="end" value="10876"/>

+      <details key="line" value="249"/>

+    </eAnnotations>

+    <eAnnotations source="positions.872" references="/0/generateComponent/block">

+      <details key="start" value="3084"/>

+      <details key="end" value="3097"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.873" references="/0/generateComponent/isSystem">

+      <details key="start" value="3099"/>

+      <details key="end" value="3117"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.874" references="/0/generateComponent/allBlocks">

+      <details key="start" value="3119"/>

+      <details key="end" value="3141"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.875" references="/0/generateComponent/generated">

+      <details key="start" value="3143"/>

+      <details key="end" value="3166"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.876" references="/0/generateComponent/checkWeak">

+      <details key="start" value="3168"/>

+      <details key="end" value="3187"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.877" references="/0/getInterface">

+      <details key="start" value="10891"/>

+      <details key="end" value="11079"/>

+      <details key="line" value="252"/>

+    </eAnnotations>

+    <eAnnotations source="positions.878" references="/0/getInterface/port">

+      <details key="start" value="10918"/>

+      <details key="end" value="10929"/>

+      <details key="line" value="252"/>

+    </eAnnotations>

+    <eAnnotations source="positions.879" references="/0/getInterface/%">

+      <details key="start" value="10947"/>

+      <details key="end" value="11076"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.880" references="/0/getInterface/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.881" references="/0/getInterface/%/%">

+      <details key="start" value="10954"/>

+      <details key="end" value="11016"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.882" references="/0/getInterface/%/%.1">

+      <details key="start" value="11018"/>

+      <details key="end" value="11059"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.883" references="/0/getInterface/%/%.2">

+      <details key="start" value="11061"/>

+      <details key="end" value="11075"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.884" references="/0/getInterface/%/%.2/%/port">

+      <details key="start" value="11070"/>

+      <details key="end" value="11074"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.885" references="/0/getReturn">

+      <details key="start" value="11083"/>

+      <details key="end" value="11267"/>

+      <details key="line" value="255"/>

+    </eAnnotations>

+    <eAnnotations source="positions.886" references="/0/getReturn/op">

+      <details key="start" value="11107"/>

+      <details key="end" value="11121"/>

+      <details key="line" value="255"/>

+    </eAnnotations>

+    <eAnnotations source="positions.887" references="/0/getReturn/%">

+      <details key="start" value="11135"/>

+      <details key="end" value="11264"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.888" references="/0/getReturn/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.889" references="/0/getReturn/%/%">

+      <details key="start" value="11142"/>

+      <details key="end" value="11204"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.890" references="/0/getReturn/%/%.1">

+      <details key="start" value="11206"/>

+      <details key="end" value="11249"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.891" references="/0/getReturn/%/%.2">

+      <details key="start" value="11251"/>

+      <details key="end" value="11263"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.892" references="/0/getReturn/%/%.2/%/op">

+      <details key="start" value="11260"/>

+      <details key="end" value="11262"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.893" references="/0/getParamList">

+      <details key="start" value="11271"/>

+      <details key="end" value="11462"/>

+      <details key="line" value="258"/>

+    </eAnnotations>

+    <eAnnotations source="positions.894" references="/0/getParamList/op">

+      <details key="start" value="11298"/>

+      <details key="end" value="11312"/>

+      <details key="line" value="258"/>

+    </eAnnotations>

+    <eAnnotations source="positions.895" references="/0/getParamList/%">

+      <details key="start" value="11327"/>

+      <details key="end" value="11459"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.896" references="/0/getParamList/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.897" references="/0/getParamList/%/%">

+      <details key="start" value="11334"/>

+      <details key="end" value="11396"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.898" references="/0/getParamList/%/%.1">

+      <details key="start" value="11398"/>

+      <details key="end" value="11444"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.899" references="/0/getParamList/%/%.2">

+      <details key="start" value="11446"/>

+      <details key="end" value="11458"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.900" references="/0/getParamList/%/%.2/%/op">

+      <details key="start" value="11455"/>

+      <details key="end" value="11457"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.901" references="/0/getOperationName">

+      <details key="start" value="11466"/>

+      <details key="end" value="11711"/>

+      <details key="line" value="261"/>

+    </eAnnotations>

+    <eAnnotations source="positions.902" references="/0/getOperationName/op">

+      <details key="start" value="11497"/>

+      <details key="end" value="11511"/>

+      <details key="line" value="261"/>

+    </eAnnotations>

+    <eAnnotations source="positions.903" references="/0/getOperationName/port">

+      <details key="start" value="11513"/>

+      <details key="end" value="11524"/>

+      <details key="line" value="261"/>

+    </eAnnotations>

+    <eAnnotations source="positions.904" references="/0/getOperationName/%">

+      <details key="start" value="11539"/>

+      <details key="end" value="11708"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.905" references="/0/getOperationName/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.906" references="/0/getOperationName/%/%">

+      <details key="start" value="11546"/>

+      <details key="end" value="11608"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.907" references="/0/getOperationName/%/%.1">

+      <details key="start" value="11610"/>

+      <details key="end" value="11687"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.908" references="/0/getOperationName/%/%.2">

+      <details key="start" value="11689"/>

+      <details key="end" value="11707"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.909" references="/0/getOperationName/%/%.2/%/op">

+      <details key="start" value="11698"/>

+      <details key="end" value="11700"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.910" references="/0/getOperationName/%/%.2/%.1/port">

+      <details key="start" value="11702"/>

+      <details key="end" value="11706"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.911" references="/0/getSystem">

+      <details key="start" value="11715"/>

+      <details key="end" value="11934"/>

+      <details key="line" value="264"/>

+    </eAnnotations>

+    <eAnnotations source="positions.912" references="/0/getSystem/classes">

+      <details key="start" value="11739"/>

+      <details key="end" value="11759"/>

+      <details key="line" value="264"/>

+    </eAnnotations>

+    <eAnnotations source="positions.913" references="/0/getSystem/qname">

+      <details key="start" value="11761"/>

+      <details key="end" value="11775"/>

+      <details key="line" value="264"/>

+    </eAnnotations>

+    <eAnnotations source="positions.914" references="/0/getSystem/%">

+      <details key="start" value="11789"/>

+      <details key="end" value="11931"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.915" references="/0/getSystem/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.916" references="/0/getSystem/%/%">

+      <details key="start" value="11796"/>

+      <details key="end" value="11858"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.917" references="/0/getSystem/%/%.1">

+      <details key="start" value="11860"/>

+      <details key="end" value="11904"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.918" references="/0/getSystem/%/%.2">

+      <details key="start" value="11906"/>

+      <details key="end" value="11930"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.919" references="/0/getSystem/%/%.2/%/classes">

+      <details key="start" value="11915"/>

+      <details key="end" value="11922"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.920" references="/0/getSystem/%/%.2/%.1/qname">

+      <details key="start" value="11924"/>

+      <details key="end" value="11929"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.921" references="/0/getAllBlocks">

+      <details key="start" value="11938"/>

+      <details key="end" value="12237"/>

+      <details key="line" value="267"/>

+    </eAnnotations>

+    <eAnnotations source="positions.922" references="/0/getAllBlocks/classes">

+      <details key="start" value="11965"/>

+      <details key="end" value="11985"/>

+      <details key="line" value="267"/>

+    </eAnnotations>

+    <eAnnotations source="positions.923" references="/0/getAllBlocks/blockQN">

+      <details key="start" value="11987"/>

+      <details key="end" value="12003"/>

+      <details key="line" value="267"/>

+    </eAnnotations>

+    <eAnnotations source="positions.924" references="/0/getAllBlocks/SubSystemQN">

+      <details key="start" value="12005"/>

+      <details key="end" value="12025"/>

+      <details key="line" value="267"/>

+    </eAnnotations>

+    <eAnnotations source="positions.925" references="/0/getAllBlocks/SystemQN">

+      <details key="start" value="12027"/>

+      <details key="end" value="12044"/>

+      <details key="line" value="267"/>

+    </eAnnotations>

+    <eAnnotations source="positions.926" references="/0/getAllBlocks/select">

+      <details key="start" value="12063"/>

+      <details key="end" value="12234"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.927" references="/0/getAllBlocks/select/classes">

+      <details key="start" value="12063"/>

+      <details key="end" value="12070"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.928" references="/0/getAllBlocks/select/%">

+      <details key="start" value="12091"/>

+      <details key="end" value="12233"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.929" references="/0/getAllBlocks/select/%/%">

+      <details key="start" value="12091"/>

+      <details key="end" value="12185"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.930" references="/0/getAllBlocks/select/%/%/%">

+      <details key="start" value="12091"/>

+      <details key="end" value="12134"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.931" references="/0/getAllBlocks/select/%/%/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.932" references="/0/getAllBlocks/select/%/%/%/%/%/%">

+      <details key="start" value="12091"/>

+      <details key="end" value="12122"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.933" references="/0/getAllBlocks/select/%/%/%/%/%/%/c">

+      <details key="start" value="12091"/>

+      <details key="end" value="12092"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.934" references="/0/getAllBlocks/select/%/%/%/%/%/%/blockQN">

+      <details key="start" value="12114"/>

+      <details key="end" value="12121"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.935" references="/0/getAllBlocks/select/%/%/%.1">

+      <details key="start" value="12138"/>

+      <details key="end" value="12185"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.936" references="/0/getAllBlocks/select/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.937" references="/0/getAllBlocks/select/%/%/%.1/%/%/%">

+      <details key="start" value="12138"/>

+      <details key="end" value="12173"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.938" references="/0/getAllBlocks/select/%/%/%.1/%/%/%/c">

+      <details key="start" value="12138"/>

+      <details key="end" value="12139"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.939" references="/0/getAllBlocks/select/%/%/%.1/%/%/%/SubSystemQN">

+      <details key="start" value="12161"/>

+      <details key="end" value="12172"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.940" references="/0/getAllBlocks/select/%/%.1">

+      <details key="start" value="12189"/>

+      <details key="end" value="12233"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.941" references="/0/getAllBlocks/select/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.942" references="/0/getAllBlocks/select/%/%.1/%/%/%">

+      <details key="start" value="12189"/>

+      <details key="end" value="12221"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.943" references="/0/getAllBlocks/select/%/%.1/%/%/%/c">

+      <details key="start" value="12189"/>

+      <details key="end" value="12190"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.944" references="/0/getAllBlocks/select/%/%.1/%/%/%/SystemQN">

+      <details key="start" value="12212"/>

+      <details key="end" value="12220"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.945" references="/0/getAllBlocks/select/c">

+      <details key="start" value="12079"/>

+      <details key="end" value="12088"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.946" references="/0/getAllComponents">

+      <details key="start" value="12241"/>

+      <details key="end" value="12531"/>

+      <details key="line" value="270"/>

+    </eAnnotations>

+    <eAnnotations source="positions.947" references="/0/getAllComponents/hwcomps">

+      <details key="start" value="12272"/>

+      <details key="end" value="12296"/>

+      <details key="line" value="270"/>

+    </eAnnotations>

+    <eAnnotations source="positions.948" references="/0/getAllComponents/comps">

+      <details key="start" value="12298"/>

+      <details key="end" value="12320"/>

+      <details key="line" value="270"/>

+    </eAnnotations>

+    <eAnnotations source="positions.949" references="/0/getAllComponents/CompImplQN">

+      <details key="start" value="12322"/>

+      <details key="end" value="12341"/>

+      <details key="line" value="270"/>

+    </eAnnotations>

+    <eAnnotations source="positions.950" references="/0/getAllComponents/PlatformQN">

+      <details key="start" value="12343"/>

+      <details key="end" value="12362"/>

+      <details key="line" value="270"/>

+    </eAnnotations>

+    <eAnnotations source="positions.951" references="/0/getAllComponents/%">

+      <details key="start" value="12385"/>

+      <details key="end" value="12528"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.952" references="/0/getAllComponents/%/select">

+      <details key="start" value="12385"/>

+      <details key="end" value="12512"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.953" references="/0/getAllComponents/%/select/comps">

+      <details key="start" value="12385"/>

+      <details key="end" value="12390"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.954" references="/0/getAllComponents/%/select/%">

+      <details key="start" value="12415"/>

+      <details key="end" value="12511"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.955" references="/0/getAllComponents/%/select/%/%">

+      <details key="start" value="12415"/>

+      <details key="end" value="12461"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.956" references="/0/getAllComponents/%/select/%/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.957" references="/0/getAllComponents/%/select/%/%/%/%/%">

+      <details key="start" value="12415"/>

+      <details key="end" value="12449"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.958" references="/0/getAllComponents/%/select/%/%/%/%/%/c">

+      <details key="start" value="12415"/>

+      <details key="end" value="12416"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.959" references="/0/getAllComponents/%/select/%/%/%/%/%/CompImplQN">

+      <details key="start" value="12438"/>

+      <details key="end" value="12448"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.960" references="/0/getAllComponents/%/select/%/%.1">

+      <details key="start" value="12465"/>

+      <details key="end" value="12511"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.961" references="/0/getAllComponents/%/select/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.962" references="/0/getAllComponents/%/select/%/%.1/%/%/%">

+      <details key="start" value="12465"/>

+      <details key="end" value="12499"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.963" references="/0/getAllComponents/%/select/%/%.1/%/%/%/c">

+      <details key="start" value="12465"/>

+      <details key="end" value="12466"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.964" references="/0/getAllComponents/%/select/%/%.1/%/%/%/PlatformQN">

+      <details key="start" value="12488"/>

+      <details key="end" value="12498"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.965" references="/0/getAllComponents/%/select/c">

+      <details key="start" value="12399"/>

+      <details key="end" value="12412"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.966" references="/0/getAllComponents/%/hwcomps">

+      <details key="start" value="12520"/>

+      <details key="end" value="12527"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.967" references="/0/getDirection">

+      <details key="start" value="12535"/>

+      <details key="end" value="12674"/>

+      <details key="line" value="273"/>

+    </eAnnotations>

+    <eAnnotations source="positions.968" references="/0/getDirection/dir">

+      <details key="start" value="12562"/>

+      <details key="end" value="12574"/>

+      <details key="line" value="273"/>

+    </eAnnotations>

+    <eAnnotations source="positions.969" references="/0/getDirection/%">

+      <details key="start" value="12589"/>

+      <details key="end" value="12671"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.970" references="/0/getDirection/%/%">

+      <details key="start" value="12592"/>

+      <details key="end" value="12601"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.971" references="/0/getDirection/%/%/self">

+      <details key="start" value="12592"/>

+      <details key="end" value="12596"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.972" references="/0/getDirection/%/%/%">

+      <details key="start" value="12597"/>

+      <details key="end" value="12601"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.973" references="/0/getDirection/%/%.1">

+      <details key="start" value="12607"/>

+      <details key="end" value="12615"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.974" references="/0/getDirection/%/%.2">

+      <details key="start" value="12621"/>

+      <details key="end" value="12665"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.975" references="/0/getDirection/%/%.2/%">

+      <details key="start" value="12624"/>

+      <details key="end" value="12636"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.976" references="/0/getDirection/%/%.2/%/self">

+      <details key="start" value="12624"/>

+      <details key="end" value="12628"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.977" references="/0/getDirection/%/%.2/%/%">

+      <details key="start" value="12631"/>

+      <details key="end" value="12636"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.978" references="/0/getDirection/%/%.2/%.1">

+      <details key="start" value="12642"/>

+      <details key="end" value="12651"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.979" references="/0/getDirection/%/%.2/%.2">

+      <details key="start" value="12657"/>

+      <details key="end" value="12659"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.980" references="/0/isPart">

+      <details key="start" value="12678"/>

+      <details key="end" value="13035"/>

+      <details key="line" value="276"/>

+    </eAnnotations>

+    <eAnnotations source="positions.981" references="/0/isPart/prop">

+      <details key="start" value="12699"/>

+      <details key="end" value="12714"/>

+      <details key="line" value="276"/>

+    </eAnnotations>

+    <eAnnotations source="positions.982" references="/0/isPart/%">

+      <details key="start" value="12730"/>

+      <details key="end" value="13032"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.983" references="/0/isPart/%/%">

+      <details key="start" value="12733"/>

+      <details key="end" value="13005"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.984" references="/0/isPart/%/%/%">

+      <details key="start" value="12733"/>

+      <details key="end" value="12931"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.985" references="/0/isPart/%/%/%/%">

+      <details key="start" value="12733"/>

+      <details key="end" value="12861"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.986" references="/0/isPart/%/%/%/%/%">

+      <details key="start" value="12733"/>

+      <details key="end" value="12765"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.987" references="/0/isPart/%/%/%/%/%/%">

+      <details key="start" value="12733"/>

+      <details key="end" value="12742"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.988" references="/0/isPart/%/%/%/%/%/%/self">

+      <details key="start" value="12733"/>

+      <details key="end" value="12737"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.989" references="/0/isPart/%/%/%/%/%/%.1">

+      <details key="start" value="12755"/>

+      <details key="end" value="12764"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.990" references="/0/isPart/%/%/%/%/%.1">

+      <details key="start" value="12769"/>

+      <details key="end" value="12861"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.991" references="/0/isPart/%/%/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.992" references="/0/isPart/%/%/%/%/%.1/%/%/%">

+      <details key="start" value="12769"/>

+      <details key="end" value="12849"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.993" references="/0/isPart/%/%/%/%/%.1/%/%/%/%">

+      <details key="start" value="12769"/>

+      <details key="end" value="12778"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.994" references="/0/isPart/%/%/%/%/%.1/%/%/%/%/self">

+      <details key="start" value="12769"/>

+      <details key="end" value="12773"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.995" references="/0/isPart/%/%/%/%/%.1/%/%/%/%.1">

+      <details key="start" value="12800"/>

+      <details key="end" value="12848"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.996" references="/0/isPart/%/%/%/%.1">

+      <details key="start" value="12865"/>

+      <details key="end" value="12931"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.997" references="/0/isPart/%/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.998" references="/0/isPart/%/%/%/%.1/%/%/%">

+      <details key="start" value="12865"/>

+      <details key="end" value="12919"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.999" references="/0/isPart/%/%/%/%.1/%/%/%/%">

+      <details key="start" value="12865"/>

+      <details key="end" value="12874"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1000" references="/0/isPart/%/%/%/%.1/%/%/%/%/self">

+      <details key="start" value="12865"/>

+      <details key="end" value="12869"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1001" references="/0/isPart/%/%/%/%.1/%/%/%/%.1">

+      <details key="start" value="12896"/>

+      <details key="end" value="12918"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1002" references="/0/isPart/%/%/%.1">

+      <details key="start" value="12935"/>

+      <details key="end" value="13005"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1003" references="/0/isPart/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1004" references="/0/isPart/%/%/%.1/%/%/%">

+      <details key="start" value="12935"/>

+      <details key="end" value="12993"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1005" references="/0/isPart/%/%/%.1/%/%/%/%">

+      <details key="start" value="12935"/>

+      <details key="end" value="12944"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1006" references="/0/isPart/%/%/%.1/%/%/%/%/self">

+      <details key="start" value="12935"/>

+      <details key="end" value="12939"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1007" references="/0/isPart/%/%/%.1/%/%/%/%.1">

+      <details key="start" value="12966"/>

+      <details key="end" value="12992"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1008" references="/0/isPart/%/%.1">

+      <details key="start" value="13011"/>

+      <details key="end" value="13015"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1009" references="/0/isPart/%/%.2">

+      <details key="start" value="13021"/>

+      <details key="end" value="13026"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1010" references="/0/isDelegation">

+      <details key="start" value="13039"/>

+      <details key="end" value="13234"/>

+      <details key="line" value="279"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1011" references="/0/isDelegation/conn">

+      <details key="start" value="13066"/>

+      <details key="end" value="13082"/>

+      <details key="line" value="279"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1012" references="/0/isDelegation/%">

+      <details key="start" value="13098"/>

+      <details key="end" value="13231"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1013" references="/0/isDelegation/%/%">

+      <details key="start" value="13101"/>

+      <details key="end" value="13203"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1014" references="/0/isDelegation/%/%/%">

+      <details key="start" value="13101"/>

+      <details key="end" value="13150"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1015" references="/0/isDelegation/%/%/%/%">

+      <details key="start" value="13102"/>

+      <details key="end" value="13132"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1016" references="/0/isDelegation/%/%/%/%/%">

+      <details key="start" value="13102"/>

+      <details key="end" value="13119"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1017" references="/0/isDelegation/%/%/%/%/%/%">

+      <details key="start" value="13102"/>

+      <details key="end" value="13110"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1018" references="/0/isDelegation/%/%/%/%/%/%/conn">

+      <details key="start" value="13102"/>

+      <details key="end" value="13106"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1019" references="/0/isDelegation/%/%/%.1">

+      <details key="start" value="13155"/>

+      <details key="end" value="13203"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1020" references="/0/isDelegation/%/%/%.1/%">

+      <details key="start" value="13156"/>

+      <details key="end" value="13185"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1021" references="/0/isDelegation/%/%/%.1/%/%">

+      <details key="start" value="13156"/>

+      <details key="end" value="13172"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1022" references="/0/isDelegation/%/%/%.1/%/%/%">

+      <details key="start" value="13156"/>

+      <details key="end" value="13164"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1023" references="/0/isDelegation/%/%/%.1/%/%/%/conn">

+      <details key="start" value="13156"/>

+      <details key="end" value="13160"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1024" references="/0/isDelegation/%/%.1">

+      <details key="start" value="13210"/>

+      <details key="end" value="13214"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1025" references="/0/isDelegation/%/%.2">

+      <details key="start" value="13220"/>

+      <details key="end" value="13225"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1026" references="/0/firstIsSub">

+      <details key="start" value="13238"/>

+      <details key="end" value="13377"/>

+      <details key="line" value="283"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1027" references="/0/firstIsSub/conn">

+      <details key="start" value="13263"/>

+      <details key="end" value="13279"/>

+      <details key="line" value="283"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1028" references="/0/firstIsSub/%">

+      <details key="start" value="13296"/>

+      <details key="end" value="13375"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1029" references="/0/firstIsSub/%/%">

+      <details key="start" value="13299"/>

+      <details key="end" value="13348"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1030" references="/0/firstIsSub/%/%/%">

+      <details key="start" value="13300"/>

+      <details key="end" value="13330"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1031" references="/0/firstIsSub/%/%/%/%">

+      <details key="start" value="13300"/>

+      <details key="end" value="13317"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1032" references="/0/firstIsSub/%/%/%/%/%">

+      <details key="start" value="13300"/>

+      <details key="end" value="13308"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1033" references="/0/firstIsSub/%/%/%/%/%/conn">

+      <details key="start" value="13300"/>

+      <details key="end" value="13304"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1034" references="/0/firstIsSub/%/%.1">

+      <details key="start" value="13354"/>

+      <details key="end" value="13359"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1035" references="/0/firstIsSub/%/%.2">

+      <details key="start" value="13365"/>

+      <details key="end" value="13369"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1036" references="/0/getNewBlocks">

+      <details key="start" value="13381"/>

+      <details key="end" value="13570"/>

+      <details key="line" value="286"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1037" references="/0/getNewBlocks/parts">

+      <details key="start" value="13408"/>

+      <details key="end" value="13429"/>

+      <details key="line" value="286"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1038" references="/0/getNewBlocks/%">

+      <details key="start" value="13449"/>

+      <details key="end" value="13567"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1039" references="/0/getNewBlocks/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1040" references="/0/getNewBlocks/%/%">

+      <details key="start" value="13456"/>

+      <details key="end" value="13518"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1041" references="/0/getNewBlocks/%/%.1">

+      <details key="start" value="13520"/>

+      <details key="end" value="13549"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1042" references="/0/getNewBlocks/%/%.2">

+      <details key="start" value="13551"/>

+      <details key="end" value="13566"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1043" references="/0/getNewBlocks/%/%.2/%/parts">

+      <details key="start" value="13560"/>

+      <details key="end" value="13565"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1044" references="/0/getEmptyStringSet">

+      <details key="start" value="13574"/>

+      <details key="end" value="13751"/>

+      <details key="line" value="289"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1045" references="/0/getEmptyStringSet/traceCtx">

+      <details key="start" value="13606"/>

+      <details key="end" value="13623"/>

+      <details key="line" value="289"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1046" references="/0/getEmptyStringSet/%">

+      <details key="start" value="13643"/>

+      <details key="end" value="13748"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1047" references="/0/getEmptyStringSet/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1048" references="/0/getEmptyStringSet/%/%">

+      <details key="start" value="13650"/>

+      <details key="end" value="13712"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1049" references="/0/getEmptyStringSet/%/%.1">

+      <details key="start" value="13714"/>

+      <details key="end" value="13735"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1050" references="/0/getEmptyStringSet/%/%.2">

+      <details key="start" value="13737"/>

+      <details key="end" value="13747"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1051" references="/0/addToGenerated">

+      <details key="start" value="13755"/>

+      <details key="end" value="13988"/>

+      <details key="line" value="292"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1052" references="/0/addToGenerated/name">

+      <details key="start" value="13784"/>

+      <details key="end" value="13797"/>

+      <details key="line" value="292"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1053" references="/0/addToGenerated/generated">

+      <details key="start" value="13799"/>

+      <details key="end" value="13822"/>

+      <details key="line" value="292"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1054" references="/0/addToGenerated/%">

+      <details key="start" value="13837"/>

+      <details key="end" value="13985"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1055" references="/0/addToGenerated/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1056" references="/0/addToGenerated/%/%">

+      <details key="start" value="13844"/>

+      <details key="end" value="13906"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1057" references="/0/addToGenerated/%/%.1">

+      <details key="start" value="13908"/>

+      <details key="end" value="13957"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1058" references="/0/addToGenerated/%/%.2">

+      <details key="start" value="13959"/>

+      <details key="end" value="13984"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1059" references="/0/addToGenerated/%/%.2/%/name">

+      <details key="start" value="13968"/>

+      <details key="end" value="13972"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1060" references="/0/addToGenerated/%/%.2/%.1/generated">

+      <details key="start" value="13974"/>

+      <details key="end" value="13983"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1061" references="/0/isAlreadyGenerated">

+      <details key="start" value="13992"/>

+      <details key="end" value="14234"/>

+      <details key="line" value="295"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1062" references="/0/isAlreadyGenerated/name">

+      <details key="start" value="14025"/>

+      <details key="end" value="14038"/>

+      <details key="line" value="295"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1063" references="/0/isAlreadyGenerated/generated">

+      <details key="start" value="14040"/>

+      <details key="end" value="14063"/>

+      <details key="line" value="295"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1064" references="/0/isAlreadyGenerated/%">

+      <details key="start" value="14079"/>

+      <details key="end" value="14231"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1065" references="/0/isAlreadyGenerated/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1066" references="/0/isAlreadyGenerated/%/%">

+      <details key="start" value="14086"/>

+      <details key="end" value="14148"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1067" references="/0/isAlreadyGenerated/%/%.1">

+      <details key="start" value="14150"/>

+      <details key="end" value="14203"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1068" references="/0/isAlreadyGenerated/%/%.2">

+      <details key="start" value="14205"/>

+      <details key="end" value="14230"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1069" references="/0/isAlreadyGenerated/%/%.2/%/name">

+      <details key="start" value="14214"/>

+      <details key="end" value="14218"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1070" references="/0/isAlreadyGenerated/%/%.2/%.1/generated">

+      <details key="start" value="14220"/>

+      <details key="end" value="14229"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1071" references="/0/getAssume">

+      <details key="start" value="14238"/>

+      <details key="end" value="14425"/>

+      <details key="line" value="298"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1072" references="/0/getAssume/contract">

+      <details key="start" value="14262"/>

+      <details key="end" value="14277"/>

+      <details key="line" value="298"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1073" references="/0/getAssume/%">

+      <details key="start" value="14291"/>

+      <details key="end" value="14422"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1074" references="/0/getAssume/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1075" references="/0/getAssume/%/%">

+      <details key="start" value="14298"/>

+      <details key="end" value="14360"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1076" references="/0/getAssume/%/%.1">

+      <details key="start" value="14362"/>

+      <details key="end" value="14401"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1077" references="/0/getAssume/%/%.2">

+      <details key="start" value="14403"/>

+      <details key="end" value="14421"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1078" references="/0/getAssume/%/%.2/%/contract">

+      <details key="start" value="14412"/>

+      <details key="end" value="14420"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1079" references="/0/getGuarantee">

+      <details key="start" value="14429"/>

+      <details key="end" value="14622"/>

+      <details key="line" value="301"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1080" references="/0/getGuarantee/contract">

+      <details key="start" value="14456"/>

+      <details key="end" value="14471"/>

+      <details key="line" value="301"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1081" references="/0/getGuarantee/%">

+      <details key="start" value="14485"/>

+      <details key="end" value="14619"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1082" references="/0/getGuarantee/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1083" references="/0/getGuarantee/%/%">

+      <details key="start" value="14492"/>

+      <details key="end" value="14554"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1084" references="/0/getGuarantee/%/%.1">

+      <details key="start" value="14556"/>

+      <details key="end" value="14598"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1085" references="/0/getGuarantee/%/%.2">

+      <details key="start" value="14600"/>

+      <details key="end" value="14618"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1086" references="/0/getGuarantee/%/%.2/%/contract">

+      <details key="start" value="14609"/>

+      <details key="end" value="14617"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1087" references="/0/isRefined">

+      <details key="start" value="14626"/>

+      <details key="end" value="14814"/>

+      <details key="line" value="304"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1088" references="/0/isRefined/prop">

+      <details key="start" value="14650"/>

+      <details key="end" value="14665"/>

+      <details key="line" value="304"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1089" references="/0/isRefined/%">

+      <details key="start" value="14681"/>

+      <details key="end" value="14811"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1090" references="/0/isRefined/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1091" references="/0/isRefined/%/%">

+      <details key="start" value="14688"/>

+      <details key="end" value="14750"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1092" references="/0/isRefined/%/%.1">

+      <details key="start" value="14752"/>

+      <details key="end" value="14794"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1093" references="/0/isRefined/%/%.2">

+      <details key="start" value="14796"/>

+      <details key="end" value="14810"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1094" references="/0/isRefined/%/%.2/%/prop">

+      <details key="start" value="14805"/>

+      <details key="end" value="14809"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1095" references="/0/getRefinedBy">

+      <details key="start" value="14818"/>

+      <details key="end" value="15011"/>

+      <details key="line" value="307"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1096" references="/0/getRefinedBy/prop">

+      <details key="start" value="14845"/>

+      <details key="end" value="14860"/>

+      <details key="line" value="307"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1097" references="/0/getRefinedBy/%">

+      <details key="start" value="14875"/>

+      <details key="end" value="15008"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1098" references="/0/getRefinedBy/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1099" references="/0/getRefinedBy/%/%">

+      <details key="start" value="14882"/>

+      <details key="end" value="14944"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1100" references="/0/getRefinedBy/%/%.1">

+      <details key="start" value="14946"/>

+      <details key="end" value="14991"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1101" references="/0/getRefinedBy/%/%.2">

+      <details key="start" value="14993"/>

+      <details key="end" value="15007"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1102" references="/0/getRefinedBy/%/%.2/%/prop">

+      <details key="start" value="15002"/>

+      <details key="end" value="15006"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1103" references="/0/getRefinedByStrongWeak">

+      <details key="start" value="15015"/>

+      <details key="end" value="15272"/>

+      <details key="line" value="310"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1104" references="/0/getRefinedByStrongWeak/prop">

+      <details key="start" value="15052"/>

+      <details key="end" value="15067"/>

+      <details key="line" value="310"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1105" references="/0/getRefinedByStrongWeak/parts">

+      <details key="start" value="15069"/>

+      <details key="end" value="15091"/>

+      <details key="line" value="310"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1106" references="/0/getRefinedByStrongWeak/%">

+      <details key="start" value="15106"/>

+      <details key="end" value="15269"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1107" references="/0/getRefinedByStrongWeak/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1108" references="/0/getRefinedByStrongWeak/%/%">

+      <details key="start" value="15113"/>

+      <details key="end" value="15175"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1109" references="/0/getRefinedByStrongWeak/%/%.1">

+      <details key="start" value="15177"/>

+      <details key="end" value="15246"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1110" references="/0/getRefinedByStrongWeak/%/%.2">

+      <details key="start" value="15248"/>

+      <details key="end" value="15268"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1111" references="/0/getRefinedByStrongWeak/%/%.2/%/prop">

+      <details key="start" value="15257"/>

+      <details key="end" value="15261"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1112" references="/0/getRefinedByStrongWeak/%/%.2/%.1/parts">

+      <details key="start" value="15262"/>

+      <details key="end" value="15267"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1113" references="/0/getRefinedByAllWeak">

+      <details key="start" value="15276"/>

+      <details key="end" value="15519"/>

+      <details key="line" value="313"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1114" references="/0/getRefinedByAllWeak/props">

+      <details key="start" value="15310"/>

+      <details key="end" value="15332"/>

+      <details key="line" value="313"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1115" references="/0/getRefinedByAllWeak/parts">

+      <details key="start" value="15334"/>

+      <details key="end" value="15356"/>

+      <details key="line" value="313"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1116" references="/0/getRefinedByAllWeak/%">

+      <details key="start" value="15371"/>

+      <details key="end" value="15516"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1117" references="/0/getRefinedByAllWeak/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1118" references="/0/getRefinedByAllWeak/%/%">

+      <details key="start" value="15378"/>

+      <details key="end" value="15440"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1119" references="/0/getRefinedByAllWeak/%/%.1">

+      <details key="start" value="15442"/>

+      <details key="end" value="15492"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1120" references="/0/getRefinedByAllWeak/%/%.2">

+      <details key="start" value="15494"/>

+      <details key="end" value="15515"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1121" references="/0/getRefinedByAllWeak/%/%.2/%/props">

+      <details key="start" value="15503"/>

+      <details key="end" value="15508"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1122" references="/0/getRefinedByAllWeak/%/%.2/%.1/parts">

+      <details key="start" value="15509"/>

+      <details key="end" value="15514"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1123" references="/0/getContractType">

+      <details key="start" value="15523"/>

+      <details key="end" value="15722"/>

+      <details key="line" value="316"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1124" references="/0/getContractType/prop">

+      <details key="start" value="15553"/>

+      <details key="end" value="15568"/>

+      <details key="line" value="316"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1125" references="/0/getContractType/%">

+      <details key="start" value="15583"/>

+      <details key="end" value="15719"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1126" references="/0/getContractType/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1127" references="/0/getContractType/%/%">

+      <details key="start" value="15590"/>

+      <details key="end" value="15652"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1128" references="/0/getContractType/%/%.1">

+      <details key="start" value="15654"/>

+      <details key="end" value="15702"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1129" references="/0/getContractType/%/%.2">

+      <details key="start" value="15704"/>

+      <details key="end" value="15718"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1130" references="/0/getContractType/%/%.2/%/prop">

+      <details key="start" value="15713"/>

+      <details key="end" value="15717"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1131" references="/0/isWeakContract">

+      <details key="start" value="15726"/>

+      <details key="end" value="15924"/>

+      <details key="line" value="319"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1132" references="/0/isWeakContract/prop">

+      <details key="start" value="15755"/>

+      <details key="end" value="15770"/>

+      <details key="line" value="319"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1133" references="/0/isWeakContract/%">

+      <details key="start" value="15786"/>

+      <details key="end" value="15921"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1134" references="/0/isWeakContract/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1135" references="/0/isWeakContract/%/%">

+      <details key="start" value="15793"/>

+      <details key="end" value="15855"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1136" references="/0/isWeakContract/%/%.1">

+      <details key="start" value="15857"/>

+      <details key="end" value="15904"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1137" references="/0/isWeakContract/%/%.2">

+      <details key="start" value="15906"/>

+      <details key="end" value="15920"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1138" references="/0/isWeakContract/%/%.2/%/prop">

+      <details key="start" value="15915"/>

+      <details key="end" value="15919"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1139" references="/0/isAssumptionTrue">

+      <details key="start" value="15928"/>

+      <details key="end" value="16131"/>

+      <details key="line" value="322"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1140" references="/0/isAssumptionTrue/contract">

+      <details key="start" value="15959"/>

+      <details key="end" value="15974"/>

+      <details key="line" value="322"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1141" references="/0/isAssumptionTrue/%">

+      <details key="start" value="15990"/>

+      <details key="end" value="16128"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1142" references="/0/isAssumptionTrue/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1143" references="/0/isAssumptionTrue/%/%">

+      <details key="start" value="15997"/>

+      <details key="end" value="16059"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1144" references="/0/isAssumptionTrue/%/%.1">

+      <details key="start" value="16061"/>

+      <details key="end" value="16107"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1145" references="/0/isAssumptionTrue/%/%.2">

+      <details key="start" value="16109"/>

+      <details key="end" value="16127"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1146" references="/0/isAssumptionTrue/%/%.2/%/contract">

+      <details key="start" value="16118"/>

+      <details key="end" value="16126"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1147" references="/0/checkRules">

+      <details key="start" value="16135"/>

+      <details key="end" value="16327"/>

+      <details key="line" value="325"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1148" references="/0/checkRules/conn">

+      <details key="start" value="16160"/>

+      <details key="end" value="16176"/>

+      <details key="line" value="325"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1149" references="/0/checkRules/%">

+      <details key="start" value="16192"/>

+      <details key="end" value="16324"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1150" references="/0/checkRules/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1151" references="/0/checkRules/%/%">

+      <details key="start" value="16199"/>

+      <details key="end" value="16261"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1152" references="/0/checkRules/%/%.1">

+      <details key="start" value="16263"/>

+      <details key="end" value="16307"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1153" references="/0/checkRules/%/%.2">

+      <details key="start" value="16309"/>

+      <details key="end" value="16323"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1154" references="/0/checkRules/%/%.2/%/conn">

+      <details key="start" value="16318"/>

+      <details key="end" value="16322"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1155" references="/0/checkConnectedPorts">

+      <details key="start" value="16331"/>

+      <details key="end" value="16541"/>

+      <details key="line" value="328"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1156" references="/0/checkConnectedPorts/conn">

+      <details key="start" value="16365"/>

+      <details key="end" value="16381"/>

+      <details key="line" value="328"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1157" references="/0/checkConnectedPorts/%">

+      <details key="start" value="16397"/>

+      <details key="end" value="16538"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1158" references="/0/checkConnectedPorts/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1159" references="/0/checkConnectedPorts/%/%">

+      <details key="start" value="16404"/>

+      <details key="end" value="16466"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1160" references="/0/checkConnectedPorts/%/%.1">

+      <details key="start" value="16468"/>

+      <details key="end" value="16521"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1161" references="/0/checkConnectedPorts/%/%.2">

+      <details key="start" value="16523"/>

+      <details key="end" value="16537"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1162" references="/0/checkConnectedPorts/%/%.2/%/conn">

+      <details key="start" value="16532"/>

+      <details key="end" value="16536"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1163" references="/0/checkOperationPorts">

+      <details key="start" value="16545"/>

+      <details key="end" value="16755"/>

+      <details key="line" value="331"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1164" references="/0/checkOperationPorts/conn">

+      <details key="start" value="16579"/>

+      <details key="end" value="16595"/>

+      <details key="line" value="331"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1165" references="/0/checkOperationPorts/%">

+      <details key="start" value="16611"/>

+      <details key="end" value="16752"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1166" references="/0/checkOperationPorts/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1167" references="/0/checkOperationPorts/%/%">

+      <details key="start" value="16618"/>

+      <details key="end" value="16680"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1168" references="/0/checkOperationPorts/%/%.1">

+      <details key="start" value="16682"/>

+      <details key="end" value="16735"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1169" references="/0/checkOperationPorts/%/%.2">

+      <details key="start" value="16737"/>

+      <details key="end" value="16751"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1170" references="/0/checkOperationPorts/%/%.2/%/conn">

+      <details key="start" value="16746"/>

+      <details key="end" value="16750"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1171" references="/0/getOperationConnections">

+      <details key="start" value="16759"/>

+      <details key="end" value="16976"/>

+      <details key="line" value="334"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1172" references="/0/getOperationConnections/conn">

+      <details key="start" value="16797"/>

+      <details key="end" value="16813"/>

+      <details key="line" value="334"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1173" references="/0/getOperationConnections/%">

+      <details key="start" value="16828"/>

+      <details key="end" value="16973"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1174" references="/0/getOperationConnections/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1175" references="/0/getOperationConnections/%/%">

+      <details key="start" value="16835"/>

+      <details key="end" value="16897"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1176" references="/0/getOperationConnections/%/%.1">

+      <details key="start" value="16899"/>

+      <details key="end" value="16956"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1177" references="/0/getOperationConnections/%/%.2">

+      <details key="start" value="16958"/>

+      <details key="end" value="16972"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1178" references="/0/getOperationConnections/%/%.2/%/conn">

+      <details key="start" value="16967"/>

+      <details key="end" value="16971"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1179" references="/0/getType">

+      <details key="start" value="16980"/>

+      <details key="end" value="17155"/>

+      <details key="line" value="337"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1180" references="/0/getType/type">

+      <details key="start" value="17002"/>

+      <details key="end" value="17013"/>

+      <details key="line" value="337"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1181" references="/0/getType/%">

+      <details key="start" value="17028"/>

+      <details key="end" value="17152"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1182" references="/0/getType/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1183" references="/0/getType/%/%">

+      <details key="start" value="17035"/>

+      <details key="end" value="17097"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1184" references="/0/getType/%/%.1">

+      <details key="start" value="17099"/>

+      <details key="end" value="17135"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1185" references="/0/getType/%/%.2">

+      <details key="start" value="17137"/>

+      <details key="end" value="17151"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1186" references="/0/getType/%/%.2/%/type">

+      <details key="start" value="17146"/>

+      <details key="end" value="17150"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+  </ecore:EAnnotation>

+</xmi:XMI>

diff --git a/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateErrorModel.emtl b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateErrorModel.emtl
new file mode 100644
index 0000000..0a5b41e
--- /dev/null
+++ b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateErrorModel.emtl
@@ -0,0 +1,6762 @@
+<?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="generateErrorModel" nsURI="org::polarsys::chess::contracts::transformations::main::generateErrorModel" startHeaderPosition="699" endHeaderPosition="841">

+    <input>

+      <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>

+    </input>

+    <imports href="generate.emtl#/0"/>

+    <ownedModuleElement xsi:type="mtl:Template" name="generateErrorModel" visibility="Public" main="true">

+      <init>

+        <variable name="SystemQN">

+          <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::System">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="SubSystemQN">

+          <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::SubSystem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="SystemViewQN">

+          <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="CHESS::Core::CHESSViews::SystemView">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="CompViewQN">

+          <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="CHESS::Core::CHESSViews::ComponentView">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="DeplViewQN">

+          <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="CHESS::Core::CHESSViews::DeploymentView">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="CompImplQN">

+          <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="CHESS::ComponentModel::ComponentImplementation">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="BlockQN">

+          <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="SysML::Blocks::Block">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="SRACompQN">

+          <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::SRAComponent">

+            <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="mtl:FileBlock" openMode="OverWrite">

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="mtl:LetBlock">

+                    <body xsi:type="mtl:LetBlock">

+                      <body xsi:type="mtl:TemplateInvocation" definition="/0/generateModule">

+                        <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="system" referredVariable="/0/generateErrorModel/%/%/%/%/%/%/%/%/system">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateErrorModel/%/%/%/%/%/allBlocks"/>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="allComps" eType="/3/Set(Component)" referredVariable="/0/generateErrorModel/%/%/%/%/%/%/allComps"/>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/union.1"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateErrorModel/%/%/%/%/%/%/%/generated"/>

+                        <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="true">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                        </argument>

+                      </body>

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

+                      <letVariable name="system">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        <initExpression xsi:type="mtl:QueryInvocation">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                          <definition href="generate.emtl#/0/getSystem"/>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateErrorModel/%/%/%/%/%/allBlocks"/>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="sysQN" referredVariable="/0/generateErrorModel/sysQN">

+                            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                          </argument>

+                        </initExpression>

+                      </letVariable>

+                    </body>

+                    <letVariable name="generated" eType="/3/Set(String)">

+                      <initExpression xsi:type="mtl:QueryInvocation" eType="/3/Set(String)">

+                        <definition href="generate.emtl#/0/getEmptyStringSet"/>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                        </argument>

+                      </initExpression>

+                    </letVariable>

+                  </body>

+                  <letVariable name="allComps" eType="/3/Set(Component)">

+                    <initExpression xsi:type="mtl:QueryInvocation" eType="/3/Set(Component)">

+                      <definition href="generate.emtl#/0/getAllComponents"/>

+                      <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Component)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="deploymentView" referredVariable="/0/generateErrorModel/%/%/%/%/deploymentView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Component">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                        </argument>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Component)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="componentView" referredVariable="/0/generateErrorModel/%/%/componentView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Component">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+                        </argument>

+                      </argument>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="CompImplQN" referredVariable="/0/generateErrorModel/@init/@variable.5">

+                        <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:VariableExp" name="SRACompQN" referredVariable="/0/generateErrorModel/@init/@variable.7">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      </argument>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <letVariable name="allBlocks" eType="/3/Set(Class)">

+                  <initExpression xsi:type="mtl:QueryInvocation" eType="/3/Set(Class)">

+                    <definition href="generate.emtl#/0/getAllBlocks"/>

+                    <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)">

+                      <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="componentView" referredVariable="/0/generateErrorModel/%/%/componentView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Class">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                      </source>

+                      <argument xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Class)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Element)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="systemView" referredVariable="/0/generateErrorModel/%/%/%/systemView">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Class">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                        </argument>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/union.1"/>

+                    </argument>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="BlockQN" referredVariable="/0/generateErrorModel/@init/@variable.6">

+                      <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:VariableExp" name="SubSystemQN" referredVariable="/0/generateErrorModel/@init/@variable.1">

+                      <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:VariableExp" name="SystemQN" referredVariable="/0/generateErrorModel/@init/@variable.0">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    </argument>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <letVariable name="deploymentView">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                  <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Package)">

+                    <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/generateErrorModel/model">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestedPackage"/>

+                  </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="/3/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/generateErrorModel/%/%/%/%/deploymentView/any/p">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="DeplViewQN" referredVariable="/0/generateErrorModel/@init/@variable.4">

+                            <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/notEmpty"/>

+                  </body>

+                  <iterator xsi:type="ocl.ecore:Variable" name="p">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                  </iterator>

+                </initExpression>

+              </letVariable>

+            </body>

+            <letVariable name="systemView">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+              <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Package)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/generateErrorModel/model">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                  </source>

+                  <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestedPackage"/>

+                </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="/3/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/generateErrorModel/%/%/%/systemView/any/p">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="SystemViewQN" referredVariable="/0/generateErrorModel/@init/@variable.2">

+                          <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/notEmpty"/>

+                </body>

+                <iterator xsi:type="ocl.ecore:Variable" name="p">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                </iterator>

+              </initExpression>

+            </letVariable>

+          </body>

+          <letVariable name="componentView">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+            <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Package)">

+                <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/generateErrorModel/model">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                </source>

+                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/nestedPackage"/>

+              </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="/3/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/generateErrorModel/%/%/componentView/any/p">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="CompViewQN" referredVariable="/0/generateErrorModel/@init/@variable.3">

+                        <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/notEmpty"/>

+              </body>

+              <iterator xsi:type="ocl.ecore:Variable" name="p">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+              </iterator>

+            </initExpression>

+          </letVariable>

+        </body>

+        <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:VariableExp" name="filename" referredVariable="/0/generateErrorModel/filename">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </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="model">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </parameter>

+      <parameter name="sysQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="sysName">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="filename">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Template" name="generateModule" visibility="Public">

+      <init>

+        <variable name="SystemQN">

+          <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::System">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <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>

+        <variable name="FlowPortQN">

+          <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="SysML::PortAndFlows::FlowPort">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="ErrorModelQN">

+          <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="CHESS::Dependability::ThreatsPropagation::ErrorModel">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="ExternalFaultQN">

+          <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="CHESS::Dependability::ThreatsPropagation::InternalPropagation">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="InternalFaultQN">

+          <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="CHESS::Dependability::ThreatsPropagation::InternalFault">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="ClientServerPortQN">

+          <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="MARTE::MARTE_DesignModel::GCM::ClientServerPort">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="MARTEFlowPortQN">

+          <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="MARTE::MARTE_DesignModel::GCM::FlowPort">

+            <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="&#x9;"/>

+      <body xsi:type="mtl:QueryInvocation">

+        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        <definition href="generate.emtl#/0/addToGenerated"/>

+        <argument 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="block" referredVariable="/0/generateModule/block">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+          </source>

+          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+        </argument>

+        <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateModule/generated"/>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

+      <body xsi:type="mtl:IfBlock">

+        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="MODULE main&#xA;"/>

+        <ifExpr xsi:type="ocl.ecore:VariableExp" name="isSystem" referredVariable="/0/generateModule/isSystem">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </ifExpr>

+        <else>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="MODULE "/>

+          <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="block" referredVariable="/0/generateModule/block">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </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/getModuleFormalParameter">

+            <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="block" referredVariable="/0/generateModule/block">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </argument>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")&#xA;"/>

+        </else>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;VAR&#xA;"/>

+      <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/generateModule/%.5/%/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/getTypeNameForProperty">

+              <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="prop" referredVariable="/0/generateModule/%.5/%/prop">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </argument>

+            </body>

+            <body xsi:type="mtl:QueryInvocation" definition="/0/getModuleInstanceActualParameter">

+              <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="block" referredVariable="/0/generateModule/block">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+              </argument>

+              <argument xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%/prop">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </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="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="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#//Type"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%/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"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsInvalid"/>

+                </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" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                  <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/generateModule/%.5/%/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>

+                </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"/>

+            </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="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.5/vars"/>

+        </body>

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:ForBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="mtl:LetBlock">

+                <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/generateModule/%.5/%.1/%/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/getTypeNameForProperty">

+                    <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="prop" referredVariable="/0/generateModule/%.5/%.1/%/prop">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                    </argument>

+                  </body>

+                  <body xsi:type="mtl:QueryInvocation" definition="/0/getModuleInstanceActualParameter">

+                    <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="block" referredVariable="/0/generateModule/block">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </argument>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%.1/%/prop">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                    </argument>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xA;"/>

+                  <ifExpr xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                    <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" referredOperation="/1/oclstdlib_OclAny_Class/toString">

+                      <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="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%.1/%/prop">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:VariableExp" name="flowPortStereo" referredVariable="/0/generateModule/%.5/%.1/%/%/%/flowPortStereo">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                        </argument>

+                        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="direction">

+                          <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/getValue"/>

+                      </source>

+                    </source>

+                    <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="out">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    </argument>

+                  </ifExpr>

+                </body>

+                <letVariable name="flowPortStereo">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                  <initExpression 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="prop" referredVariable="/0/generateModule/%.5/%.1/%/prop">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="MARTEFlowPortQN" referredVariable="/0/generateModule/@init/@variable.7">

+                      <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"/>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <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="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="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#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%.1/%/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"/>

+                      </source>

+                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                    </source>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsInvalid"/>

+                  </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" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                    <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/generateModule/%.5/%.1/%/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>

+                  </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"/>

+              </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="ports" eType="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.5/%.1/ports"/>

+          </body>

+          <letVariable name="ports" eType="/3/OrderedSet(Property)">

+            <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                  <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: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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.1/ports/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/generateModule/@init/@variable.1">

+                              <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"/>

+                    </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.1/ports/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="FlowPortQN" referredVariable="/0/generateModule/@init/@variable.2">

+                              <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"/>

+                    </argument>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                  </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.1/ports/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="ClientServerPortQN" referredVariable="/0/generateModule/@init/@variable.6">

+                            <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"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.1/ports/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="MARTEFlowPortQN" referredVariable="/0/generateModule/@init/@variable.7">

+                          <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/notEmpty"/>

+                </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="p">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </iterator>

+            </initExpression>

+          </letVariable>

+        </body>

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:ForBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:LetBlock">

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;DEFINE "/>

+                  <body 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:VariableExp" name="rule" referredVariable="/0/generateModule/%.5/%.2/%/rule">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                    </source>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/getLabel"/>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" := "/>

+                  <body xsi:type="ocl.ecore:VariableExp" name="spec" referredVariable="/0/generateModule/%.5/%.2/%/%/%/%/spec.1">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                  </body>

+                  <body xsi:type="mtl:IfBlock">

+                    <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" referredOperation="/1/oclstdlib_String_Class/endsWith">

+                        <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="spec" referredVariable="/0/generateModule/%.5/%.2/%/%/%/%/spec.1">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";">

+                          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                        </argument>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                    </ifExpr>

+                  </body>

+                  <letVariable name="spec">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    <initExpression 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="/3/Sequence(String)">

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                            <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateModule/%.5/%.2/%/rule">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                            </source>

+                            <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:TypeExp" eType="/20/OpaqueExpression">

+                            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          </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#//OpaqueExpression/body"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="index" referredVariable="/0/generateModule/%.5/%.2/%/%/%/index">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/at"/>

+                    </initExpression>

+                  </letVariable>

+                </body>

+                <letVariable name="index">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>

+                  <initExpression 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:PropertyCallExp" eType="/3/OrderedSet(String)">

+                      <source xsi:type="ocl.ecore:OperationCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                        <source xsi:type="ocl.ecore:PropertyCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                          <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateModule/%.5/%.2/%/rule">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/OpaqueExpression">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                        </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#//OpaqueExpression/language"/>

+                    </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/OrderedSet(T)_Class/indexOf"/>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <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="ocl.ecore:PropertyCallExp">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                    <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateModule/%.5/%.2/%/rule">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:TypeExp" eType="/20/OpaqueExpression">

+                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsKindOf"/>

+                </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:IteratorExp" name="select" eType="/3/OrderedSet(String)">

+                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(String)">

+                      <source xsi:type="ocl.ecore:OperationCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                        <source xsi:type="ocl.ecore:PropertyCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                          <source xsi:type="ocl.ecore:VariableExp" name="rule" referredVariable="/0/generateModule/%.5/%.2/%/rule">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+                          </source>

+                          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint/specification"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/OpaqueExpression">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                        </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#//OpaqueExpression/language"/>

+                    </source>

+                    <body xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_String_Class/contains">

+                      <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="l" referredVariable="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/l">

+                        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      </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>

+                    </body>

+                    <iterator xsi:type="ocl.ecore:Variable" name="l">

+                      <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    </iterator>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)_Class/notEmpty"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+              </ifExpr>

+            </body>

+            <loopVariable name="rule">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+            </loopVariable>

+            <iterSet xsi:type="ocl.ecore:VariableExp" name="rules" eType="/3/Set(Constraint)" referredVariable="/0/generateModule/%.5/%.2/rules"/>

+          </body>

+          <letVariable name="rules" eType="/3/Set(Constraint)">

+            <initExpression xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Constraint)">

+              <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                <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#//Namespace/ownedRule"/>

+            </initExpression>

+          </letVariable>

+        </body>

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:ForBlock">

+            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;CONSTANTS "/>

+            <body 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:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%.3/%/prop">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+              </source>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property/getDefault"/>

+            </body>

+            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

+            <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="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.5/%.3/vars"/>

+          </body>

+          <letVariable name="vars" eType="/3/OrderedSet(Property)">

+            <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                  <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: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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="p" referredVariable="/0/generateModule/%.5/%.3/vars/select/p">

+                        <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#//StructuralFeature/isReadOnly"/>

+                    </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.3/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="FlowPortQN" referredVariable="/0/generateModule/@init/@variable.2">

+                              <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"/>

+                    </argument>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                  </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.3/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="ClientServerPortQN" referredVariable="/0/generateModule/@init/@variable.6">

+                            <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"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/%.3/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="MARTEFlowPortQN" referredVariable="/0/generateModule/@init/@variable.7">

+                          <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"/>

+                </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="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;IVAR&#x9;&#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/generateModule/%.5/%.5/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="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="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#//Type"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.5/%.5/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"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsInvalid"/>

+                </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" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                <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/generateModule/%.5/%.5/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>

+              </argument>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+            </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="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.5/vars"/>

+        </body>

+        <letVariable name="vars" eType="/3/OrderedSet(Property)">

+          <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                <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: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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/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/generateModule/@init/@variable.1">

+                            <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"/>

+                  </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/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="FlowPortQN" referredVariable="/0/generateModule/@init/@variable.2">

+                            <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"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/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="ClientServerPortQN" referredVariable="/0/generateModule/@init/@variable.6">

+                          <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"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+              </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:CollectionLiteralExp" eType="/3/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/generateModule/%.5/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="MARTEFlowPortQN" referredVariable="/0/generateModule/@init/@variable.7">

+                        <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"/>

+              </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="p">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </iterator>

+          </initExpression>

+        </letVariable>

+      </body>

+      <body xsi:type="mtl:LetBlock">

+        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

+        <body xsi:type="mtl:ForBlock">

+          <body xsi:type="mtl:IfBlock">

+            <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="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="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#//Type"/>

+                      <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.6/%.1/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"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsInvalid"/>

+                </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" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                  <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/generateModule/%.6/%.1/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>

+                </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"/>

+            </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="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.6/vars"/>

+        </body>

+        <body xsi:type="mtl:LetBlock">

+          <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: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:VariableExp" name="tr" referredVariable="/0/generateModule/%.6/%.2/%/%/tr">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/getLabel"/>

+                </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="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="/3/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="tr" referredVariable="/0/generateModule/%.6/%.2/%/%/tr">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="InternalFaultQN" referredVariable="/0/generateModule/@init/@variable.5">

+                            <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/notEmpty"/>

+                  </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:CollectionLiteralExp" eType="/3/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="tr" referredVariable="/0/generateModule/%.6/%.2/%/%/tr">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="ExternalFaultQN" referredVariable="/0/generateModule/@init/@variable.4">

+                            <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/notEmpty"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+                </ifExpr>

+              </body>

+              <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="/3/Sequence(Transition)" referredVariable="/0/generateModule/%.6/%.2/%/transitions"/>

+            </body>

+            <letVariable name="transitions" eType="/3/Sequence(Transition)">

+              <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Transition)">

+                <source xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Bag(Transition)">

+                  <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(Transition)">

+                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Region)">

+                      <source xsi:type="ocl.ecore:OperationCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="errorModel" referredVariable="/0/generateModule/%.6/%.2/errorModel">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/StateMachine">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                        </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine/region"/>

+                    </source>

+                    <body xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Transition)">

+                      <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/generateModule/%.6/%.2/%/transitions/%/select/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/transition"/>

+                    </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>

+                  <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/generateModule/%.6/%.2/%/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="/20/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/generateModule/%.6/%.2/%/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="/20/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="&#x9;&#x9;nominal_event : boolean;&#xA;"/>

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;TRANS&#xA;    &#x9;nominal_event = FALSE;&#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:VariableExp" name="toNominal" eType="/3/Sequence(Transition)" referredVariable="/0/generateModule/%.6/%.2/%.2/toNominal"/>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/isEmpty"/>

+              </ifExpr>

+              <else>

+                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;TRANS&#xA;&#x9;&#x9;nominal_event = TRUE;&#xA;"/>

+              </else>

+            </body>

+            <letVariable name="toNominal" eType="/3/Sequence(Transition)">

+              <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/3/Sequence(Transition)">

+                <source xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/Bag(Transition)">

+                  <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(Transition)">

+                    <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Region)">

+                      <source xsi:type="ocl.ecore:OperationCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="errorModel" referredVariable="/0/generateModule/%.6/%.2/errorModel">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/StateMachine">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                        </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:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine/region"/>

+                    </source>

+                    <body xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Transition)">

+                      <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/generateModule/%.6/%.2/%.2/toNominal/%/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/generateModule/%.6/%.2/%.2/toNominal/%/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="/20/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/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/generateModule/%.6/%.2/%.2/toNominal/%/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>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/getLabel"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="NominalState">

+                        <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/="/>

+                    </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>

+          <letVariable name="errorModel">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+            <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Behavior)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                  <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#//BehavioredClassifier/ownedBehavior"/>

+              </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="/3/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="em" referredVariable="/0/generateModule/%.6/%.2/errorModel/any/em">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="ErrorModelQN" referredVariable="/0/generateModule/@init/@variable.3">

+                        <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/notEmpty"/>

+              </body>

+              <iterator xsi:type="ocl.ecore:Variable" name="em">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+              </iterator>

+            </initExpression>

+          </letVariable>

+        </body>

+        <letVariable name="vars" eType="/3/OrderedSet(Property)">

+          <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                <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: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="/3/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/generateModule/%.6/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/generateModule/@init/@variable.1">

+                        <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"/>

+              </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:CollectionLiteralExp" eType="/3/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/generateModule/%.6/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="FlowPortQN" referredVariable="/0/generateModule/@init/@variable.2">

+                          <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/notEmpty"/>

+                </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:CollectionLiteralExp" eType="/3/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/generateModule/%.6/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="MARTEFlowPortQN" referredVariable="/0/generateModule/@init/@variable.7">

+                          <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/notEmpty"/>

+                </argument>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+              </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="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;"/>

+      <body xsi:type="mtl:LetBlock">

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:ForBlock">

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:IfBlock">

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;ASSIGN&#xA;&#x9;next("/>

+                  <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/generateModule/%.8/%/%/%/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=") :=&#xA;&#x9;&#x9;case&#xA;&#x9;&#x9;&#x9;"/>

+                  <body xsi:type="mtl:QueryInvocation" definition="/0/getEffectOnProperty">

+                    <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="nominalModel" referredVariable="/0/generateModule/%.8/nominalModel">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                    </argument>

+                    <argument 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/generateModule/%.8/%/%/%/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"/>

+                    </argument>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#x9;&#x9;esac;&#x9;&#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/getEffectOnProperty">

+                      <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="nominalModel" referredVariable="/0/generateModule/%.8/nominalModel">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                      </argument>

+                      <argument 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/generateModule/%.8/%/%/%/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"/>

+                      </argument>

+                    </source>

+                    <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="">

+                      <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/%3C%3E"/>

+                  </ifExpr>

+                </body>

+                <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" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                    <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/generateModule/%.8/%/%/%/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>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/>

+                </ifExpr>

+              </body>

+              <body xsi:type="mtl:IfBlock">

+                <body xsi:type="mtl:IfBlock">

+                  <body xsi:type="mtl:IfBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;ASSIGN&#xA;&#x9;&#x9;init("/>

+                    <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/generateModule/%.8/%/%/%/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="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="/3/Sequence(String)">

+                        <source xsi:type="ocl.ecore:OperationCallExp">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          <source xsi:type="ocl.ecore:PropertyCallExp">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                            <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.8/%/%/%/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#//Property/defaultValue"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:TypeExp" eType="/20/OpaqueExpression">

+                            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                          </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#//OpaqueExpression/body"/>

+                      </source>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>

+                    </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:PropertyCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ValueSpecification"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.8/%/%/%/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#//Property/defaultValue"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:TypeExp" eType="/20/OpaqueExpression">

+                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>

+                    </ifExpr>

+                  </body>

+                  <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="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#//ValueSpecification"/>

+                          <source xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/generateModule/%.8/%/%/%/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#//Property/defaultValue"/>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsUndefined"/>

+                      </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:PropertyCallExp">

+                        <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="prop" referredVariable="/0/generateModule/%.8/%/%/%/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#//StructuralFeature/isReadOnly"/>

+                      </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"/>

+                  </ifExpr>

+                </body>

+                <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/generateModule/%.8/%/%/%/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/%3C%3E"/>

+                </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="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.8/%/%/vars"/>

+            </body>

+            <letVariable name="vars" eType="/3/OrderedSet(Property)">

+              <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/3/OrderedSet(Property)">

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                    <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: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:CollectionLiteralExp" eType="/3/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/generateModule/%.8/%/%/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/generateModule/@init/@variable.1">

+                              <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"/>

+                    </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:CollectionLiteralExp" eType="/3/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/generateModule/%.8/%/%/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="FlowPortQN" referredVariable="/0/generateModule/@init/@variable.2">

+                              <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"/>

+                    </argument>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/and"/>

+                  </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:CollectionLiteralExp" eType="/3/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/generateModule/%.8/%/%/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="ClientServerPortQN" referredVariable="/0/generateModule/@init/@variable.6">

+                            <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"/>

+                  </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="p">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                </iterator>

+              </initExpression>

+            </letVariable>

+          </body>

+          <letVariable name="trSet" eType="/3/Set(Transition)">

+            <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(Transition)">

+              <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/3/Bag(Transition)">

+                <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Region)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="nominalModel" referredVariable="/0/generateModule/%.8/nominalModel">

+                    <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="/3/Set(Transition)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/generateModule/%.8/%/trSet/%/collect/temp3">

+                    <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="temp3">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Region"/>

+                </iterator>

+              </source>

+              <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Bag(T)_Class/asSet"/>

+            </initExpression>

+          </letVariable>

+        </body>

+        <letVariable name="nominalModel">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+          <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+            <source xsi:type="ocl.ecore:OperationCallExp" eType="/3/Set(StateMachine)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/Set(Behavior)">

+                <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                  <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#//BehavioredClassifier/ownedBehavior"/>

+              </source>

+              <argument xsi:type="ocl.ecore:TypeExp" eType="/20/StateMachine">

+                <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+              </argument>

+            </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="/3/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="sm" referredVariable="/0/generateModule/%.8/nominalModel/any/sm">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                    </source>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="ErrorModelQN" referredVariable="/0/generateModule/@init/@variable.3">

+                      <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="sm">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+            </iterator>

+          </initExpression>

+        </letVariable>

+      </body>

+      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="-- END MODULE "/>

+      <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="block" referredVariable="/0/generateModule/block">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </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;"/>

+      <body xsi:type="mtl:LetBlock">

+        <body xsi:type="mtl:ForBlock">

+          <body xsi:type="mtl:IfBlock">

+            <body xsi:type="mtl:IfBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:TemplateInvocation" definition="/0/generateModule">

+                  <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="newblock" referredVariable="/0/generateModule/%.12/%/%/%/%/newblock">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  </argument>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateModule/allBlocks"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateModule/generated"/>

+                  <argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  </argument>

+                </body>

+                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>

+                <letVariable name="newblock">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    <source xsi:type="ocl.ecore:VariableExp" name="allBlocks" eType="/3/Set(Class)" referredVariable="/0/generateModule/allBlocks"/>

+                    <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:PropertyCallExp">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateModule/%.12/%/part">

+                          <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"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateModule/%.12/%/%/%/%/newblock/any/c">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/>

+                    </body>

+                    <iterator xsi:type="ocl.ecore:Variable" name="c">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </iterator>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <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">

+                  <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                  <definition href="generate.emtl#/0/isPart"/>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateModule/%.12/%/part">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </argument>

+                </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="mtl:QueryInvocation">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+                    <definition href="generate.emtl#/0/isAlreadyGenerated"/>

+                    <argument 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#//Type"/>

+                        <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateModule/%.12/%/part">

+                          <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"/>

+                      </source>

+                      <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                    </argument>

+                    <argument xsi:type="ocl.ecore:VariableExp" name="generated" eType="/3/Set(String)" referredVariable="/0/generateModule/generated"/>

+                  </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"/>

+              </ifExpr>

+            </body>

+            <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="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#//Type"/>

+                    <source xsi:type="ocl.ecore:VariableExp" name="part" referredVariable="/0/generateModule/%.12/%/part">

+                      <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"/>

+                  </source>

+                  <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>

+                </source>

+                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/oclIsInvalid"/>

+              </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="part">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+          </loopVariable>

+          <iterSet xsi:type="ocl.ecore:VariableExp" name="parts" eType="/3/OrderedSet(Property)" referredVariable="/0/generateModule/%.12/parts"/>

+        </body>

+        <letVariable name="parts" eType="/3/OrderedSet(Property)">

+          <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/3/OrderedSet(Property)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/3/OrderedSet(Property)">

+              <source xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/generateModule/block">

+                <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#//StructuredClassifier/ownedAttribute"/>

+            </source>

+            <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Property">

+              <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </argument>

+          </initExpression>

+        </letVariable>

+      </body>

+      <parameter name="block">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </parameter>

+      <parameter name="allBlocks" eType="/3/Set(Class)"/>

+      <parameter name="generated" eType="/3/Set(String)"/>

+      <parameter name="isSystem">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+      </parameter>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getTransitionTarget" visibility="Public">

+      <parameter name="name">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="str">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </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="/129">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </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="getTransitionTarget(java.lang.String, java.lang.String)">

+          <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="/3/Sequence(String)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/getTransitionTarget/name">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="str" referredVariable="/0/getTransitionTarget/str">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </item>

+          </part>

+        </argument>

+      </expression>

+      <type xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+    </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="/132">

+          <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="getType4FTA(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="/3/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="/135">

+          <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="/3/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>

+    <ownedModuleElement xsi:type="mtl:Query" name="getPropertyAffectedByTransition" visibility="Public">

+      <parameter name="t">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+      </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="/138">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+        </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="getPropertyAffectedByTransition(org.eclipse.uml2.uml.Transition)">

+          <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="/3/Sequence(Transition)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="t" referredVariable="/0/getPropertyAffectedByTransition/t">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+            </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="getEffectOnProperty" visibility="Public">

+      <parameter name="sm">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+      </parameter>

+      <parameter name="propertyName">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </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="/141">

+          <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="getEffectOnProperty(org.eclipse.uml2.uml.StateMachine, java.lang.String)">

+          <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="/3/Sequence(OclAny)" 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/getEffectOnProperty/sm">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="propertyName" referredVariable="/0/getEffectOnProperty/propertyName">

+              <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+            </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="getModuleFormalParameter" visibility="Public">

+      <parameter name="block">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </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="/144">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </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="getModuleFormalParameter(org.eclipse.uml2.uml.Class)">

+          <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="/3/Sequence(Class)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/getModuleFormalParameter/block">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </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="getModuleInstanceActualParameter" visibility="Public">

+      <parameter name="block">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </parameter>

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/147">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </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="getModuleInstanceActualParameter(org.eclipse.uml2.uml.Class, org.eclipse.uml2.uml.Property)">

+          <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="/3/Sequence(ParameterableElement)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="block" referredVariable="/0/getModuleInstanceActualParameter/block">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </item>

+          </part>

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/getModuleInstanceActualParameter/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </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="getTypeNameForProperty" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/150">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="getTypeNameForProperty(org.eclipse.uml2.uml.Property)">

+          <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="/3/Sequence(Property)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/getTypeNameForProperty/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </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>

+      <eOperations name="endsWith">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="substring">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="contains">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="substring">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="equalsIgnoreCase">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="other">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+    </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="generateErrorModel">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/generateErrorModel"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="model">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+        </eParameters>

+        <eParameters name="sysQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="sysName">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="filename">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="generateModule">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/generateModule"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="block">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+        <eParameters name="allBlocks" eType="/3/Set(Class)"/>

+        <eParameters name="generated" eType="/3/Set(String)"/>

+        <eParameters name="isSystem">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getTransitionTarget">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getTransitionTarget"/>

+        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        <eParameters name="name">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="str">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </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>

+      <eOperations name="getPropertyAffectedByTransition">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getPropertyAffectedByTransition"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="t">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getEffectOnProperty">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getEffectOnProperty"/>

+        <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="propertyName">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getModuleFormalParameter">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getModuleFormalParameter"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="block">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getModuleInstanceActualParameter">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getModuleInstanceActualParameter"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="block">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </eParameters>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getTypeNameForProperty">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getTypeNameForProperty"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getSystem">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/getSystem"/>

+        </eAnnotations>

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        <eParameters name="classes">

+          <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(Class)"/>

+        </eParameters>

+        <eParameters name="qname">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getAllBlocks">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/getAllBlocks"/>

+        </eAnnotations>

+        <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(Class)"/>

+        <eParameters name="classes">

+          <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(Class)"/>

+        </eParameters>

+        <eParameters name="blockQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="SubSystemQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="SystemQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getAllComponents">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/getAllComponents"/>

+        </eAnnotations>

+        <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(Component)"/>

+        <eParameters name="hwcomps">

+          <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(Component)"/>

+        </eParameters>

+        <eParameters name="comps">

+          <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(Component)"/>

+        </eParameters>

+        <eParameters name="CompImplQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="PlatformQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isPart">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/isPart"/>

+        </eAnnotations>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getEmptyStringSet">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/getEmptyStringSet"/>

+        </eAnnotations>

+        <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(String)"/>

+        <eParameters name="traceCtx">

+          <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="addToGenerated">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/addToGenerated"/>

+        </eAnnotations>

+        <eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>

+        <eParameters name="name">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="generated">

+          <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(String)"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="isAlreadyGenerated">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL">

+          <references href="generate.emtl#/0/isAlreadyGenerated"/>

+        </eAnnotations>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="name">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="generated">

+          <eType xsi:type="ocl.ecore:SetType" href="generate.emtl#/3/Set(String)"/>

+        </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="toString">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </eOperations>

+      <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_Model_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Class_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+      </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>

+    <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_Transition_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Property_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Port_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Operation_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="collections_Set(Class)_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="generate.emtl#/3/Set(Class)"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="collections_Set(Component)_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="generate.emtl#/3/Set(Component)"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Connector_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>

+      </eAnnotations>

+    </eClassifiers>

+    <eClassifiers xsi:type="ecore:EClass" name="collections_Set(Property)_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="generate.emtl#/3/Set(Property)"/>

+      </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>

+  <ecore:EPackage name="collections">

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Class)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(String)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Package)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>

+    </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(Element)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Class)" instanceClassName="org.eclipse.ocl.util.Bag">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Component)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+    </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(Constraint)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(String)" instanceClassName="java.util.LinkedHashSet">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(String)" instanceClassName="java.util.List">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Behavior)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+    </eClassifiers>

+    <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(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:SetType" name="Set(StateMachine)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </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(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(StateMachine)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Class)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(ParameterableElement)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//ParameterableElement"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Property)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+  </ecore:EPackage>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </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#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ecore:EPackage name="types">

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Class">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Component">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="OpaqueExpression">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//OpaqueExpression"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="StateMachine">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </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>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Property">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+  </ecore:EPackage>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Property"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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#//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#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Property"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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="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="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/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>

+  <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/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>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//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/emf/2002/Ecore#//EObject"/>

+  </ocl.ecore:Variable>

+  <ecore:EAnnotation source="positions">

+    <eAnnotations source="positions.0" references="/0/generateErrorModel">

+      <details key="start" value="845"/>

+      <details key="end" value="2457"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1" references="/0/generateErrorModel/@init">

+      <details key="start" value="949"/>

+      <details key="end" value="1416"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.2" references="/0/generateErrorModel/@init/@variable.0">

+      <details key="start" value="952"/>

+      <details key="end" value="995"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.3" references="/0/generateErrorModel/@init/@variable.0/%">

+      <details key="start" value="972"/>

+      <details key="end" value="995"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.4" references="/0/generateErrorModel/@init/@variable.1">

+      <details key="start" value="998"/>

+      <details key="end" value="1047"/>

+      <details key="line" value="24"/>

+    </eAnnotations>

+    <eAnnotations source="positions.5" references="/0/generateErrorModel/@init/@variable.1/%">

+      <details key="start" value="1021"/>

+      <details key="end" value="1047"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.6" references="/0/generateErrorModel/@init/@variable.2">

+      <details key="start" value="1051"/>

+      <details key="end" value="1112"/>

+      <details key="line" value="25"/>

+    </eAnnotations>

+    <eAnnotations source="positions.7" references="/0/generateErrorModel/@init/@variable.2/%">

+      <details key="start" value="1075"/>

+      <details key="end" value="1112"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.8" references="/0/generateErrorModel/@init/@variable.3">

+      <details key="start" value="1115"/>

+      <details key="end" value="1177"/>

+      <details key="line" value="26"/>

+    </eAnnotations>

+    <eAnnotations source="positions.9" references="/0/generateErrorModel/@init/@variable.3/%">

+      <details key="start" value="1137"/>

+      <details key="end" value="1177"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.10" references="/0/generateErrorModel/@init/@variable.4">

+      <details key="start" value="1180"/>

+      <details key="end" value="1243"/>

+      <details key="line" value="27"/>

+    </eAnnotations>

+    <eAnnotations source="positions.11" references="/0/generateErrorModel/@init/@variable.4/%">

+      <details key="start" value="1202"/>

+      <details key="end" value="1243"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.12" references="/0/generateErrorModel/@init/@variable.5">

+      <details key="start" value="1246"/>

+      <details key="end" value="1316"/>

+      <details key="line" value="28"/>

+    </eAnnotations>

+    <eAnnotations source="positions.13" references="/0/generateErrorModel/@init/@variable.5/%">

+      <details key="start" value="1268"/>

+      <details key="end" value="1316"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.14" references="/0/generateErrorModel/@init/@variable.6">

+      <details key="start" value="1319"/>

+      <details key="end" value="1360"/>

+      <details key="line" value="29"/>

+    </eAnnotations>

+    <eAnnotations source="positions.15" references="/0/generateErrorModel/@init/@variable.6/%">

+      <details key="start" value="1338"/>

+      <details key="end" value="1360"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.16" references="/0/generateErrorModel/@init/@variable.7">

+      <details key="start" value="1363"/>

+      <details key="end" value="1413"/>

+      <details key="line" value="30"/>

+    </eAnnotations>

+    <eAnnotations source="positions.17" references="/0/generateErrorModel/@init/@variable.7/%">

+      <details key="start" value="1384"/>

+      <details key="end" value="1413"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.18" references="/0/generateErrorModel/%">

+      <details key="start" value="1435"/>

+      <details key="end" value="2445"/>

+      <details key="line" value="33"/>

+    </eAnnotations>

+    <eAnnotations source="positions.19" references="/0/generateErrorModel/%/%">

+      <details key="start" value="1485"/>

+      <details key="end" value="2437"/>

+      <details key="line" value="34"/>

+    </eAnnotations>

+    <eAnnotations source="positions.20" references="/0/generateErrorModel/%/%/%">

+      <details key="start" value="1605"/>

+      <details key="end" value="2429"/>

+      <details key="line" value="35"/>

+    </eAnnotations>

+    <eAnnotations source="positions.21" references="/0/generateErrorModel/%/%/%/%">

+      <details key="start" value="1724"/>

+      <details key="end" value="2421"/>

+      <details key="line" value="36"/>

+    </eAnnotations>

+    <eAnnotations source="positions.22" references="/0/generateErrorModel/%/%/%/%/%">

+      <details key="start" value="1846"/>

+      <details key="end" value="2413"/>

+      <details key="line" value="37"/>

+    </eAnnotations>

+    <eAnnotations source="positions.23" references="/0/generateErrorModel/%/%/%/%/%/%">

+      <details key="start" value="2025"/>

+      <details key="end" value="2405"/>

+      <details key="line" value="38"/>

+    </eAnnotations>

+    <eAnnotations source="positions.24" references="/0/generateErrorModel/%/%/%/%/%/%/%">

+      <details key="start" value="2207"/>

+      <details key="end" value="2397"/>

+      <details key="line" value="39"/>

+    </eAnnotations>

+    <eAnnotations source="positions.25" references="/0/generateErrorModel/%/%/%/%/%/%/%/%">

+      <details key="start" value="2260"/>

+      <details key="end" value="2389"/>

+      <details key="line" value="40"/>

+    </eAnnotations>

+    <eAnnotations source="positions.26" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%">

+      <details key="start" value="2312"/>

+      <details key="end" value="2379"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.27" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%/system">

+      <details key="start" value="2327"/>

+      <details key="end" value="2333"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.28" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%/%">

+      <details key="start" value="2335"/>

+      <details key="end" value="2361"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.29" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%/%/allBlocks">

+      <details key="start" value="2335"/>

+      <details key="end" value="2344"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.30" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%/%/allComps">

+      <details key="start" value="2352"/>

+      <details key="end" value="2360"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.31" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%/generated">

+      <details key="start" value="2363"/>

+      <details key="end" value="2372"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.32" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%/%.1">

+      <details key="start" value="2374"/>

+      <details key="end" value="2378"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.33" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/%.1">

+      <details key="start" value="2381"/>

+      <details key="end" value="2382"/>

+      <details key="line" value="42"/>

+    </eAnnotations>

+    <eAnnotations source="positions.34" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/system">

+      <details key="start" value="2265"/>

+      <details key="end" value="2309"/>

+      <details key="line" value="40"/>

+    </eAnnotations>

+    <eAnnotations source="positions.35" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/system/%">

+      <details key="start" value="2283"/>

+      <details key="end" value="2310"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.36" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/system/%/allBlocks">

+      <details key="start" value="2293"/>

+      <details key="end" value="2302"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.37" references="/0/generateErrorModel/%/%/%/%/%/%/%/%/system/%/sysQN">

+      <details key="start" value="2304"/>

+      <details key="end" value="2309"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.38" references="/0/generateErrorModel/%/%/%/%/%/%/%/generated">

+      <details key="start" value="2212"/>

+      <details key="end" value="2257"/>

+      <details key="line" value="39"/>

+    </eAnnotations>

+    <eAnnotations source="positions.39" references="/0/generateErrorModel/%/%/%/%/%/%/%/generated/%">

+      <details key="start" value="2239"/>

+      <details key="end" value="2258"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.40" references="/0/generateErrorModel/%/%/%/%/%/%/%/generated/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.41" references="/0/generateErrorModel/%/%/%/%/%/%/allComps">

+      <details key="start" value="2030"/>

+      <details key="end" value="2204"/>

+      <details key="line" value="38"/>

+    </eAnnotations>

+    <eAnnotations source="positions.42" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%">

+      <details key="start" value="2059"/>

+      <details key="end" value="2205"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.43" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%">

+      <details key="start" value="2076"/>

+      <details key="end" value="2128"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.44" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%/%">

+      <details key="start" value="2076"/>

+      <details key="end" value="2109"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.45" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%/%/deploymentView">

+      <details key="start" value="2076"/>

+      <details key="end" value="2090"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.46" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%/%.1">

+      <details key="start" value="2118"/>

+      <details key="end" value="2127"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.47" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%.1">

+      <details key="start" value="2130"/>

+      <details key="end" value="2181"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.48" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%.1/%">

+      <details key="start" value="2130"/>

+      <details key="end" value="2162"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.49" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%.1/%/componentView">

+      <details key="start" value="2130"/>

+      <details key="end" value="2143"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.50" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/%.1/%.1">

+      <details key="start" value="2171"/>

+      <details key="end" value="2180"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.51" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/CompImplQN">

+      <details key="start" value="2183"/>

+      <details key="end" value="2193"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.52" references="/0/generateErrorModel/%/%/%/%/%/%/allComps/%/SRACompQN">

+      <details key="start" value="2195"/>

+      <details key="end" value="2204"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.53" references="/0/generateErrorModel/%/%/%/%/%/allBlocks">

+      <details key="start" value="1851"/>

+      <details key="end" value="2022"/>

+      <details key="line" value="37"/>

+    </eAnnotations>

+    <eAnnotations source="positions.54" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%">

+      <details key="start" value="1877"/>

+      <details key="end" value="2023"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.55" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%">

+      <details key="start" value="1890"/>

+      <details key="end" value="1990"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.56" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%">

+      <details key="start" value="1890"/>

+      <details key="end" value="1937"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.57" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%/%">

+      <details key="start" value="1890"/>

+      <details key="end" value="1922"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.58" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%/%/componentView">

+      <details key="start" value="1890"/>

+      <details key="end" value="1903"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.59" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%/%.1">

+      <details key="start" value="1931"/>

+      <details key="end" value="1936"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.60" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%.1">

+      <details key="start" value="1945"/>

+      <details key="end" value="1989"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.61" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%.1/%">

+      <details key="start" value="1945"/>

+      <details key="end" value="1974"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.62" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%.1/%/systemView">

+      <details key="start" value="1945"/>

+      <details key="end" value="1955"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.63" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/%/%.1/%.1">

+      <details key="start" value="1983"/>

+      <details key="end" value="1988"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.64" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/BlockQN">

+      <details key="start" value="1992"/>

+      <details key="end" value="1999"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.65" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/SubSystemQN">

+      <details key="start" value="2001"/>

+      <details key="end" value="2012"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.66" references="/0/generateErrorModel/%/%/%/%/%/allBlocks/%/SystemQN">

+      <details key="start" value="2014"/>

+      <details key="end" value="2022"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.67" references="/0/generateErrorModel/%/%/%/%/deploymentView">

+      <details key="start" value="1729"/>

+      <details key="end" value="1843"/>

+      <details key="line" value="36"/>

+    </eAnnotations>

+    <eAnnotations source="positions.68" references="/0/generateErrorModel/%/%/%/%/deploymentView/any">

+      <details key="start" value="1759"/>

+      <details key="end" value="1845"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.69" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%">

+      <details key="start" value="1759"/>

+      <details key="end" value="1778"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.70" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%/model">

+      <details key="start" value="1759"/>

+      <details key="end" value="1764"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.71" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%.1">

+      <details key="start" value="1798"/>

+      <details key="end" value="1844"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.72" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.73" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%.1/%/%/%">

+      <details key="start" value="1798"/>

+      <details key="end" value="1832"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.74" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%.1/%/%/%/p">

+      <details key="start" value="1798"/>

+      <details key="end" value="1799"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.75" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/%.1/%/%/%/DeplViewQN">

+      <details key="start" value="1821"/>

+      <details key="end" value="1831"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.76" references="/0/generateErrorModel/%/%/%/%/deploymentView/any/p">

+      <details key="start" value="1784"/>

+      <details key="end" value="1795"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.77" references="/0/generateErrorModel/%/%/%/systemView">

+      <details key="start" value="1610"/>

+      <details key="end" value="1721"/>

+      <details key="line" value="35"/>

+    </eAnnotations>

+    <eAnnotations source="positions.78" references="/0/generateErrorModel/%/%/%/systemView/any">

+      <details key="start" value="1634"/>

+      <details key="end" value="1722"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.79" references="/0/generateErrorModel/%/%/%/systemView/any/%">

+      <details key="start" value="1634"/>

+      <details key="end" value="1653"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.80" references="/0/generateErrorModel/%/%/%/systemView/any/%/model">

+      <details key="start" value="1634"/>

+      <details key="end" value="1639"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.81" references="/0/generateErrorModel/%/%/%/systemView/any/%.1">

+      <details key="start" value="1673"/>

+      <details key="end" value="1721"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.82" references="/0/generateErrorModel/%/%/%/systemView/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.83" references="/0/generateErrorModel/%/%/%/systemView/any/%.1/%/%/%">

+      <details key="start" value="1673"/>

+      <details key="end" value="1709"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.84" references="/0/generateErrorModel/%/%/%/systemView/any/%.1/%/%/%/p">

+      <details key="start" value="1673"/>

+      <details key="end" value="1674"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.85" references="/0/generateErrorModel/%/%/%/systemView/any/%.1/%/%/%/SystemViewQN">

+      <details key="start" value="1696"/>

+      <details key="end" value="1708"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.86" references="/0/generateErrorModel/%/%/%/systemView/any/p">

+      <details key="start" value="1659"/>

+      <details key="end" value="1670"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.87" references="/0/generateErrorModel/%/%/componentView">

+      <details key="start" value="1490"/>

+      <details key="end" value="1602"/>

+      <details key="line" value="34"/>

+    </eAnnotations>

+    <eAnnotations source="positions.88" references="/0/generateErrorModel/%/%/componentView/any">

+      <details key="start" value="1517"/>

+      <details key="end" value="1603"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.89" references="/0/generateErrorModel/%/%/componentView/any/%">

+      <details key="start" value="1517"/>

+      <details key="end" value="1536"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.90" references="/0/generateErrorModel/%/%/componentView/any/%/model">

+      <details key="start" value="1517"/>

+      <details key="end" value="1522"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.91" references="/0/generateErrorModel/%/%/componentView/any/%.1">

+      <details key="start" value="1556"/>

+      <details key="end" value="1602"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.92" references="/0/generateErrorModel/%/%/componentView/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.93" references="/0/generateErrorModel/%/%/componentView/any/%.1/%/%/%">

+      <details key="start" value="1556"/>

+      <details key="end" value="1590"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.94" references="/0/generateErrorModel/%/%/componentView/any/%.1/%/%/%/p">

+      <details key="start" value="1556"/>

+      <details key="end" value="1557"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.95" references="/0/generateErrorModel/%/%/componentView/any/%.1/%/%/%/CompViewQN">

+      <details key="start" value="1579"/>

+      <details key="end" value="1589"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.96" references="/0/generateErrorModel/%/%/componentView/any/p">

+      <details key="start" value="1542"/>

+      <details key="end" value="1553"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.97" references="/0/generateErrorModel/%/%.1">

+      <details key="start" value="1442"/>

+      <details key="end" value="1465"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.98" references="/0/generateErrorModel/%/%.1/filename">

+      <details key="start" value="1442"/>

+      <details key="end" value="1450"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.99" references="/0/generateErrorModel/%/%.1/%">

+      <details key="start" value="1458"/>

+      <details key="end" value="1464"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.100" references="/0/generateErrorModel/%/%.2">

+      <details key="start" value="1474"/>

+      <details key="end" value="1481"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.101" references="/0/generateErrorModel/model">

+      <details key="start" value="881"/>

+      <details key="end" value="894"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.102" references="/0/generateErrorModel/sysQN">

+      <details key="start" value="896"/>

+      <details key="end" value="910"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.103" references="/0/generateErrorModel/sysName">

+      <details key="start" value="913"/>

+      <details key="end" value="929"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.104" references="/0/generateErrorModel/filename">

+      <details key="start" value="931"/>

+      <details key="end" value="948"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.105" references="/0/generateModule">

+      <details key="start" value="2458"/>

+      <details key="end" value="9218"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.106" references="/0/generateModule/@init">

+      <details key="start" value="2572"/>

+      <details key="end" value="3153"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.107" references="/0/generateModule/@init/@variable.0">

+      <details key="start" value="2575"/>

+      <details key="end" value="2618"/>

+      <details key="line" value="52"/>

+    </eAnnotations>

+    <eAnnotations source="positions.108" references="/0/generateModule/@init/@variable.0/%">

+      <details key="start" value="2595"/>

+      <details key="end" value="2618"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.109" references="/0/generateModule/@init/@variable.1">

+      <details key="start" value="2621"/>

+      <details key="end" value="2680"/>

+      <details key="line" value="53"/>

+    </eAnnotations>

+    <eAnnotations source="positions.110" references="/0/generateModule/@init/@variable.1/%">

+      <details key="start" value="2647"/>

+      <details key="end" value="2680"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.111" references="/0/generateModule/@init/@variable.2">

+      <details key="start" value="2683"/>

+      <details key="end" value="2736"/>

+      <details key="line" value="54"/>

+    </eAnnotations>

+    <eAnnotations source="positions.112" references="/0/generateModule/@init/@variable.2/%">

+      <details key="start" value="2705"/>

+      <details key="end" value="2736"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.113" references="/0/generateModule/@init/@variable.3">

+      <details key="start" value="2739"/>

+      <details key="end" value="2817"/>

+      <details key="line" value="55"/>

+    </eAnnotations>

+    <eAnnotations source="positions.114" references="/0/generateModule/@init/@variable.3/%">

+      <details key="start" value="2763"/>

+      <details key="end" value="2817"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.115" references="/0/generateModule/@init/@variable.4">

+      <details key="start" value="2820"/>

+      <details key="end" value="2910"/>

+      <details key="line" value="56"/>

+    </eAnnotations>

+    <eAnnotations source="positions.116" references="/0/generateModule/@init/@variable.4/%">

+      <details key="start" value="2847"/>

+      <details key="end" value="2910"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.117" references="/0/generateModule/@init/@variable.5">

+      <details key="start" value="2913"/>

+      <details key="end" value="2997"/>

+      <details key="line" value="57"/>

+    </eAnnotations>

+    <eAnnotations source="positions.118" references="/0/generateModule/@init/@variable.5/%">

+      <details key="start" value="2940"/>

+      <details key="end" value="2997"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.119" references="/0/generateModule/@init/@variable.6">

+      <details key="start" value="3000"/>

+      <details key="end" value="3079"/>

+      <details key="line" value="58"/>

+    </eAnnotations>

+    <eAnnotations source="positions.120" references="/0/generateModule/@init/@variable.6/%">

+      <details key="start" value="3030"/>

+      <details key="end" value="3079"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.121" references="/0/generateModule/@init/@variable.7">

+      <details key="start" value="3082"/>

+      <details key="end" value="3150"/>

+      <details key="line" value="59"/>

+    </eAnnotations>

+    <eAnnotations source="positions.122" references="/0/generateModule/@init/@variable.7/%">

+      <details key="start" value="3109"/>

+      <details key="end" value="3150"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.123" references="/0/generateModule/%">

+      <details key="start" value="3155"/>

+      <details key="end" value="3156"/>

+      <details key="line" value="61"/>

+    </eAnnotations>

+    <eAnnotations source="positions.124" references="/0/generateModule/%.1">

+      <details key="start" value="3157"/>

+      <details key="end" value="3194"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.125" references="/0/generateModule/%.1/%">

+      <details key="start" value="3172"/>

+      <details key="end" value="3182"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.126" references="/0/generateModule/%.1/%/block">

+      <details key="start" value="3172"/>

+      <details key="end" value="3177"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.127" references="/0/generateModule/%.1/generated">

+      <details key="start" value="3184"/>

+      <details key="end" value="3193"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.128" references="/0/generateModule/%.2">

+      <details key="start" value="3196"/>

+      <details key="end" value="3197"/>

+      <details key="line" value="62"/>

+    </eAnnotations>

+    <eAnnotations source="positions.129" references="/0/generateModule/%.3">

+      <details key="start" value="3197"/>

+      <details key="end" value="3294"/>

+      <details key="line" value="62"/>

+    </eAnnotations>

+    <eAnnotations source="positions.130" references="/0/generateModule/%.3/%">

+      <details key="start" value="3213"/>

+      <details key="end" value="3225"/>

+      <details key="line" value="63"/>

+    </eAnnotations>

+    <eAnnotations source="positions.131" references="/0/generateModule/%.3/isSystem">

+      <details key="start" value="3201"/>

+      <details key="end" value="3211"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.132" references="/0/generateModule/%.3/%.1">

+      <details key="start" value="3225"/>

+      <details key="end" value="3289"/>

+      <details key="line" value="64"/>

+    </eAnnotations>

+    <eAnnotations source="positions.133" references="/0/generateModule/%.3/%.1/%">

+      <details key="start" value="3232"/>

+      <details key="end" value="3239"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.134" references="/0/generateModule/%.3/%.1/%.1">

+      <details key="start" value="3240"/>

+      <details key="end" value="3250"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.135" references="/0/generateModule/%.3/%.1/%.1/block">

+      <details key="start" value="3240"/>

+      <details key="end" value="3245"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.136" references="/0/generateModule/%.3/%.1/%.2">

+      <details key="start" value="3252"/>

+      <details key="end" value="3253"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.137" references="/0/generateModule/%.3/%.1/%.3">

+      <details key="start" value="3254"/>

+      <details key="end" value="3285"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.138" references="/0/generateModule/%.3/%.1/%.3/block">

+      <details key="start" value="3279"/>

+      <details key="end" value="3284"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.139" references="/0/generateModule/%.3/%.1/%.4">

+      <details key="start" value="3287"/>

+      <details key="end" value="3289"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.140" references="/0/generateModule/%.4">

+      <details key="start" value="3295"/>

+      <details key="end" value="3300"/>

+      <details key="line" value="67"/>

+    </eAnnotations>

+    <eAnnotations source="positions.141" references="/0/generateModule/%.5">

+      <details key="start" value="3301"/>

+      <details key="end" value="5815"/>

+      <details key="line" value="68"/>

+    </eAnnotations>

+    <eAnnotations source="positions.142" references="/0/generateModule/%.5/%">

+      <details key="start" value="3597"/>

+      <details key="end" value="3959"/>

+      <details key="line" value="71"/>

+    </eAnnotations>

+    <eAnnotations source="positions.143" references="/0/generateModule/%.5/%/%">

+      <details key="start" value="3629"/>

+      <details key="end" value="3951"/>

+      <details key="line" value="72"/>

+    </eAnnotations>

+    <eAnnotations source="positions.144" references="/0/generateModule/%.5/%/%/%">

+      <details key="start" value="3847"/>

+      <details key="end" value="3849"/>

+      <details key="line" value="74"/>

+    </eAnnotations>

+    <eAnnotations source="positions.145" references="/0/generateModule/%.5/%/%/%.1">

+      <details key="start" value="3850"/>

+      <details key="end" value="3859"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.146" references="/0/generateModule/%.5/%/%/%.1/prop">

+      <details key="start" value="3850"/>

+      <details key="end" value="3854"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.147" references="/0/generateModule/%.5/%/%/%.2">

+      <details key="start" value="3861"/>

+      <details key="end" value="3864"/>

+      <details key="line" value="74"/>

+    </eAnnotations>

+    <eAnnotations source="positions.148" references="/0/generateModule/%.5/%/%/%.3">

+      <details key="start" value="3865"/>

+      <details key="end" value="3893"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.149" references="/0/generateModule/%.5/%/%/%.3/prop">

+      <details key="start" value="3888"/>

+      <details key="end" value="3892"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.150" references="/0/generateModule/%.5/%/%/%.4">

+      <details key="start" value="3896"/>

+      <details key="end" value="3941"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.151" references="/0/generateModule/%.5/%/%/%.4/block">

+      <details key="start" value="3929"/>

+      <details key="end" value="3934"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.152" references="/0/generateModule/%.5/%/%/%.4/prop">

+      <details key="start" value="3936"/>

+      <details key="end" value="3940"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.153" references="/0/generateModule/%.5/%/%/%.5">

+      <details key="start" value="3943"/>

+      <details key="end" value="3945"/>

+      <details key="line" value="74"/>

+    </eAnnotations>

+    <eAnnotations source="positions.154" references="/0/generateModule/%.5/%/%/%.6">

+      <details key="start" value="3633"/>

+      <details key="end" value="3723"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.155" references="/0/generateModule/%.5/%/%/%.6/%">

+      <details key="start" value="3634"/>

+      <details key="end" value="3667"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.156" references="/0/generateModule/%.5/%/%/%.6/%/%">

+      <details key="start" value="3638"/>

+      <details key="end" value="3667"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.157" references="/0/generateModule/%.5/%/%/%.6/%/%/%">

+      <details key="start" value="3638"/>

+      <details key="end" value="3652"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.158" references="/0/generateModule/%.5/%/%/%.6/%/%/%/%">

+      <details key="start" value="3638"/>

+      <details key="end" value="3647"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.159" references="/0/generateModule/%.5/%/%/%.6/%/%/%/%/prop">

+      <details key="start" value="3638"/>

+      <details key="end" value="3642"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.160" references="/0/generateModule/%.5/%/%/%.6/%.1">

+      <details key="start" value="3672"/>

+      <details key="end" value="3722"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.161" references="/0/generateModule/%.5/%/%/%.6/%.1/%">

+      <details key="start" value="3676"/>

+      <details key="end" value="3722"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.162" references="/0/generateModule/%.5/%/%/%.6/%.1/%/%">

+      <details key="start" value="3677"/>

+      <details key="end" value="3695"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.163" references="/0/generateModule/%.5/%/%/%.6/%.1/%/%/%">

+      <details key="start" value="3685"/>

+      <details key="end" value="3694"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.164" references="/0/generateModule/%.5/%/%/%.6/%.1/%/%/%/prop">

+      <details key="start" value="3685"/>

+      <details key="end" value="3689"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.165" references="/0/generateModule/%.5/%/%/%.6/%.1/%/%.1">

+      <details key="start" value="3713"/>

+      <details key="end" value="3720"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.166" references="/0/generateModule/%.5/%/prop">

+      <details key="start" value="3603"/>

+      <details key="end" value="3618"/>

+      <details key="line" value="71"/>

+    </eAnnotations>

+    <eAnnotations source="positions.167" references="/0/generateModule/%.5/%/vars">

+      <details key="start" value="3621"/>

+      <details key="end" value="3625"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.168" references="/0/generateModule/%.5/%.1">

+      <details key="start" value="3961"/>

+      <details key="end" value="4741"/>

+      <details key="line" value="77"/>

+    </eAnnotations>

+    <eAnnotations source="positions.169" references="/0/generateModule/%.5/%.1/%">

+      <details key="start" value="4259"/>

+      <details key="end" value="4733"/>

+      <details key="line" value="80"/>

+    </eAnnotations>

+    <eAnnotations source="positions.170" references="/0/generateModule/%.5/%.1/%/%">

+      <details key="start" value="4292"/>

+      <details key="end" value="4725"/>

+      <details key="line" value="81"/>

+    </eAnnotations>

+    <eAnnotations source="positions.171" references="/0/generateModule/%.5/%.1/%/%/%">

+      <details key="start" value="4436"/>

+      <details key="end" value="4718"/>

+      <details key="line" value="83"/>

+    </eAnnotations>

+    <eAnnotations source="positions.172" references="/0/generateModule/%.5/%.1/%/%/%/%">

+      <details key="start" value="4518"/>

+      <details key="end" value="4709"/>

+      <details key="line" value="84"/>

+    </eAnnotations>

+    <eAnnotations source="positions.173" references="/0/generateModule/%.5/%.1/%/%/%/%/%">

+      <details key="start" value="4604"/>

+      <details key="end" value="4606"/>

+      <details key="line" value="84"/>

+    </eAnnotations>

+    <eAnnotations source="positions.174" references="/0/generateModule/%.5/%.1/%/%/%/%/%.1">

+      <details key="start" value="4607"/>

+      <details key="end" value="4616"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.175" references="/0/generateModule/%.5/%.1/%/%/%/%/%.1/prop">

+      <details key="start" value="4607"/>

+      <details key="end" value="4611"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.176" references="/0/generateModule/%.5/%.1/%/%/%/%/%.2">

+      <details key="start" value="4618"/>

+      <details key="end" value="4621"/>

+      <details key="line" value="85"/>

+    </eAnnotations>

+    <eAnnotations source="positions.177" references="/0/generateModule/%.5/%.1/%/%/%/%/%.3">

+      <details key="start" value="4622"/>

+      <details key="end" value="4650"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.178" references="/0/generateModule/%.5/%.1/%/%/%/%/%.3/prop">

+      <details key="start" value="4645"/>

+      <details key="end" value="4649"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.179" references="/0/generateModule/%.5/%.1/%/%/%/%/%.4">

+      <details key="start" value="4653"/>

+      <details key="end" value="4698"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.180" references="/0/generateModule/%.5/%.1/%/%/%/%/%.4/block">

+      <details key="start" value="4686"/>

+      <details key="end" value="4691"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.181" references="/0/generateModule/%.5/%.1/%/%/%/%/%.4/prop">

+      <details key="start" value="4693"/>

+      <details key="end" value="4697"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.182" references="/0/generateModule/%.5/%.1/%/%/%/%/%.5">

+      <details key="start" value="4700"/>

+      <details key="end" value="4702"/>

+      <details key="line" value="85"/>

+    </eAnnotations>

+    <eAnnotations source="positions.183" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6">

+      <details key="start" value="4522"/>

+      <details key="end" value="4601"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.184" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6/%">

+      <details key="start" value="4523"/>

+      <details key="end" value="4576"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.185" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6/%/%">

+      <details key="start" value="4523"/>

+      <details key="end" value="4565"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.186" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6/%/%/prop">

+      <details key="start" value="4523"/>

+      <details key="end" value="4527"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.187" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6/%/%/flowPortStereo">

+      <details key="start" value="4537"/>

+      <details key="end" value="4551"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.188" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6/%/%/%">

+      <details key="start" value="4553"/>

+      <details key="end" value="4564"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.189" references="/0/generateModule/%.5/%.1/%/%/%/%/%.6/%.1">

+      <details key="start" value="4594"/>

+      <details key="end" value="4599"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.190" references="/0/generateModule/%.5/%.1/%/%/%/flowPortStereo">

+      <details key="start" value="4441"/>

+      <details key="end" value="4513"/>

+      <details key="line" value="83"/>

+    </eAnnotations>

+    <eAnnotations source="positions.191" references="/0/generateModule/%.5/%.1/%/%/%/flowPortStereo/%">

+      <details key="start" value="4472"/>

+      <details key="end" value="4514"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.192" references="/0/generateModule/%.5/%.1/%/%/%/flowPortStereo/%/prop">

+      <details key="start" value="4472"/>

+      <details key="end" value="4476"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.193" references="/0/generateModule/%.5/%.1/%/%/%/flowPortStereo/%/MARTEFlowPortQN">

+      <details key="start" value="4498"/>

+      <details key="end" value="4513"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.194" references="/0/generateModule/%.5/%.1/%/%/%.1">

+      <details key="start" value="4296"/>

+      <details key="end" value="4386"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.195" references="/0/generateModule/%.5/%.1/%/%/%.1/%">

+      <details key="start" value="4297"/>

+      <details key="end" value="4330"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.196" references="/0/generateModule/%.5/%.1/%/%/%.1/%/%">

+      <details key="start" value="4301"/>

+      <details key="end" value="4330"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.197" references="/0/generateModule/%.5/%.1/%/%/%.1/%/%/%">

+      <details key="start" value="4301"/>

+      <details key="end" value="4315"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.198" references="/0/generateModule/%.5/%.1/%/%/%.1/%/%/%/%">

+      <details key="start" value="4301"/>

+      <details key="end" value="4310"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.199" references="/0/generateModule/%.5/%.1/%/%/%.1/%/%/%/%/prop">

+      <details key="start" value="4301"/>

+      <details key="end" value="4305"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.200" references="/0/generateModule/%.5/%.1/%/%/%.1/%.1">

+      <details key="start" value="4335"/>

+      <details key="end" value="4385"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.201" references="/0/generateModule/%.5/%.1/%/%/%.1/%.1/%">

+      <details key="start" value="4339"/>

+      <details key="end" value="4385"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.202" references="/0/generateModule/%.5/%.1/%/%/%.1/%.1/%/%">

+      <details key="start" value="4340"/>

+      <details key="end" value="4358"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.203" references="/0/generateModule/%.5/%.1/%/%/%.1/%.1/%/%/%">

+      <details key="start" value="4348"/>

+      <details key="end" value="4357"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.204" references="/0/generateModule/%.5/%.1/%/%/%.1/%.1/%/%/%/prop">

+      <details key="start" value="4348"/>

+      <details key="end" value="4352"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.205" references="/0/generateModule/%.5/%.1/%/%/%.1/%.1/%/%.1">

+      <details key="start" value="4376"/>

+      <details key="end" value="4383"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.206" references="/0/generateModule/%.5/%.1/%/prop">

+      <details key="start" value="4265"/>

+      <details key="end" value="4280"/>

+      <details key="line" value="80"/>

+    </eAnnotations>

+    <eAnnotations source="positions.207" references="/0/generateModule/%.5/%.1/%/ports">

+      <details key="start" value="4283"/>

+      <details key="end" value="4288"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.208" references="/0/generateModule/%.5/%.1/ports">

+      <details key="start" value="3966"/>

+      <details key="end" value="4256"/>

+      <details key="line" value="77"/>

+    </eAnnotations>

+    <eAnnotations source="positions.209" references="/0/generateModule/%.5/%.1/ports/select">

+      <details key="start" value="3998"/>

+      <details key="end" value="4257"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.210" references="/0/generateModule/%.5/%.1/ports/select/%">

+      <details key="start" value="3998"/>

+      <details key="end" value="4013"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.211" references="/0/generateModule/%.5/%.1/ports/select/%/block">

+      <details key="start" value="3998"/>

+      <details key="end" value="4003"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.212" references="/0/generateModule/%.5/%.1/ports/select/%.1">

+      <details key="start" value="4037"/>

+      <details key="end" value="4256"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.213" references="/0/generateModule/%.5/%.1/ports/select/%.1/%">

+      <details key="start" value="4037"/>

+      <details key="end" value="4197"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.214" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%">

+      <details key="start" value="4037"/>

+      <details key="end" value="4139"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.215" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%">

+      <details key="start" value="4037"/>

+      <details key="end" value="4086"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.216" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.217" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%/%/%/%">

+      <details key="start" value="4037"/>

+      <details key="end" value="4075"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.218" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%/%/%/%/p">

+      <details key="start" value="4037"/>

+      <details key="end" value="4038"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.219" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%/%/%/%/ContractPropQN">

+      <details key="start" value="4060"/>

+      <details key="end" value="4074"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.220" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%.1">

+      <details key="start" value="4094"/>

+      <details key="end" value="4139"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.221" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.222" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%.1/%/%/%">

+      <details key="start" value="4094"/>

+      <details key="end" value="4128"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.223" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%.1/%/%/%/p">

+      <details key="start" value="4094"/>

+      <details key="end" value="4095"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.224" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%/%.1/%/%/%/FlowPortQN">

+      <details key="start" value="4117"/>

+      <details key="end" value="4127"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.225" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%.1">

+      <details key="start" value="4144"/>

+      <details key="end" value="4197"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.226" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.227" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%.1/%/%/%">

+      <details key="start" value="4144"/>

+      <details key="end" value="4186"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.228" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%.1/%/%/%/p">

+      <details key="start" value="4144"/>

+      <details key="end" value="4145"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.229" references="/0/generateModule/%.5/%.1/ports/select/%.1/%/%.1/%/%/%/ClientServerPortQN">

+      <details key="start" value="4167"/>

+      <details key="end" value="4185"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.230" references="/0/generateModule/%.5/%.1/ports/select/%.1/%.1">

+      <details key="start" value="4205"/>

+      <details key="end" value="4256"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.231" references="/0/generateModule/%.5/%.1/ports/select/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.232" references="/0/generateModule/%.5/%.1/ports/select/%.1/%.1/%/%/%">

+      <details key="start" value="4205"/>

+      <details key="end" value="4244"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.233" references="/0/generateModule/%.5/%.1/ports/select/%.1/%.1/%/%/%/p">

+      <details key="start" value="4205"/>

+      <details key="end" value="4206"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.234" references="/0/generateModule/%.5/%.1/ports/select/%.1/%.1/%/%/%/MARTEFlowPortQN">

+      <details key="start" value="4228"/>

+      <details key="end" value="4243"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.235" references="/0/generateModule/%.5/%.1/ports/select/p">

+      <details key="start" value="4022"/>

+      <details key="end" value="4034"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.236" references="/0/generateModule/%.5/%.2">

+      <details key="start" value="4743"/>

+      <details key="end" value="5297"/>

+      <details key="line" value="91"/>

+    </eAnnotations>

+    <eAnnotations source="positions.237" references="/0/generateModule/%.5/%.2/%">

+      <details key="start" value="4792"/>

+      <details key="end" value="5289"/>

+      <details key="line" value="92"/>

+    </eAnnotations>

+    <eAnnotations source="positions.238" references="/0/generateModule/%.5/%.2/%/%">

+      <details key="start" value="4827"/>

+      <details key="end" value="5281"/>

+      <details key="line" value="93"/>

+    </eAnnotations>

+    <eAnnotations source="positions.239" references="/0/generateModule/%.5/%.2/%/%/%">

+      <details key="start" value="5000"/>

+      <details key="end" value="5274"/>

+      <details key="line" value="95"/>

+    </eAnnotations>

+    <eAnnotations source="positions.240" references="/0/generateModule/%.5/%.2/%/%/%/%">

+      <details key="start" value="5098"/>

+      <details key="end" value="5266"/>

+      <details key="line" value="96"/>

+    </eAnnotations>

+    <eAnnotations source="positions.241" references="/0/generateModule/%.5/%.2/%/%/%/%/%">

+      <details key="start" value="5184"/>

+      <details key="end" value="5193"/>

+      <details key="line" value="97"/>

+    </eAnnotations>

+    <eAnnotations source="positions.242" references="/0/generateModule/%.5/%.2/%/%/%/%/%.1">

+      <details key="start" value="5194"/>

+      <details key="end" value="5209"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.243" references="/0/generateModule/%.5/%.2/%/%/%/%/%.1/rule">

+      <details key="start" value="5194"/>

+      <details key="end" value="5198"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.244" references="/0/generateModule/%.5/%.2/%/%/%/%/%.2">

+      <details key="start" value="5211"/>

+      <details key="end" value="5215"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.245" references="/0/generateModule/%.5/%.2/%/%/%/%/spec">

+      <details key="start" value="5216"/>

+      <details key="end" value="5220"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.246" references="/0/generateModule/%.5/%.2/%/%/%/%/%.3">

+      <details key="start" value="5222"/>

+      <details key="end" value="5258"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.247" references="/0/generateModule/%.5/%.2/%/%/%/%/%.3/%">

+      <details key="start" value="5250"/>

+      <details key="end" value="5252"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.248" references="/0/generateModule/%.5/%.2/%/%/%/%/%.3/%.1">

+      <details key="start" value="5226"/>

+      <details key="end" value="5249"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.249" references="/0/generateModule/%.5/%.2/%/%/%/%/%.3/%.1/%">

+      <details key="start" value="5229"/>

+      <details key="end" value="5249"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.250" references="/0/generateModule/%.5/%.2/%/%/%/%/%.3/%.1/%/spec">

+      <details key="start" value="5230"/>

+      <details key="end" value="5234"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.251" references="/0/generateModule/%.5/%.2/%/%/%/%/%.3/%.1/%/%">

+      <details key="start" value="5244"/>

+      <details key="end" value="5247"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.252" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1">

+      <details key="start" value="5103"/>

+      <details key="end" value="5182"/>

+      <details key="line" value="96"/>

+    </eAnnotations>

+    <eAnnotations source="positions.253" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%">

+      <details key="start" value="5120"/>

+      <details key="end" value="5183"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.254" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%/%">

+      <details key="start" value="5120"/>

+      <details key="end" value="5172"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.255" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%/%/%">

+      <details key="start" value="5120"/>

+      <details key="end" value="5166"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.256" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%/%/%/%">

+      <details key="start" value="5120"/>

+      <details key="end" value="5138"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.257" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%/%/%/%/rule">

+      <details key="start" value="5120"/>

+      <details key="end" value="5124"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.258" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%/%/%/%.1">

+      <details key="start" value="5149"/>

+      <details key="end" value="5165"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.259" references="/0/generateModule/%.5/%.2/%/%/%/%/spec.1/%/index">

+      <details key="start" value="5177"/>

+      <details key="end" value="5182"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.260" references="/0/generateModule/%.5/%.2/%/%/%/index">

+      <details key="start" value="5006"/>

+      <details key="end" value="5095"/>

+      <details key="line" value="95"/>

+    </eAnnotations>

+    <eAnnotations source="positions.261" references="/0/generateModule/%.5/%.2/%/%/%/index/%">

+      <details key="start" value="5025"/>

+      <details key="end" value="5096"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.262" references="/0/generateModule/%.5/%.2/%/%/%/index/%/%">

+      <details key="start" value="5025"/>

+      <details key="end" value="5080"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.263" references="/0/generateModule/%.5/%.2/%/%/%/index/%/%/%">

+      <details key="start" value="5025"/>

+      <details key="end" value="5071"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.264" references="/0/generateModule/%.5/%.2/%/%/%/index/%/%/%/%">

+      <details key="start" value="5025"/>

+      <details key="end" value="5043"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.265" references="/0/generateModule/%.5/%.2/%/%/%/index/%/%/%/%/rule">

+      <details key="start" value="5025"/>

+      <details key="end" value="5029"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.266" references="/0/generateModule/%.5/%.2/%/%/%/index/%/%/%/%.1">

+      <details key="start" value="5054"/>

+      <details key="end" value="5070"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.267" references="/0/generateModule/%.5/%.2/%/%/%/index/%/%.1">

+      <details key="start" value="5090"/>

+      <details key="end" value="5095"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.268" references="/0/generateModule/%.5/%.2/%/%/%.1">

+      <details key="start" value="4831"/>

+      <details key="end" value="4997"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.269" references="/0/generateModule/%.5/%.2/%/%/%.1/%">

+      <details key="start" value="4832"/>

+      <details key="end" value="4880"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.270" references="/0/generateModule/%.5/%.2/%/%/%.1/%/%">

+      <details key="start" value="4832"/>

+      <details key="end" value="4850"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.271" references="/0/generateModule/%.5/%.2/%/%/%.1/%/%/rule">

+      <details key="start" value="4832"/>

+      <details key="end" value="4836"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.272" references="/0/generateModule/%.5/%.2/%/%/%.1/%/%.1">

+      <details key="start" value="4863"/>

+      <details key="end" value="4879"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.273" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1">

+      <details key="start" value="4888"/>

+      <details key="end" value="4996"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.274" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select">

+      <details key="start" value="4888"/>

+      <details key="end" value="4984"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.275" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%">

+      <details key="start" value="4888"/>

+      <details key="end" value="4943"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.276" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%/%">

+      <details key="start" value="4888"/>

+      <details key="end" value="4934"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.277" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%/%/%">

+      <details key="start" value="4888"/>

+      <details key="end" value="4906"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.278" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%/%/%/rule">

+      <details key="start" value="4888"/>

+      <details key="end" value="4892"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.279" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%/%/%.1">

+      <details key="start" value="4917"/>

+      <details key="end" value="4933"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.280" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%.1">

+      <details key="start" value="4966"/>

+      <details key="end" value="4983"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.281" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%.1/l">

+      <details key="start" value="4966"/>

+      <details key="end" value="4967"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.282" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/%.1/%">

+      <details key="start" value="4977"/>

+      <details key="end" value="4982"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.283" references="/0/generateModule/%.5/%.2/%/%/%.1/%.1/select/l">

+      <details key="start" value="4953"/>

+      <details key="end" value="4963"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.284" references="/0/generateModule/%.5/%.2/%/rule">

+      <details key="start" value="4798"/>

+      <details key="end" value="4815"/>

+      <details key="line" value="92"/>

+    </eAnnotations>

+    <eAnnotations source="positions.285" references="/0/generateModule/%.5/%.2/%/rules">

+      <details key="start" value="4818"/>

+      <details key="end" value="4823"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.286" references="/0/generateModule/%.5/%.2/rules">

+      <details key="start" value="4748"/>

+      <details key="end" value="4789"/>

+      <details key="line" value="91"/>

+    </eAnnotations>

+    <eAnnotations source="positions.287" references="/0/generateModule/%.5/%.2/rules/%">

+      <details key="start" value="4775"/>

+      <details key="end" value="4790"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.288" references="/0/generateModule/%.5/%.2/rules/%/block">

+      <details key="start" value="4775"/>

+      <details key="end" value="4780"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.289" references="/0/generateModule/%.5/%.3">

+      <details key="start" value="5299"/>

+      <details key="end" value="5636"/>

+      <details key="line" value="105"/>

+    </eAnnotations>

+    <eAnnotations source="positions.290" references="/0/generateModule/%.5/%.3/%">

+      <details key="start" value="5558"/>

+      <details key="end" value="5628"/>

+      <details key="line" value="108"/>

+    </eAnnotations>

+    <eAnnotations source="positions.291" references="/0/generateModule/%.5/%.3/%/%">

+      <details key="start" value="5589"/>

+      <details key="end" value="5600"/>

+      <details key="line" value="109"/>

+    </eAnnotations>

+    <eAnnotations source="positions.292" references="/0/generateModule/%.5/%.3/%/%.1">

+      <details key="start" value="5601"/>

+      <details key="end" value="5618"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.293" references="/0/generateModule/%.5/%.3/%/%.1/prop">

+      <details key="start" value="5601"/>

+      <details key="end" value="5605"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.294" references="/0/generateModule/%.5/%.3/%/%.2">

+      <details key="start" value="5620"/>

+      <details key="end" value="5621"/>

+      <details key="line" value="110"/>

+    </eAnnotations>

+    <eAnnotations source="positions.295" references="/0/generateModule/%.5/%.3/%/prop">

+      <details key="start" value="5564"/>

+      <details key="end" value="5579"/>

+      <details key="line" value="108"/>

+    </eAnnotations>

+    <eAnnotations source="positions.296" references="/0/generateModule/%.5/%.3/%/vars">

+      <details key="start" value="5582"/>

+      <details key="end" value="5586"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.297" references="/0/generateModule/%.5/%.3/vars">

+      <details key="start" value="5304"/>

+      <details key="end" value="5555"/>

+      <details key="line" value="105"/>

+    </eAnnotations>

+    <eAnnotations source="positions.298" references="/0/generateModule/%.5/%.3/vars/select">

+      <details key="start" value="5335"/>

+      <details key="end" value="5556"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.299" references="/0/generateModule/%.5/%.3/vars/select/%">

+      <details key="start" value="5335"/>

+      <details key="end" value="5350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.300" references="/0/generateModule/%.5/%.3/vars/select/%/block">

+      <details key="start" value="5335"/>

+      <details key="end" value="5340"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.301" references="/0/generateModule/%.5/%.3/vars/select/%.1">

+      <details key="start" value="5374"/>

+      <details key="end" value="5555"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.302" references="/0/generateModule/%.5/%.3/vars/select/%.1/%">

+      <details key="start" value="5374"/>

+      <details key="end" value="5497"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.303" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%">

+      <details key="start" value="5374"/>

+      <details key="end" value="5439"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.304" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%">

+      <details key="start" value="5374"/>

+      <details key="end" value="5386"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.305" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%/p">

+      <details key="start" value="5374"/>

+      <details key="end" value="5375"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.306" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%.1">

+      <details key="start" value="5394"/>

+      <details key="end" value="5439"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.307" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.308" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%.1/%/%/%">

+      <details key="start" value="5394"/>

+      <details key="end" value="5428"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.309" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%.1/%/%/%/p">

+      <details key="start" value="5394"/>

+      <details key="end" value="5395"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.310" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%/%.1/%/%/%/FlowPortQN">

+      <details key="start" value="5417"/>

+      <details key="end" value="5427"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.311" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%.1">

+      <details key="start" value="5444"/>

+      <details key="end" value="5497"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.312" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.313" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%.1/%/%/%">

+      <details key="start" value="5444"/>

+      <details key="end" value="5486"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.314" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%.1/%/%/%/p">

+      <details key="start" value="5444"/>

+      <details key="end" value="5445"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.315" references="/0/generateModule/%.5/%.3/vars/select/%.1/%/%.1/%/%/%/ClientServerPortQN">

+      <details key="start" value="5467"/>

+      <details key="end" value="5485"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.316" references="/0/generateModule/%.5/%.3/vars/select/%.1/%.1">

+      <details key="start" value="5505"/>

+      <details key="end" value="5555"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.317" references="/0/generateModule/%.5/%.3/vars/select/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.318" references="/0/generateModule/%.5/%.3/vars/select/%.1/%.1/%/%/%">

+      <details key="start" value="5505"/>

+      <details key="end" value="5544"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.319" references="/0/generateModule/%.5/%.3/vars/select/%.1/%.1/%/%/%/p">

+      <details key="start" value="5505"/>

+      <details key="end" value="5506"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.320" references="/0/generateModule/%.5/%.3/vars/select/%.1/%.1/%/%/%/MARTEFlowPortQN">

+      <details key="start" value="5528"/>

+      <details key="end" value="5543"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.321" references="/0/generateModule/%.5/%.3/vars/select/p">

+      <details key="start" value="5359"/>

+      <details key="end" value="5371"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.322" references="/0/generateModule/%.5/%.4">

+      <details key="start" value="5637"/>

+      <details key="end" value="5644"/>

+      <details key="line" value="112"/>

+    </eAnnotations>

+    <eAnnotations source="positions.323" references="/0/generateModule/%.5/%.5">

+      <details key="start" value="5645"/>

+      <details key="end" value="5807"/>

+      <details key="line" value="113"/>

+    </eAnnotations>

+    <eAnnotations source="positions.324" references="/0/generateModule/%.5/%.5/%">

+      <details key="start" value="5677"/>

+      <details key="end" value="5799"/>

+      <details key="line" value="114"/>

+    </eAnnotations>

+    <eAnnotations source="positions.325" references="/0/generateModule/%.5/%.5/%/%">

+      <details key="start" value="5767"/>

+      <details key="end" value="5769"/>

+      <details key="line" value="115"/>

+    </eAnnotations>

+    <eAnnotations source="positions.326" references="/0/generateModule/%.5/%.5/%/%.1">

+      <details key="start" value="5770"/>

+      <details key="end" value="5779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.327" references="/0/generateModule/%.5/%.5/%/%.1/prop">

+      <details key="start" value="5770"/>

+      <details key="end" value="5774"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.328" references="/0/generateModule/%.5/%.5/%/%.2">

+      <details key="start" value="5781"/>

+      <details key="end" value="5793"/>

+      <details key="line" value="115"/>

+    </eAnnotations>

+    <eAnnotations source="positions.329" references="/0/generateModule/%.5/%.5/%/%.3">

+      <details key="start" value="5681"/>

+      <details key="end" value="5765"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.330" references="/0/generateModule/%.5/%.5/%/%.3/%">

+      <details key="start" value="5682"/>

+      <details key="end" value="5715"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.331" references="/0/generateModule/%.5/%.5/%/%.3/%/%">

+      <details key="start" value="5686"/>

+      <details key="end" value="5715"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.332" references="/0/generateModule/%.5/%.5/%/%.3/%/%/%">

+      <details key="start" value="5686"/>

+      <details key="end" value="5700"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.333" references="/0/generateModule/%.5/%.5/%/%.3/%/%/%/%">

+      <details key="start" value="5686"/>

+      <details key="end" value="5695"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.334" references="/0/generateModule/%.5/%.5/%/%.3/%/%/%/%/prop">

+      <details key="start" value="5686"/>

+      <details key="end" value="5690"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.335" references="/0/generateModule/%.5/%.5/%/%.3/%.1">

+      <details key="start" value="5720"/>

+      <details key="end" value="5764"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.336" references="/0/generateModule/%.5/%.5/%/%.3/%.1/%">

+      <details key="start" value="5720"/>

+      <details key="end" value="5738"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.337" references="/0/generateModule/%.5/%.5/%/%.3/%.1/%/%">

+      <details key="start" value="5728"/>

+      <details key="end" value="5737"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.338" references="/0/generateModule/%.5/%.5/%/%.3/%.1/%/%/prop">

+      <details key="start" value="5728"/>

+      <details key="end" value="5732"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.339" references="/0/generateModule/%.5/%.5/%/%.3/%.1/%.1">

+      <details key="start" value="5756"/>

+      <details key="end" value="5763"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.340" references="/0/generateModule/%.5/%.5/prop">

+      <details key="start" value="5651"/>

+      <details key="end" value="5666"/>

+      <details key="line" value="113"/>

+    </eAnnotations>

+    <eAnnotations source="positions.341" references="/0/generateModule/%.5/%.5/vars">

+      <details key="start" value="5669"/>

+      <details key="end" value="5673"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.342" references="/0/generateModule/%.5/vars">

+      <details key="start" value="3306"/>

+      <details key="end" value="3594"/>

+      <details key="line" value="68"/>

+    </eAnnotations>

+    <eAnnotations source="positions.343" references="/0/generateModule/%.5/vars/select">

+      <details key="start" value="3337"/>

+      <details key="end" value="3595"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.344" references="/0/generateModule/%.5/vars/select/%">

+      <details key="start" value="3337"/>

+      <details key="end" value="3352"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.345" references="/0/generateModule/%.5/vars/select/%/block">

+      <details key="start" value="3337"/>

+      <details key="end" value="3342"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.346" references="/0/generateModule/%.5/vars/select/%.1">

+      <details key="start" value="3376"/>

+      <details key="end" value="3594"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.347" references="/0/generateModule/%.5/vars/select/%.1/%">

+      <details key="start" value="3376"/>

+      <details key="end" value="3536"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.348" references="/0/generateModule/%.5/vars/select/%.1/%/%">

+      <details key="start" value="3376"/>

+      <details key="end" value="3478"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.349" references="/0/generateModule/%.5/vars/select/%.1/%/%/%">

+      <details key="start" value="3376"/>

+      <details key="end" value="3425"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.350" references="/0/generateModule/%.5/vars/select/%.1/%/%/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.351" references="/0/generateModule/%.5/vars/select/%.1/%/%/%/%/%/%">

+      <details key="start" value="3376"/>

+      <details key="end" value="3414"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.352" references="/0/generateModule/%.5/vars/select/%.1/%/%/%/%/%/%/p">

+      <details key="start" value="3376"/>

+      <details key="end" value="3377"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.353" references="/0/generateModule/%.5/vars/select/%.1/%/%/%/%/%/%/ContractPropQN">

+      <details key="start" value="3399"/>

+      <details key="end" value="3413"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.354" references="/0/generateModule/%.5/vars/select/%.1/%/%/%.1">

+      <details key="start" value="3433"/>

+      <details key="end" value="3478"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.355" references="/0/generateModule/%.5/vars/select/%.1/%/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.356" references="/0/generateModule/%.5/vars/select/%.1/%/%/%.1/%/%/%">

+      <details key="start" value="3433"/>

+      <details key="end" value="3467"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.357" references="/0/generateModule/%.5/vars/select/%.1/%/%/%.1/%/%/%/p">

+      <details key="start" value="3433"/>

+      <details key="end" value="3434"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.358" references="/0/generateModule/%.5/vars/select/%.1/%/%/%.1/%/%/%/FlowPortQN">

+      <details key="start" value="3456"/>

+      <details key="end" value="3466"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.359" references="/0/generateModule/%.5/vars/select/%.1/%/%.1">

+      <details key="start" value="3483"/>

+      <details key="end" value="3536"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.360" references="/0/generateModule/%.5/vars/select/%.1/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.361" references="/0/generateModule/%.5/vars/select/%.1/%/%.1/%/%/%">

+      <details key="start" value="3483"/>

+      <details key="end" value="3525"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.362" references="/0/generateModule/%.5/vars/select/%.1/%/%.1/%/%/%/p">

+      <details key="start" value="3483"/>

+      <details key="end" value="3484"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.363" references="/0/generateModule/%.5/vars/select/%.1/%/%.1/%/%/%/ClientServerPortQN">

+      <details key="start" value="3506"/>

+      <details key="end" value="3524"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.364" references="/0/generateModule/%.5/vars/select/%.1/%.1">

+      <details key="start" value="3544"/>

+      <details key="end" value="3594"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.365" references="/0/generateModule/%.5/vars/select/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.366" references="/0/generateModule/%.5/vars/select/%.1/%.1/%/%/%">

+      <details key="start" value="3544"/>

+      <details key="end" value="3583"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.367" references="/0/generateModule/%.5/vars/select/%.1/%.1/%/%/%/p">

+      <details key="start" value="3544"/>

+      <details key="end" value="3545"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.368" references="/0/generateModule/%.5/vars/select/%.1/%.1/%/%/%/MARTEFlowPortQN">

+      <details key="start" value="3567"/>

+      <details key="end" value="3582"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.369" references="/0/generateModule/%.5/vars/select/p">

+      <details key="start" value="3361"/>

+      <details key="end" value="3373"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.370" references="/0/generateModule/%.6">

+      <details key="start" value="5818"/>

+      <details key="end" value="7371"/>

+      <details key="line" value="119"/>

+    </eAnnotations>

+    <eAnnotations source="positions.371" references="/0/generateModule/%.6/%">

+      <details key="start" value="6056"/>

+      <details key="end" value="6057"/>

+      <details key="line" value="121"/>

+    </eAnnotations>

+    <eAnnotations source="positions.372" references="/0/generateModule/%.6/%.1">

+      <details key="start" value="6058"/>

+      <details key="end" value="6260"/>

+      <details key="line" value="122"/>

+    </eAnnotations>

+    <eAnnotations source="positions.373" references="/0/generateModule/%.6/%.1/%">

+      <details key="start" value="6090"/>

+      <details key="end" value="6252"/>

+      <details key="line" value="123"/>

+    </eAnnotations>

+    <eAnnotations source="positions.374" references="/0/generateModule/%.6/%.1/%/%">

+      <details key="start" value="6094"/>

+      <details key="end" value="6184"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.375" references="/0/generateModule/%.6/%.1/%/%/%">

+      <details key="start" value="6095"/>

+      <details key="end" value="6128"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.376" references="/0/generateModule/%.6/%.1/%/%/%/%">

+      <details key="start" value="6099"/>

+      <details key="end" value="6128"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.377" references="/0/generateModule/%.6/%.1/%/%/%/%/%">

+      <details key="start" value="6099"/>

+      <details key="end" value="6113"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.378" references="/0/generateModule/%.6/%.1/%/%/%/%/%/%">

+      <details key="start" value="6099"/>

+      <details key="end" value="6108"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.379" references="/0/generateModule/%.6/%.1/%/%/%/%/%/%/prop">

+      <details key="start" value="6099"/>

+      <details key="end" value="6103"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.380" references="/0/generateModule/%.6/%.1/%/%/%.1">

+      <details key="start" value="6133"/>

+      <details key="end" value="6183"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.381" references="/0/generateModule/%.6/%.1/%/%/%.1/%">

+      <details key="start" value="6137"/>

+      <details key="end" value="6183"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.382" references="/0/generateModule/%.6/%.1/%/%/%.1/%/%">

+      <details key="start" value="6138"/>

+      <details key="end" value="6156"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.383" references="/0/generateModule/%.6/%.1/%/%/%.1/%/%/%">

+      <details key="start" value="6146"/>

+      <details key="end" value="6155"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.384" references="/0/generateModule/%.6/%.1/%/%/%.1/%/%/%/prop">

+      <details key="start" value="6146"/>

+      <details key="end" value="6150"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.385" references="/0/generateModule/%.6/%.1/%/%/%.1/%/%.1">

+      <details key="start" value="6174"/>

+      <details key="end" value="6181"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.386" references="/0/generateModule/%.6/%.1/prop">

+      <details key="start" value="6064"/>

+      <details key="end" value="6079"/>

+      <details key="line" value="122"/>

+    </eAnnotations>

+    <eAnnotations source="positions.387" references="/0/generateModule/%.6/%.1/vars">

+      <details key="start" value="6082"/>

+      <details key="end" value="6086"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.388" references="/0/generateModule/%.6/%.2">

+      <details key="start" value="6301"/>

+      <details key="end" value="7363"/>

+      <details key="line" value="128"/>

+    </eAnnotations>

+    <eAnnotations source="positions.389" references="/0/generateModule/%.6/%.2/%">

+      <details key="start" value="6424"/>

+      <details key="end" value="6853"/>

+      <details key="line" value="129"/>

+    </eAnnotations>

+    <eAnnotations source="positions.390" references="/0/generateModule/%.6/%.2/%/%">

+      <details key="start" value="6646"/>

+      <details key="end" value="6845"/>

+      <details key="line" value="130"/>

+    </eAnnotations>

+    <eAnnotations source="positions.391" references="/0/generateModule/%.6/%.2/%/%/%">

+      <details key="start" value="6685"/>

+      <details key="end" value="6837"/>

+      <details key="line" value="131"/>

+    </eAnnotations>

+    <eAnnotations source="positions.392" references="/0/generateModule/%.6/%.2/%/%/%/%">

+      <details key="start" value="6801"/>

+      <details key="end" value="6803"/>

+      <details key="line" value="132"/>

+    </eAnnotations>

+    <eAnnotations source="positions.393" references="/0/generateModule/%.6/%.2/%/%/%/%.1">

+      <details key="start" value="6804"/>

+      <details key="end" value="6817"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.394" references="/0/generateModule/%.6/%.2/%/%/%/%.1/tr">

+      <details key="start" value="6804"/>

+      <details key="end" value="6806"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.395" references="/0/generateModule/%.6/%.2/%/%/%/%.2">

+      <details key="start" value="6819"/>

+      <details key="end" value="6831"/>

+      <details key="line" value="132"/>

+    </eAnnotations>

+    <eAnnotations source="positions.396" references="/0/generateModule/%.6/%.2/%/%/%/%.3">

+      <details key="start" value="6689"/>

+      <details key="end" value="6799"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.397" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%">

+      <details key="start" value="6690"/>

+      <details key="end" value="6742"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.398" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.399" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%/%/%/%">

+      <details key="start" value="6690"/>

+      <details key="end" value="6730"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.400" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%/%/%/%/tr">

+      <details key="start" value="6690"/>

+      <details key="end" value="6692"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.401" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%/%/%/%/InternalFaultQN">

+      <details key="start" value="6714"/>

+      <details key="end" value="6729"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.402" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%.1">

+      <details key="start" value="6746"/>

+      <details key="end" value="6798"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.403" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.404" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%.1/%/%/%">

+      <details key="start" value="6746"/>

+      <details key="end" value="6786"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.405" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%.1/%/%/%/tr">

+      <details key="start" value="6746"/>

+      <details key="end" value="6748"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.406" references="/0/generateModule/%.6/%.2/%/%/%/%.3/%.1/%/%/%/ExternalFaultQN">

+      <details key="start" value="6770"/>

+      <details key="end" value="6785"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.407" references="/0/generateModule/%.6/%.2/%/%/tr">

+      <details key="start" value="6652"/>

+      <details key="end" value="6667"/>

+      <details key="line" value="130"/>

+    </eAnnotations>

+    <eAnnotations source="positions.408" references="/0/generateModule/%.6/%.2/%/%/transitions">

+      <details key="start" value="6670"/>

+      <details key="end" value="6681"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.409" references="/0/generateModule/%.6/%.2/%/transitions">

+      <details key="start" value="6429"/>

+      <details key="end" value="6643"/>

+      <details key="line" value="129"/>

+    </eAnnotations>

+    <eAnnotations source="positions.410" references="/0/generateModule/%.6/%.2/%/transitions/%">

+      <details key="start" value="6467"/>

+      <details key="end" value="6644"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.411" references="/0/generateModule/%.6/%.2/%/transitions/%/select">

+      <details key="start" value="6467"/>

+      <details key="end" value="6630"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.412" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect">

+      <details key="start" value="6467"/>

+      <details key="end" value="6519"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.413" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/%">

+      <details key="start" value="6467"/>

+      <details key="end" value="6508"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.414" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/%/%">

+      <details key="start" value="6467"/>

+      <details key="end" value="6501"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.415" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/%/%/errorModel">

+      <details key="start" value="6467"/>

+      <details key="end" value="6477"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.416" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/%/%/%">

+      <details key="start" value="6488"/>

+      <details key="end" value="6500"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.417" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/%.1">

+      <details key="start" value="6509"/>

+      <details key="end" value="6519"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.418" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/%.1/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.419" references="/0/generateModule/%.6/%.2/%/transitions/%/select/collect/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.420" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%">

+      <details key="start" value="6546"/>

+      <details key="end" value="6629"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.421" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%">

+      <details key="start" value="6546"/>

+      <details key="end" value="6585"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.422" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%/%">

+      <details key="start" value="6549"/>

+      <details key="end" value="6585"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.423" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%/%/%">

+      <details key="start" value="6550"/>

+      <details key="end" value="6559"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.424" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%/%/%/tr">

+      <details key="start" value="6550"/>

+      <details key="end" value="6552"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.425" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%/%/%.1">

+      <details key="start" value="6572"/>

+      <details key="end" value="6583"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.426" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%.1">

+      <details key="start" value="6590"/>

+      <details key="end" value="6629"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.427" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%.1/%">

+      <details key="start" value="6593"/>

+      <details key="end" value="6629"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.428" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%.1/%/%">

+      <details key="start" value="6594"/>

+      <details key="end" value="6603"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.429" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%.1/%/%/tr">

+      <details key="start" value="6594"/>

+      <details key="end" value="6596"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.430" references="/0/generateModule/%.6/%.2/%/transitions/%/select/%/%.1/%/%.1">

+      <details key="start" value="6616"/>

+      <details key="end" value="6627"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.431" references="/0/generateModule/%.6/%.2/%/transitions/%/select/tr">

+      <details key="start" value="6528"/>

+      <details key="end" value="6543"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.432" references="/0/generateModule/%.6/%.2/%.1">

+      <details key="start" value="6854"/>

+      <details key="end" value="6881"/>

+      <details key="line" value="136"/>

+    </eAnnotations>

+    <eAnnotations source="positions.433" references="/0/generateModule/%.6/%.2/%.2">

+      <details key="start" value="7023"/>

+      <details key="end" value="7355"/>

+      <details key="line" value="138"/>

+    </eAnnotations>

+    <eAnnotations source="positions.434" references="/0/generateModule/%.6/%.2/%.2/%">

+      <details key="start" value="7239"/>

+      <details key="end" value="7347"/>

+      <details key="line" value="139"/>

+    </eAnnotations>

+    <eAnnotations source="positions.435" references="/0/generateModule/%.6/%.2/%.2/%/%">

+      <details key="start" value="7267"/>

+      <details key="end" value="7302"/>

+      <details key="line" value="140"/>

+    </eAnnotations>

+    <eAnnotations source="positions.436" references="/0/generateModule/%.6/%.2/%.2/%/%.1">

+      <details key="start" value="7243"/>

+      <details key="end" value="7265"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.437" references="/0/generateModule/%.6/%.2/%.2/%/%.1/toNominal">

+      <details key="start" value="7244"/>

+      <details key="end" value="7253"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.438" references="/0/generateModule/%.6/%.2/%.2/%/%.2">

+      <details key="start" value="7303"/>

+      <details key="end" value="7342"/>

+      <details key="line" value="142"/>

+    </eAnnotations>

+    <eAnnotations source="positions.439" references="/0/generateModule/%.6/%.2/%.2/%/%.2/%">

+      <details key="start" value="7310"/>

+      <details key="end" value="7341"/>

+      <details key="line" value="143"/>

+    </eAnnotations>

+    <eAnnotations source="positions.440" references="/0/generateModule/%.6/%.2/%.2/toNominal">

+      <details key="start" value="7028"/>

+      <details key="end" value="7236"/>

+      <details key="line" value="138"/>

+    </eAnnotations>

+    <eAnnotations source="positions.441" references="/0/generateModule/%.6/%.2/%.2/toNominal/%">

+      <details key="start" value="7064"/>

+      <details key="end" value="7237"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.442" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select">

+      <details key="start" value="7064"/>

+      <details key="end" value="7223"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.443" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect">

+      <details key="start" value="7064"/>

+      <details key="end" value="7116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.444" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/%">

+      <details key="start" value="7064"/>

+      <details key="end" value="7105"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.445" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/%/%">

+      <details key="start" value="7064"/>

+      <details key="end" value="7098"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.446" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/%/%/errorModel">

+      <details key="start" value="7064"/>

+      <details key="end" value="7074"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.447" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/%/%/%">

+      <details key="start" value="7085"/>

+      <details key="end" value="7097"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.448" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/%.1">

+      <details key="start" value="7106"/>

+      <details key="end" value="7116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.449" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/%.1/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.450" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/collect/temp2">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.451" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%">

+      <details key="start" value="7143"/>

+      <details key="end" value="7222"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.452" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%">

+      <details key="start" value="7143"/>

+      <details key="end" value="7182"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.453" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%/%">

+      <details key="start" value="7146"/>

+      <details key="end" value="7182"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.454" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%/%/%">

+      <details key="start" value="7147"/>

+      <details key="end" value="7156"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.455" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%/%/%/tr">

+      <details key="start" value="7147"/>

+      <details key="end" value="7149"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.456" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%/%/%.1">

+      <details key="start" value="7169"/>

+      <details key="end" value="7180"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.457" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%.1">

+      <details key="start" value="7187"/>

+      <details key="end" value="7222"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.458" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%.1/%">

+      <details key="start" value="7187"/>

+      <details key="end" value="7207"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.459" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%.1/%/%">

+      <details key="start" value="7187"/>

+      <details key="end" value="7196"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.460" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%.1/%/%/tr">

+      <details key="start" value="7187"/>

+      <details key="end" value="7189"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.461" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/%/%.1/%.1">

+      <details key="start" value="7208"/>

+      <details key="end" value="7222"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.462" references="/0/generateModule/%.6/%.2/%.2/toNominal/%/select/tr">

+      <details key="start" value="7125"/>

+      <details key="end" value="7140"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.463" references="/0/generateModule/%.6/%.2/errorModel">

+      <details key="start" value="6306"/>

+      <details key="end" value="6421"/>

+      <details key="line" value="128"/>

+    </eAnnotations>

+    <eAnnotations source="positions.464" references="/0/generateModule/%.6/%.2/errorModel/any">

+      <details key="start" value="6331"/>

+      <details key="end" value="6422"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.465" references="/0/generateModule/%.6/%.2/errorModel/any/%">

+      <details key="start" value="6331"/>

+      <details key="end" value="6350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.466" references="/0/generateModule/%.6/%.2/errorModel/any/%/block">

+      <details key="start" value="6331"/>

+      <details key="end" value="6336"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.467" references="/0/generateModule/%.6/%.2/errorModel/any/%.1">

+      <details key="start" value="6372"/>

+      <details key="end" value="6421"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.468" references="/0/generateModule/%.6/%.2/errorModel/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.469" references="/0/generateModule/%.6/%.2/errorModel/any/%.1/%/%/%">

+      <details key="start" value="6372"/>

+      <details key="end" value="6409"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.470" references="/0/generateModule/%.6/%.2/errorModel/any/%.1/%/%/%/em">

+      <details key="start" value="6372"/>

+      <details key="end" value="6374"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.471" references="/0/generateModule/%.6/%.2/errorModel/any/%.1/%/%/%/ErrorModelQN">

+      <details key="start" value="6396"/>

+      <details key="end" value="6408"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.472" references="/0/generateModule/%.6/%.2/errorModel/any/em">

+      <details key="start" value="6356"/>

+      <details key="end" value="6369"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.473" references="/0/generateModule/%.6/vars">

+      <details key="start" value="5823"/>

+      <details key="end" value="6054"/>

+      <details key="line" value="119"/>

+    </eAnnotations>

+    <eAnnotations source="positions.474" references="/0/generateModule/%.6/vars/select">

+      <details key="start" value="5854"/>

+      <details key="end" value="6055"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.475" references="/0/generateModule/%.6/vars/select/%">

+      <details key="start" value="5854"/>

+      <details key="end" value="5869"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.476" references="/0/generateModule/%.6/vars/select/%/block">

+      <details key="start" value="5854"/>

+      <details key="end" value="5859"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.477" references="/0/generateModule/%.6/vars/select/%.1">

+      <details key="start" value="5893"/>

+      <details key="end" value="6053"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.478" references="/0/generateModule/%.6/vars/select/%.1/%">

+      <details key="start" value="5893"/>

+      <details key="end" value="5942"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.479" references="/0/generateModule/%.6/vars/select/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.480" references="/0/generateModule/%.6/vars/select/%.1/%/%/%/%">

+      <details key="start" value="5893"/>

+      <details key="end" value="5931"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.481" references="/0/generateModule/%.6/vars/select/%.1/%/%/%/%/p">

+      <details key="start" value="5893"/>

+      <details key="end" value="5894"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.482" references="/0/generateModule/%.6/vars/select/%.1/%/%/%/%/ContractPropQN">

+      <details key="start" value="5916"/>

+      <details key="end" value="5930"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.483" references="/0/generateModule/%.6/vars/select/%.1/%.1">

+      <details key="start" value="5950"/>

+      <details key="end" value="6053"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.484" references="/0/generateModule/%.6/vars/select/%.1/%.1/%">

+      <details key="start" value="5951"/>

+      <details key="end" value="5997"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.485" references="/0/generateModule/%.6/vars/select/%.1/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.486" references="/0/generateModule/%.6/vars/select/%.1/%.1/%/%/%/%">

+      <details key="start" value="5951"/>

+      <details key="end" value="5985"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.487" references="/0/generateModule/%.6/vars/select/%.1/%.1/%/%/%/%/p">

+      <details key="start" value="5951"/>

+      <details key="end" value="5952"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.488" references="/0/generateModule/%.6/vars/select/%.1/%.1/%/%/%/%/FlowPortQN">

+      <details key="start" value="5974"/>

+      <details key="end" value="5984"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.489" references="/0/generateModule/%.6/vars/select/%.1/%.1/%.1">

+      <details key="start" value="6001"/>

+      <details key="end" value="6052"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.490" references="/0/generateModule/%.6/vars/select/%.1/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.491" references="/0/generateModule/%.6/vars/select/%.1/%.1/%.1/%/%/%">

+      <details key="start" value="6001"/>

+      <details key="end" value="6040"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.492" references="/0/generateModule/%.6/vars/select/%.1/%.1/%.1/%/%/%/p">

+      <details key="start" value="6001"/>

+      <details key="end" value="6002"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.493" references="/0/generateModule/%.6/vars/select/%.1/%.1/%.1/%/%/%/MARTEFlowPortQN">

+      <details key="start" value="6024"/>

+      <details key="end" value="6039"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.494" references="/0/generateModule/%.6/vars/select/p">

+      <details key="start" value="5878"/>

+      <details key="end" value="5890"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.495" references="/0/generateModule/%.7">

+      <details key="start" value="7737"/>

+      <details key="end" value="7739"/>

+      <details key="line" value="157"/>

+    </eAnnotations>

+    <eAnnotations source="positions.496" references="/0/generateModule/%.8">

+      <details key="start" value="7739"/>

+      <details key="end" value="8783"/>

+      <details key="line" value="158"/>

+    </eAnnotations>

+    <eAnnotations source="positions.497" references="/0/generateModule/%.8/%">

+      <details key="start" value="7892"/>

+      <details key="end" value="8776"/>

+      <details key="line" value="159"/>

+    </eAnnotations>

+    <eAnnotations source="positions.498" references="/0/generateModule/%.8/%/%">

+      <details key="start" value="7964"/>

+      <details key="end" value="8769"/>

+      <details key="line" value="160"/>

+    </eAnnotations>

+    <eAnnotations source="positions.499" references="/0/generateModule/%.8/%/%/%">

+      <details key="start" value="8204"/>

+      <details key="end" value="8762"/>

+      <details key="line" value="163"/>

+    </eAnnotations>

+    <eAnnotations source="positions.500" references="/0/generateModule/%.8/%/%/%/%">

+      <details key="start" value="8236"/>

+      <details key="end" value="8464"/>

+      <details key="line" value="164"/>

+    </eAnnotations>

+    <eAnnotations source="positions.501" references="/0/generateModule/%.8/%/%/%/%/%">

+      <details key="start" value="8296"/>

+      <details key="end" value="8457"/>

+      <details key="line" value="165"/>

+    </eAnnotations>

+    <eAnnotations source="positions.502" references="/0/generateModule/%.8/%/%/%/%/%/%">

+      <details key="start" value="8352"/>

+      <details key="end" value="8366"/>

+      <details key="line" value="166"/>

+    </eAnnotations>

+    <eAnnotations source="positions.503" references="/0/generateModule/%.8/%/%/%/%/%/%.1">

+      <details key="start" value="8367"/>

+      <details key="end" value="8376"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.504" references="/0/generateModule/%.8/%/%/%/%/%/%.1/prop">

+      <details key="start" value="8367"/>

+      <details key="end" value="8371"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.505" references="/0/generateModule/%.8/%/%/%/%/%/%.2">

+      <details key="start" value="8378"/>

+      <details key="end" value="8393"/>

+      <details key="line" value="167"/>

+    </eAnnotations>

+    <eAnnotations source="positions.506" references="/0/generateModule/%.8/%/%/%/%/%/%.3">

+      <details key="start" value="8394"/>

+      <details key="end" value="8438"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.507" references="/0/generateModule/%.8/%/%/%/%/%/%.3/nominalModel">

+      <details key="start" value="8414"/>

+      <details key="end" value="8426"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.508" references="/0/generateModule/%.8/%/%/%/%/%/%.3/%">

+      <details key="start" value="8428"/>

+      <details key="end" value="8437"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.509" references="/0/generateModule/%.8/%/%/%/%/%/%.3/%/prop">

+      <details key="start" value="8428"/>

+      <details key="end" value="8432"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.510" references="/0/generateModule/%.8/%/%/%/%/%/%.4">

+      <details key="start" value="8440"/>

+      <details key="end" value="8450"/>

+      <details key="line" value="170"/>

+    </eAnnotations>

+    <eAnnotations source="positions.511" references="/0/generateModule/%.8/%/%/%/%/%/%.5">

+      <details key="start" value="8300"/>

+      <details key="end" value="8350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.512" references="/0/generateModule/%.8/%/%/%/%/%/%.5/%">

+      <details key="start" value="8300"/>

+      <details key="end" value="8344"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.513" references="/0/generateModule/%.8/%/%/%/%/%/%.5/%/nominalModel">

+      <details key="start" value="8320"/>

+      <details key="end" value="8332"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.514" references="/0/generateModule/%.8/%/%/%/%/%/%.5/%/%">

+      <details key="start" value="8334"/>

+      <details key="end" value="8343"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.515" references="/0/generateModule/%.8/%/%/%/%/%/%.5/%/%/prop">

+      <details key="start" value="8334"/>

+      <details key="end" value="8338"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.516" references="/0/generateModule/%.8/%/%/%/%/%/%.5/%.1">

+      <details key="start" value="8348"/>

+      <details key="end" value="8350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.517" references="/0/generateModule/%.8/%/%/%/%/%.1">

+      <details key="start" value="8240"/>

+      <details key="end" value="8292"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.518" references="/0/generateModule/%.8/%/%/%/%/%.1/%">

+      <details key="start" value="8245"/>

+      <details key="end" value="8291"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.519" references="/0/generateModule/%.8/%/%/%/%/%.1/%/%">

+      <details key="start" value="8246"/>

+      <details key="end" value="8264"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.520" references="/0/generateModule/%.8/%/%/%/%/%.1/%/%/%">

+      <details key="start" value="8254"/>

+      <details key="end" value="8263"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.521" references="/0/generateModule/%.8/%/%/%/%/%.1/%/%/%/prop">

+      <details key="start" value="8254"/>

+      <details key="end" value="8258"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.522" references="/0/generateModule/%.8/%/%/%/%/%.1/%/%.1">

+      <details key="start" value="8282"/>

+      <details key="end" value="8289"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.523" references="/0/generateModule/%.8/%/%/%/%.1">

+      <details key="start" value="8466"/>

+      <details key="end" value="8755"/>

+      <details key="line" value="173"/>

+    </eAnnotations>

+    <eAnnotations source="positions.524" references="/0/generateModule/%.8/%/%/%/%.1/%">

+      <details key="start" value="8509"/>

+      <details key="end" value="8748"/>

+      <details key="line" value="174"/>

+    </eAnnotations>

+    <eAnnotations source="positions.525" references="/0/generateModule/%.8/%/%/%/%.1/%/%">

+      <details key="start" value="8582"/>

+      <details key="end" value="8740"/>

+      <details key="line" value="175"/>

+    </eAnnotations>

+    <eAnnotations source="positions.526" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%">

+      <details key="start" value="8635"/>

+      <details key="end" value="8650"/>

+      <details key="line" value="176"/>

+    </eAnnotations>

+    <eAnnotations source="positions.527" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.1">

+      <details key="start" value="8651"/>

+      <details key="end" value="8660"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.528" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.1/prop">

+      <details key="start" value="8651"/>

+      <details key="end" value="8655"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.529" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.2">

+      <details key="start" value="8662"/>

+      <details key="end" value="8667"/>

+      <details key="line" value="177"/>

+    </eAnnotations>

+    <eAnnotations source="positions.530" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.3">

+      <details key="start" value="8668"/>

+      <details key="end" value="8728"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.531" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.3/%">

+      <details key="start" value="8668"/>

+      <details key="end" value="8719"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.532" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.3/%/%">

+      <details key="start" value="8668"/>

+      <details key="end" value="8713"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.533" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.3/%/%/%">

+      <details key="start" value="8668"/>

+      <details key="end" value="8685"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.534" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.3/%/%/%/prop">

+      <details key="start" value="8668"/>

+      <details key="end" value="8672"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.535" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.3/%/%/%.1">

+      <details key="start" value="8696"/>

+      <details key="end" value="8712"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.536" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.4">

+      <details key="start" value="8730"/>

+      <details key="end" value="8732"/>

+      <details key="line" value="177"/>

+    </eAnnotations>

+    <eAnnotations source="positions.537" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.5">

+      <details key="start" value="8586"/>

+      <details key="end" value="8633"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.538" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.5/%">

+      <details key="start" value="8586"/>

+      <details key="end" value="8603"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.539" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.5/%/prop">

+      <details key="start" value="8586"/>

+      <details key="end" value="8590"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.540" references="/0/generateModule/%.8/%/%/%/%.1/%/%/%.5/%.1">

+      <details key="start" value="8616"/>

+      <details key="end" value="8632"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.541" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1">

+      <details key="start" value="8513"/>

+      <details key="end" value="8577"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.542" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%">

+      <details key="start" value="8513"/>

+      <details key="end" value="8553"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.543" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%/%">

+      <details key="start" value="8517"/>

+      <details key="end" value="8553"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.544" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%/%/%">

+      <details key="start" value="8518"/>

+      <details key="end" value="8535"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.545" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%/%/%/prop">

+      <details key="start" value="8518"/>

+      <details key="end" value="8522"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.546" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%.1">

+      <details key="start" value="8558"/>

+      <details key="end" value="8577"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.547" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%.1/%">

+      <details key="start" value="8562"/>

+      <details key="end" value="8577"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.548" references="/0/generateModule/%.8/%/%/%/%.1/%/%.1/%.1/%/prop">

+      <details key="start" value="8562"/>

+      <details key="end" value="8566"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.549" references="/0/generateModule/%.8/%/%/%/%.1/%.1">

+      <details key="start" value="8470"/>

+      <details key="end" value="8504"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.550" references="/0/generateModule/%.8/%/%/%/%.1/%.1/%">

+      <details key="start" value="8473"/>

+      <details key="end" value="8491"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.551" references="/0/generateModule/%.8/%/%/%/%.1/%.1/%/%">

+      <details key="start" value="8481"/>

+      <details key="end" value="8490"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.552" references="/0/generateModule/%.8/%/%/%/%.1/%.1/%/%/prop">

+      <details key="start" value="8481"/>

+      <details key="end" value="8485"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.553" references="/0/generateModule/%.8/%/%/%/%.1/%.1/%.1">

+      <details key="start" value="8495"/>

+      <details key="end" value="8502"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.554" references="/0/generateModule/%.8/%/%/%/prop">

+      <details key="start" value="8210"/>

+      <details key="end" value="8225"/>

+      <details key="line" value="163"/>

+    </eAnnotations>

+    <eAnnotations source="positions.555" references="/0/generateModule/%.8/%/%/%/vars">

+      <details key="start" value="8228"/>

+      <details key="end" value="8232"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.556" references="/0/generateModule/%.8/%/%/vars">

+      <details key="start" value="7969"/>

+      <details key="end" value="8202"/>

+      <details key="line" value="160"/>

+    </eAnnotations>

+    <eAnnotations source="positions.557" references="/0/generateModule/%.8/%/%/vars/select">

+      <details key="start" value="8000"/>

+      <details key="end" value="8203"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.558" references="/0/generateModule/%.8/%/%/vars/select/%">

+      <details key="start" value="8000"/>

+      <details key="end" value="8015"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.559" references="/0/generateModule/%.8/%/%/vars/select/%/block">

+      <details key="start" value="8000"/>

+      <details key="end" value="8005"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.560" references="/0/generateModule/%.8/%/%/vars/select/%.1">

+      <details key="start" value="8039"/>

+      <details key="end" value="8199"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.561" references="/0/generateModule/%.8/%/%/vars/select/%.1/%">

+      <details key="start" value="8039"/>

+      <details key="end" value="8141"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.562" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%">

+      <details key="start" value="8039"/>

+      <details key="end" value="8088"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.563" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.564" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%/%/%/%">

+      <details key="start" value="8039"/>

+      <details key="end" value="8077"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.565" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%/%/%/%/p">

+      <details key="start" value="8039"/>

+      <details key="end" value="8040"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.566" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%/%/%/%/ContractPropQN">

+      <details key="start" value="8062"/>

+      <details key="end" value="8076"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.567" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%.1">

+      <details key="start" value="8096"/>

+      <details key="end" value="8141"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.568" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.569" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%.1/%/%/%">

+      <details key="start" value="8096"/>

+      <details key="end" value="8130"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.570" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%.1/%/%/%/p">

+      <details key="start" value="8096"/>

+      <details key="end" value="8097"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.571" references="/0/generateModule/%.8/%/%/vars/select/%.1/%/%.1/%/%/%/FlowPortQN">

+      <details key="start" value="8119"/>

+      <details key="end" value="8129"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.572" references="/0/generateModule/%.8/%/%/vars/select/%.1/%.1">

+      <details key="start" value="8146"/>

+      <details key="end" value="8199"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.573" references="/0/generateModule/%.8/%/%/vars/select/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.574" references="/0/generateModule/%.8/%/%/vars/select/%.1/%.1/%/%/%">

+      <details key="start" value="8146"/>

+      <details key="end" value="8188"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.575" references="/0/generateModule/%.8/%/%/vars/select/%.1/%.1/%/%/%/p">

+      <details key="start" value="8146"/>

+      <details key="end" value="8147"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.576" references="/0/generateModule/%.8/%/%/vars/select/%.1/%.1/%/%/%/ClientServerPortQN">

+      <details key="start" value="8169"/>

+      <details key="end" value="8187"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.577" references="/0/generateModule/%.8/%/%/vars/select/p">

+      <details key="start" value="8024"/>

+      <details key="end" value="8036"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.578" references="/0/generateModule/%.8/%/trSet">

+      <details key="start" value="7897"/>

+      <details key="end" value="7962"/>

+      <details key="line" value="159"/>

+    </eAnnotations>

+    <eAnnotations source="positions.579" references="/0/generateModule/%.8/%/trSet/%">

+      <details key="start" value="7924"/>

+      <details key="end" value="7963"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.580" references="/0/generateModule/%.8/%/trSet/%/collect">

+      <details key="start" value="7924"/>

+      <details key="end" value="7954"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.581" references="/0/generateModule/%.8/%/trSet/%/collect/%">

+      <details key="start" value="7924"/>

+      <details key="end" value="7943"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.582" references="/0/generateModule/%.8/%/trSet/%/collect/%/nominalModel">

+      <details key="start" value="7924"/>

+      <details key="end" value="7936"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.583" references="/0/generateModule/%.8/%/trSet/%/collect/%.1">

+      <details key="start" value="7944"/>

+      <details key="end" value="7954"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.584" references="/0/generateModule/%.8/%/trSet/%/collect/%.1/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.585" references="/0/generateModule/%.8/%/trSet/%/collect/temp3">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.586" references="/0/generateModule/%.8/nominalModel">

+      <details key="start" value="7744"/>

+      <details key="end" value="7890"/>

+      <details key="line" value="158"/>

+    </eAnnotations>

+    <eAnnotations source="positions.587" references="/0/generateModule/%.8/nominalModel/any">

+      <details key="start" value="7775"/>

+      <details key="end" value="7891"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.588" references="/0/generateModule/%.8/nominalModel/any/%">

+      <details key="start" value="7775"/>

+      <details key="end" value="7816"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.589" references="/0/generateModule/%.8/nominalModel/any/%/%">

+      <details key="start" value="7775"/>

+      <details key="end" value="7794"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.590" references="/0/generateModule/%.8/nominalModel/any/%/%/block">

+      <details key="start" value="7775"/>

+      <details key="end" value="7780"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.591" references="/0/generateModule/%.8/nominalModel/any/%/%.1">

+      <details key="start" value="7803"/>

+      <details key="end" value="7815"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.592" references="/0/generateModule/%.8/nominalModel/any/%.1">

+      <details key="start" value="7842"/>

+      <details key="end" value="7890"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.593" references="/0/generateModule/%.8/nominalModel/any/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.594" references="/0/generateModule/%.8/nominalModel/any/%.1/%/%/%">

+      <details key="start" value="7842"/>

+      <details key="end" value="7879"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.595" references="/0/generateModule/%.8/nominalModel/any/%.1/%/%/%/sm">

+      <details key="start" value="7842"/>

+      <details key="end" value="7844"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.596" references="/0/generateModule/%.8/nominalModel/any/%.1/%/%/%/ErrorModelQN">

+      <details key="start" value="7866"/>

+      <details key="end" value="7878"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.597" references="/0/generateModule/%.8/nominalModel/any/sm">

+      <details key="start" value="7822"/>

+      <details key="end" value="7839"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.598" references="/0/generateModule/%.9">

+      <details key="start" value="8784"/>

+      <details key="end" value="8798"/>

+      <details key="line" value="185"/>

+    </eAnnotations>

+    <eAnnotations source="positions.599" references="/0/generateModule/%.10">

+      <details key="start" value="8799"/>

+      <details key="end" value="8809"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.600" references="/0/generateModule/%.10/block">

+      <details key="start" value="8799"/>

+      <details key="end" value="8804"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.601" references="/0/generateModule/%.11">

+      <details key="start" value="8811"/>

+      <details key="end" value="8815"/>

+      <details key="line" value="185"/>

+    </eAnnotations>

+    <eAnnotations source="positions.602" references="/0/generateModule/%.12">

+      <details key="start" value="8816"/>

+      <details key="end" value="9206"/>

+      <details key="line" value="186"/>

+    </eAnnotations>

+    <eAnnotations source="positions.603" references="/0/generateModule/%.12/%">

+      <details key="start" value="8893"/>

+      <details key="end" value="9198"/>

+      <details key="line" value="187"/>

+    </eAnnotations>

+    <eAnnotations source="positions.604" references="/0/generateModule/%.12/%/%">

+      <details key="start" value="8926"/>

+      <details key="end" value="9190"/>

+      <details key="line" value="188"/>

+    </eAnnotations>

+    <eAnnotations source="positions.605" references="/0/generateModule/%.12/%/%/%">

+      <details key="start" value="8968"/>

+      <details key="end" value="9183"/>

+      <details key="line" value="189"/>

+    </eAnnotations>

+    <eAnnotations source="positions.606" references="/0/generateModule/%.12/%/%/%/%">

+      <details key="start" value="9044"/>

+      <details key="end" value="9176"/>

+      <details key="line" value="190"/>

+    </eAnnotations>

+    <eAnnotations source="positions.607" references="/0/generateModule/%.12/%/%/%/%/%">

+      <details key="start" value="9112"/>

+      <details key="end" value="9165"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.608" references="/0/generateModule/%.12/%/%/%/%/%/newblock">

+      <details key="start" value="9127"/>

+      <details key="end" value="9135"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.609" references="/0/generateModule/%.12/%/%/%/%/%/allBlocks">

+      <details key="start" value="9137"/>

+      <details key="end" value="9146"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.610" references="/0/generateModule/%.12/%/%/%/%/%/generated">

+      <details key="start" value="9148"/>

+      <details key="end" value="9157"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.611" references="/0/generateModule/%.12/%/%/%/%/%/%">

+      <details key="start" value="9159"/>

+      <details key="end" value="9164"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.612" references="/0/generateModule/%.12/%/%/%/%/%.1">

+      <details key="start" value="9167"/>

+      <details key="end" value="9168"/>

+      <details key="line" value="192"/>

+    </eAnnotations>

+    <eAnnotations source="positions.613" references="/0/generateModule/%.12/%/%/%/%/newblock">

+      <details key="start" value="9049"/>

+      <details key="end" value="9109"/>

+      <details key="line" value="190"/>

+    </eAnnotations>

+    <eAnnotations source="positions.614" references="/0/generateModule/%.12/%/%/%/%/newblock/any">

+      <details key="start" value="9069"/>

+      <details key="end" value="9110"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.615" references="/0/generateModule/%.12/%/%/%/%/newblock/any/allBlocks">

+      <details key="start" value="9069"/>

+      <details key="end" value="9078"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.616" references="/0/generateModule/%.12/%/%/%/%/newblock/any/%">

+      <details key="start" value="9096"/>

+      <details key="end" value="9109"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.617" references="/0/generateModule/%.12/%/%/%/%/newblock/any/%/%">

+      <details key="start" value="9096"/>

+      <details key="end" value="9105"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.618" references="/0/generateModule/%.12/%/%/%/%/newblock/any/%/%/part">

+      <details key="start" value="9096"/>

+      <details key="end" value="9100"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.619" references="/0/generateModule/%.12/%/%/%/%/newblock/any/%/c">

+      <details key="start" value="9108"/>

+      <details key="end" value="9109"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.620" references="/0/generateModule/%.12/%/%/%/%/newblock/any/c">

+      <details key="start" value="9084"/>

+      <details key="end" value="9093"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.621" references="/0/generateModule/%.12/%/%/%/%.1">

+      <details key="start" value="8972"/>

+      <details key="end" value="9040"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.622" references="/0/generateModule/%.12/%/%/%/%.1/%">

+      <details key="start" value="8973"/>

+      <details key="end" value="8985"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.623" references="/0/generateModule/%.12/%/%/%/%.1/%/part">

+      <details key="start" value="8980"/>

+      <details key="end" value="8984"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.624" references="/0/generateModule/%.12/%/%/%/%.1/%.1">

+      <details key="start" value="8990"/>

+      <details key="end" value="9039"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.625" references="/0/generateModule/%.12/%/%/%/%.1/%.1/%">

+      <details key="start" value="8994"/>

+      <details key="end" value="9039"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.626" references="/0/generateModule/%.12/%/%/%/%.1/%.1/%/%">

+      <details key="start" value="9013"/>

+      <details key="end" value="9027"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.627" references="/0/generateModule/%.12/%/%/%/%.1/%.1/%/%/%">

+      <details key="start" value="9013"/>

+      <details key="end" value="9022"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.628" references="/0/generateModule/%.12/%/%/%/%.1/%.1/%/%/%/part">

+      <details key="start" value="9013"/>

+      <details key="end" value="9017"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.629" references="/0/generateModule/%.12/%/%/%/%.1/%.1/%/generated">

+      <details key="start" value="9029"/>

+      <details key="end" value="9038"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.630" references="/0/generateModule/%.12/%/%/%.1">

+      <details key="start" value="8930"/>

+      <details key="end" value="8965"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.631" references="/0/generateModule/%.12/%/%/%.1/%">

+      <details key="start" value="8935"/>

+      <details key="end" value="8964"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.632" references="/0/generateModule/%.12/%/%/%.1/%/%">

+      <details key="start" value="8935"/>

+      <details key="end" value="8949"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.633" references="/0/generateModule/%.12/%/%/%.1/%/%/%">

+      <details key="start" value="8935"/>

+      <details key="end" value="8944"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.634" references="/0/generateModule/%.12/%/%/%.1/%/%/%/part">

+      <details key="start" value="8935"/>

+      <details key="end" value="8939"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.635" references="/0/generateModule/%.12/%/part">

+      <details key="start" value="8899"/>

+      <details key="end" value="8914"/>

+      <details key="line" value="187"/>

+    </eAnnotations>

+    <eAnnotations source="positions.636" references="/0/generateModule/%.12/%/parts">

+      <details key="start" value="8917"/>

+      <details key="end" value="8922"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.637" references="/0/generateModule/%.12/parts">

+      <details key="start" value="8821"/>

+      <details key="end" value="8890"/>

+      <details key="line" value="186"/>

+    </eAnnotations>

+    <eAnnotations source="positions.638" references="/0/generateModule/%.12/parts/%">

+      <details key="start" value="8853"/>

+      <details key="end" value="8891"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.639" references="/0/generateModule/%.12/parts/%/%">

+      <details key="start" value="8853"/>

+      <details key="end" value="8873"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.640" references="/0/generateModule/%.12/parts/%/%/block">

+      <details key="start" value="8853"/>

+      <details key="end" value="8858"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.641" references="/0/generateModule/%.12/parts/%/%.1">

+      <details key="start" value="8882"/>

+      <details key="end" value="8890"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.642" references="/0/generateModule/block">

+      <details key="start" value="2490"/>

+      <details key="end" value="2503"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.643" references="/0/generateModule/allBlocks">

+      <details key="start" value="2505"/>

+      <details key="end" value="2527"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.644" references="/0/generateModule/generated">

+      <details key="start" value="2529"/>

+      <details key="end" value="2552"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.645" references="/0/generateModule/isSystem">

+      <details key="start" value="2554"/>

+      <details key="end" value="2571"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.646" references="/0/getTransitionTarget">

+      <details key="start" value="9220"/>

+      <details key="end" value="9448"/>

+      <details key="line" value="199"/>

+    </eAnnotations>

+    <eAnnotations source="positions.647" references="/0/getTransitionTarget/name">

+      <details key="start" value="9254"/>

+      <details key="end" value="9267"/>

+      <details key="line" value="199"/>

+    </eAnnotations>

+    <eAnnotations source="positions.648" references="/0/getTransitionTarget/str">

+      <details key="start" value="9269"/>

+      <details key="end" value="9281"/>

+      <details key="line" value="199"/>

+    </eAnnotations>

+    <eAnnotations source="positions.649" references="/0/getTransitionTarget/%">

+      <details key="start" value="9295"/>

+      <details key="end" value="9445"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.650" references="/0/getTransitionTarget/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.651" references="/0/getTransitionTarget/%/%">

+      <details key="start" value="9302"/>

+      <details key="end" value="9364"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.652" references="/0/getTransitionTarget/%/%.1">

+      <details key="start" value="9366"/>

+      <details key="end" value="9423"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.653" references="/0/getTransitionTarget/%/%.2">

+      <details key="start" value="9425"/>

+      <details key="end" value="9444"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.654" references="/0/getTransitionTarget/%/%.2/%/name">

+      <details key="start" value="9434"/>

+      <details key="end" value="9438"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.655" references="/0/getTransitionTarget/%/%.2/%.1/str">

+      <details key="start" value="9440"/>

+      <details key="end" value="9443"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.656" references="/0/getType">

+      <details key="start" value="9450"/>

+      <details key="end" value="9626"/>

+      <details key="line" value="202"/>

+    </eAnnotations>

+    <eAnnotations source="positions.657" references="/0/getType/type">

+      <details key="start" value="9472"/>

+      <details key="end" value="9483"/>

+      <details key="line" value="202"/>

+    </eAnnotations>

+    <eAnnotations source="positions.658" references="/0/getType/%">

+      <details key="start" value="9496"/>

+      <details key="end" value="9624"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.659" references="/0/getType/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.660" references="/0/getType/%/%">

+      <details key="start" value="9503"/>

+      <details key="end" value="9565"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.661" references="/0/getType/%/%.1">

+      <details key="start" value="9567"/>

+      <details key="end" value="9607"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.662" references="/0/getType/%/%.2">

+      <details key="start" value="9609"/>

+      <details key="end" value="9623"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.663" references="/0/getType/%/%.2/%/type">

+      <details key="start" value="9618"/>

+      <details key="end" value="9622"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.664" references="/0/getInitCondition">

+      <details key="start" value="9628"/>

+      <details key="end" value="9831"/>

+      <details key="line" value="205"/>

+    </eAnnotations>

+    <eAnnotations source="positions.665" references="/0/getInitCondition/sm">

+      <details key="start" value="9659"/>

+      <details key="end" value="9676"/>

+      <details key="line" value="205"/>

+    </eAnnotations>

+    <eAnnotations source="positions.666" references="/0/getInitCondition/%">

+      <details key="start" value="9690"/>

+      <details key="end" value="9828"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.667" references="/0/getInitCondition/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.668" references="/0/getInitCondition/%/%">

+      <details key="start" value="9697"/>

+      <details key="end" value="9759"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.669" references="/0/getInitCondition/%/%.1">

+      <details key="start" value="9760"/>

+      <details key="end" value="9813"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.670" references="/0/getInitCondition/%/%.2">

+      <details key="start" value="9815"/>

+      <details key="end" value="9827"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.671" references="/0/getInitCondition/%/%.2/%/sm">

+      <details key="start" value="9824"/>

+      <details key="end" value="9826"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.672" references="/0/getPropertyAffectedByTransition">

+      <details key="start" value="9835"/>

+      <details key="end" value="10060"/>

+      <details key="line" value="210"/>

+    </eAnnotations>

+    <eAnnotations source="positions.673" references="/0/getPropertyAffectedByTransition/t">

+      <details key="start" value="9881"/>

+      <details key="end" value="9894"/>

+      <details key="line" value="210"/>

+    </eAnnotations>

+    <eAnnotations source="positions.674" references="/0/getPropertyAffectedByTransition/%">

+      <details key="start" value="9907"/>

+      <details key="end" value="10057"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.675" references="/0/getPropertyAffectedByTransition/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.676" references="/0/getPropertyAffectedByTransition/%/%">

+      <details key="start" value="9914"/>

+      <details key="end" value="9976"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.677" references="/0/getPropertyAffectedByTransition/%/%.1">

+      <details key="start" value="9977"/>

+      <details key="end" value="10043"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.678" references="/0/getPropertyAffectedByTransition/%/%.2">

+      <details key="start" value="10045"/>

+      <details key="end" value="10056"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.679" references="/0/getPropertyAffectedByTransition/%/%.2/%/t">

+      <details key="start" value="10054"/>

+      <details key="end" value="10055"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.680" references="/0/getEffectOnProperty">

+      <details key="start" value="10062"/>

+      <details key="end" value="10321"/>

+      <details key="line" value="213"/>

+    </eAnnotations>

+    <eAnnotations source="positions.681" references="/0/getEffectOnProperty/sm">

+      <details key="start" value="10096"/>

+      <details key="end" value="10111"/>

+      <details key="line" value="213"/>

+    </eAnnotations>

+    <eAnnotations source="positions.682" references="/0/getEffectOnProperty/propertyName">

+      <details key="start" value="10113"/>

+      <details key="end" value="10132"/>

+      <details key="line" value="213"/>

+    </eAnnotations>

+    <eAnnotations source="positions.683" references="/0/getEffectOnProperty/%">

+      <details key="start" value="10145"/>

+      <details key="end" value="10318"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.684" references="/0/getEffectOnProperty/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.685" references="/0/getEffectOnProperty/%/%">

+      <details key="start" value="10152"/>

+      <details key="end" value="10214"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.686" references="/0/getEffectOnProperty/%/%.1">

+      <details key="start" value="10215"/>

+      <details key="end" value="10289"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.687" references="/0/getEffectOnProperty/%/%.2">

+      <details key="start" value="10291"/>

+      <details key="end" value="10317"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.688" references="/0/getEffectOnProperty/%/%.2/%/sm">

+      <details key="start" value="10300"/>

+      <details key="end" value="10302"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.689" references="/0/getEffectOnProperty/%/%.2/%.1/propertyName">

+      <details key="start" value="10304"/>

+      <details key="end" value="10316"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.690" references="/0/getModuleFormalParameter">

+      <details key="start" value="10323"/>

+      <details key="end" value="10533"/>

+      <details key="line" value="216"/>

+    </eAnnotations>

+    <eAnnotations source="positions.691" references="/0/getModuleFormalParameter/block">

+      <details key="start" value="10362"/>

+      <details key="end" value="10375"/>

+      <details key="line" value="216"/>

+    </eAnnotations>

+    <eAnnotations source="positions.692" references="/0/getModuleFormalParameter/%">

+      <details key="start" value="10388"/>

+      <details key="end" value="10530"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.693" references="/0/getModuleFormalParameter/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.694" references="/0/getModuleFormalParameter/%/%">

+      <details key="start" value="10395"/>

+      <details key="end" value="10457"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.695" references="/0/getModuleFormalParameter/%/%.1">

+      <details key="start" value="10458"/>

+      <details key="end" value="10512"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.696" references="/0/getModuleFormalParameter/%/%.2">

+      <details key="start" value="10514"/>

+      <details key="end" value="10529"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.697" references="/0/getModuleFormalParameter/%/%.2/%/block">

+      <details key="start" value="10523"/>

+      <details key="end" value="10528"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.698" references="/0/getModuleInstanceActualParameter">

+      <details key="start" value="10535"/>

+      <details key="end" value="10815"/>

+      <details key="line" value="219"/>

+    </eAnnotations>

+    <eAnnotations source="positions.699" references="/0/getModuleInstanceActualParameter/block">

+      <details key="start" value="10582"/>

+      <details key="end" value="10595"/>

+      <details key="line" value="219"/>

+    </eAnnotations>

+    <eAnnotations source="positions.700" references="/0/getModuleInstanceActualParameter/prop">

+      <details key="start" value="10597"/>

+      <details key="end" value="10612"/>

+      <details key="line" value="219"/>

+    </eAnnotations>

+    <eAnnotations source="positions.701" references="/0/getModuleInstanceActualParameter/%">

+      <details key="start" value="10625"/>

+      <details key="end" value="10812"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.702" references="/0/getModuleInstanceActualParameter/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.703" references="/0/getModuleInstanceActualParameter/%/%">

+      <details key="start" value="10632"/>

+      <details key="end" value="10694"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.704" references="/0/getModuleInstanceActualParameter/%/%.1">

+      <details key="start" value="10695"/>

+      <details key="end" value="10788"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.705" references="/0/getModuleInstanceActualParameter/%/%.2">

+      <details key="start" value="10790"/>

+      <details key="end" value="10811"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.706" references="/0/getModuleInstanceActualParameter/%/%.2/%/block">

+      <details key="start" value="10799"/>

+      <details key="end" value="10804"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.707" references="/0/getModuleInstanceActualParameter/%/%.2/%.1/prop">

+      <details key="start" value="10806"/>

+      <details key="end" value="10810"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.708" references="/0/getTypeNameForProperty">

+      <details key="start" value="10817"/>

+      <details key="end" value="11027"/>

+      <details key="line" value="222"/>

+    </eAnnotations>

+    <eAnnotations source="positions.709" references="/0/getTypeNameForProperty/prop">

+      <details key="start" value="10854"/>

+      <details key="end" value="10869"/>

+      <details key="line" value="222"/>

+    </eAnnotations>

+    <eAnnotations source="positions.710" references="/0/getTypeNameForProperty/%">

+      <details key="start" value="10882"/>

+      <details key="end" value="11024"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.711" references="/0/getTypeNameForProperty/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.712" references="/0/getTypeNameForProperty/%/%">

+      <details key="start" value="10889"/>

+      <details key="end" value="10951"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.713" references="/0/getTypeNameForProperty/%/%.1">

+      <details key="start" value="10952"/>

+      <details key="end" value="11007"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.714" references="/0/getTypeNameForProperty/%/%.2">

+      <details key="start" value="11009"/>

+      <details key="end" value="11023"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.715" references="/0/getTypeNameForProperty/%/%.2/%/prop">

+      <details key="start" value="11018"/>

+      <details key="end" value="11022"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+  </ecore:EAnnotation>

+</xmi:XMI>

diff --git a/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateFaultExtensions.emtl b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateFaultExtensions.emtl
new file mode 100644
index 0000000..9a39d25
--- /dev/null
+++ b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateFaultExtensions.emtl
@@ -0,0 +1,3119 @@
+<?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="generateFaultExtensions" nsURI="org::polarsys::chess::contracts::transformations::main::generateFaultExtensions" startHeaderPosition="699" endHeaderPosition="1554">

+    <input>

+      <takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>

+    </input>

+    <ownedModuleElement xsi:type="mtl:Template" name="generateFaultExtensions" visibility="Public" main="true">

+      <init>

+        <variable name="ErrorModelQN">

+          <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="CHESS::Dependability::ThreatsPropagation::ErrorModel">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="ErrorQN">

+          <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="CHESS::Dependability::ThreatsPropagation::ErrorState">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="StuckAtQN">

+          <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="CHESS::Dependability::ThreatsPropagation::StuckAt">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="StuckAtFixedQN">

+          <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="CHESS::Dependability::ThreatsPropagation::StuckAtFixed">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="InvertedQN">

+          <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="CHESS::Dependability::ThreatsPropagation::Inverted">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="RampDownQN">

+          <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="CHESS::Dependability::ThreatsPropagation::RampDown">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="InternalFaultQN">

+          <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="CHESS::Dependability::ThreatsPropagation::InternalFault">

+            <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+          </initExpression>

+        </variable>

+        <variable name="ExternalFaultQN">

+          <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="CHESS::Dependability::ThreatsPropagation::InternalPropagation">

+            <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="mtl:FileBlock" openMode="OverWrite">

+        <body xsi:type="mtl:LetBlock">

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&lt;fault_extension_info name=&quot;"/>

+          <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="system" referredVariable="/0/generateFaultExtensions/%/%/system">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            </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="&quot; desc=&quot;Generated by CHESS&quot; smv_file=&quot;"/>

+          <body 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: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: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:VariableExp" name="model" referredVariable="/0/generateFaultExtensions/model">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                  </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="_">

+                  <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"/>

+              </source>

+              <argument xsi:type="ocl.ecore:VariableExp" name="sysName" referredVariable="/0/generateFaultExtensions/sysName">

+                <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"/>

+            </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"/>

+          </body>

+          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;>&#xA;  &lt;extensions>&#xA;"/>

+          <body xsi:type="mtl:LetBlock">

+            <body xsi:type="mtl:LetBlock">

+              <body xsi:type="mtl:LetBlock">

+                <body xsi:type="mtl:ForBlock">

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="    &lt;nominal_component_extensions module=&quot;"/>

+                  <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="cl" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/cl">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </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="&quot;>&#xA;      &lt;fault_models>&#xA;"/>

+                  <body xsi:type="mtl:ForBlock">

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="        &lt;fault_model name=&quot;"/>

+                    <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="errorModel" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/errorModel">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                      </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="&quot;>&#xA;          &lt;fault_modes>&#xA;"/>

+                    <body xsi:type="mtl:ForBlock">

+                      <body xsi:type="mtl:LetBlock">

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="            &lt;fault_mode enabled=&quot;yes&quot; probability=&quot;"/>

+                        <body xsi:type="ocl.ecore:OperationCallExp">

+                          <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                          </source>

+                          <argument xsi:type="ocl.ecore:VariableExp" name="errorStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/errorStereo">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                          </argument>

+                          <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="probability">

+                            <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/getValue"/>

+                        </body>

+                        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;>&#xA;              &lt;user_info>&#xA;                &lt;name>"/>

+                        <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                          </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="&lt;/name>&#xA;                &lt;desc>&lt;/desc>&#xA;              &lt;/user_info>&#xA;"/>

+                        <body xsi:type="mtl:IfBlock">

+                          <body xsi:type="mtl:LetBlock">

+                            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="              &lt;effects_model name=&quot;StuckAtByReference_D&quot; desc=&quot;&quot;>&#xA;                &lt;values>&#xA;                  &lt;input reads=&quot;term&quot; value=&quot;"/>

+                            <body xsi:type="ocl.ecore:OperationCallExp">

+                              <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                              </source>

+                              <argument xsi:type="ocl.ecore:VariableExp" name="stuckAtStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/stuckAtStereo">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                              </argument>

+                              <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="value">

+                                <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/getValue"/>

+                            </body>

+                            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;/>&#xA;"/>

+                            <body xsi:type="mtl:LetBlock">

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                  &lt;output writes=&quot;varout&quot; reads=&quot;input&quot; binds=&quot;"/>

+                              <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/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="&quot; type=&quot;"/>

+                              <body xsi:type="mtl:QueryInvocation" definition="/0/getTypeNameForProperty">

+                                <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="prop" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                </argument>

+                              </body>

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;/>&#xA;"/>

+                              <letVariable name="prop">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                  <source xsi:type="ocl.ecore:OperationCallExp">

+                                    <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:VariableExp" name="stuckAtStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/stuckAtStereo">

+                                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                    </argument>

+                                    <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="property">

+                                      <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/getValue"/>

+                                  </source>

+                                  <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Property">

+                                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                  </argument>

+                                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                                </initExpression>

+                              </letVariable>

+                            </body>

+                            <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                &lt;/values>&#xA;              &lt;/effects_model>&#xA;"/>

+                            <letVariable name="stuckAtStereo">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                              <initExpression 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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                </source>

+                                <argument xsi:type="ocl.ecore:VariableExp" name="StuckAtQN" referredVariable="/0/generateFaultExtensions/@init/@variable.2">

+                                  <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"/>

+                              </initExpression>

+                            </letVariable>

+                          </body>

+                          <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:CollectionLiteralExp" eType="/19/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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                  </source>

+                                  <argument xsi:type="ocl.ecore:VariableExp" name="StuckAtQN" referredVariable="/0/generateFaultExtensions/@init/@variable.2">

+                                    <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/notEmpty"/>

+                          </ifExpr>

+                          <elseIf>

+                            <body xsi:type="mtl:LetBlock">

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;  &lt;effects_model name=&quot;Inverted&quot; desc=&quot;&quot;>&#xA;                &lt;values>&#xA;"/>

+                              <body xsi:type="mtl:LetBlock">

+                                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                  &lt;output writes=&quot;varout&quot; reads=&quot;input&quot; binds=&quot;"/>

+                                <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/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="&quot; type=&quot;"/>

+                                <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/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="&quot;/>&#xA;"/>

+                                <letVariable name="prop">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                  <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                    <source xsi:type="ocl.ecore:OperationCallExp">

+                                      <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                      </source>

+                                      <argument xsi:type="ocl.ecore:VariableExp" name="invertedStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/invertedStereo">

+                                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                      </argument>

+                                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="property">

+                                        <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/getValue"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Property">

+                                      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                    </argument>

+                                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                                  </initExpression>

+                                </letVariable>

+                              </body>

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                &lt;/values>&#xA;              &lt;/effects_model>&#xA;"/>

+                              <letVariable name="invertedStereo">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                <initExpression 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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                  </source>

+                                  <argument xsi:type="ocl.ecore:VariableExp" name="InvertedQN" referredVariable="/0/generateFaultExtensions/@init/@variable.4">

+                                    <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"/>

+                                </initExpression>

+                              </letVariable>

+                            </body>

+                            <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:CollectionLiteralExp" eType="/19/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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:VariableExp" name="InvertedQN" referredVariable="/0/generateFaultExtensions/@init/@variable.4">

+                                      <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/notEmpty"/>

+                            </ifExpr>

+                          </elseIf>

+                          <elseIf>

+                            <body xsi:type="mtl:LetBlock">

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;  &lt;effects_model name=&quot;StuckAtFixed&quot; desc=&quot;&quot;>&#xA;                &lt;values>&#xA;"/>

+                              <body xsi:type="mtl:LetBlock">

+                                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                  &lt;output writes=&quot;varout&quot; reads=&quot;input&quot; binds=&quot;"/>

+                                <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/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="&quot; type=&quot;"/>

+                                <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/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="&quot;/>&#xA;"/>

+                                <letVariable name="prop">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                  <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                    <source xsi:type="ocl.ecore:OperationCallExp">

+                                      <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                      </source>

+                                      <argument xsi:type="ocl.ecore:VariableExp" name="stuckAtFixedStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/stuckAtFixedStereo">

+                                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                      </argument>

+                                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="property">

+                                        <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/getValue"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Property">

+                                      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                    </argument>

+                                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                                  </initExpression>

+                                </letVariable>

+                              </body>

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                &lt;/values>&#xA;              &lt;/effects_model>&#xA;"/>

+                              <letVariable name="stuckAtFixedStereo">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                <initExpression 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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                  </source>

+                                  <argument xsi:type="ocl.ecore:VariableExp" name="InvertedQN" referredVariable="/0/generateFaultExtensions/@init/@variable.4">

+                                    <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"/>

+                                </initExpression>

+                              </letVariable>

+                            </body>

+                            <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:CollectionLiteralExp" eType="/19/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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:VariableExp" name="StuckAtFixedQN" referredVariable="/0/generateFaultExtensions/@init/@variable.3">

+                                      <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/notEmpty"/>

+                            </ifExpr>

+                          </elseIf>

+                          <elseIf>

+                            <body xsi:type="mtl:LetBlock">

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;&#x9;  &lt;effects_model name=&quot;RampDown&quot; desc=&quot;&quot;>&#xA;                &lt;values>&#xA;&#x9;&#x9;&#x9;&#x9;  &lt;input reads=&quot;decr&quot; value=&quot;"/>

+                              <body xsi:type="ocl.ecore:OperationCallExp">

+                                <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                </source>

+                                <argument xsi:type="ocl.ecore:VariableExp" name="rampDownStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                </argument>

+                                <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="decr">

+                                  <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/getValue"/>

+                              </body>

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;/>&#xA;                  &lt;input reads=&quot;end_value&quot; value=&quot;"/>

+                              <body xsi:type="ocl.ecore:OperationCallExp">

+                                <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                </source>

+                                <argument xsi:type="ocl.ecore:VariableExp" name="rampDownStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                </argument>

+                                <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="endValue">

+                                  <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/getValue"/>

+                              </body>

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;/>&#xA;"/>

+                              <body xsi:type="mtl:LetBlock">

+                                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                  &lt;output writes=&quot;varout&quot; reads=&quot;input&quot; binds=&quot;"/>

+                                <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/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="&quot; type=&quot;"/>

+                                <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/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/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="&quot;/>&#xA;"/>

+                                <letVariable name="prop">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                  <initExpression xsi:type="ocl.ecore:OperationCallExp">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                    <source xsi:type="ocl.ecore:OperationCallExp">

+                                      <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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                      </source>

+                                      <argument xsi:type="ocl.ecore:VariableExp" name="rampDownStereo" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo">

+                                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                      </argument>

+                                      <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="property">

+                                        <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/getValue"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Property">

+                                      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                                    </argument>

+                                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                                  </initExpression>

+                                </letVariable>

+                              </body>

+                              <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="                &lt;/values>&#xA;              &lt;/effects_model>&#xA;"/>

+                              <letVariable name="rampDownStereo">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                                <initExpression 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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                  </source>

+                                  <argument xsi:type="ocl.ecore:VariableExp" name="InvertedQN" referredVariable="/0/generateFaultExtensions/@init/@variable.4">

+                                    <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"/>

+                                </initExpression>

+                              </letVariable>

+                            </body>

+                            <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:CollectionLiteralExp" eType="/19/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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                    </source>

+                                    <argument xsi:type="ocl.ecore:VariableExp" name="RampDownQN" referredVariable="/0/generateFaultExtensions/@init/@variable.5">

+                                      <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/notEmpty"/>

+                            </ifExpr>

+                          </elseIf>

+                        </body>

+                        <body xsi:type="mtl:LetBlock">

+                          <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="              &lt;local_dynamics_model name=&quot;Permanent&quot; desc=&quot;&quot;>&#xA;                &lt;events>&#xA;                  &lt;event type=&quot;output&quot; name=&quot;failure&quot; connected=&quot;no&quot;/>&#xA;                &lt;/events>&#xA;              &lt;/local_dynamics_model>&#xA;"/>

+                          <letVariable name="tr">

+                            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                            <initExpression xsi:type="ocl.ecore:IteratorExp" name="any">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                              <source xsi:type="ocl.ecore:PropertyCallExp" eType="/19/Set(Transition)">

+                                <source xsi:type="ocl.ecore:VariableExp" name="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                </source>

+                                <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Vertex/incoming"/>

+                              </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:CollectionLiteralExp" eType="/19/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="fault" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/fault">

+                                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                                        </source>

+                                        <argument xsi:type="ocl.ecore:VariableExp" name="InternalFaultQN" referredVariable="/0/generateFaultExtensions/@init/@variable.6">

+                                          <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/notEmpty"/>

+                                </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:CollectionLiteralExp" eType="/19/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="fault" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/fault">

+                                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                                        </source>

+                                        <argument xsi:type="ocl.ecore:VariableExp" name="ExternalFaultQN" referredVariable="/0/generateFaultExtensions/@init/@variable.7">

+                                          <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/notEmpty"/>

+                                </argument>

+                                <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/or"/>

+                              </body>

+                              <iterator xsi:type="ocl.ecore:Variable" name="fault">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Transition"/>

+                              </iterator>

+                            </initExpression>

+                          </letVariable>

+                        </body>

+                        <letVariable name="errorStereo">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>

+                          <initExpression 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="errorState" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+                              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                            </source>

+                            <argument xsi:type="ocl.ecore:VariableExp" name="ErrorQN" referredVariable="/0/generateFaultExtensions/@init/@variable.1">

+                              <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"/>

+                          </initExpression>

+                        </letVariable>

+                      </body>

+                      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="            &lt;/fault_mode>&#xA;"/>

+                      <loopVariable name="errorState">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                      </loopVariable>

+                      <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/19/Bag(State)">

+                        <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Bag(State)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                          <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/19/Bag(Vertex)">

+                            <source xsi:type="ocl.ecore:PropertyCallExp" eType="/19/Set(Region)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="errorModel" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/errorModel">

+                                <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="/19/Set(Vertex)">

+                              <source xsi:type="ocl.ecore:VariableExp" name="temp1" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/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="/20/State">

+                            <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                          </argument>

+                        </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="/19/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="error" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/error">

+                                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                                </source>

+                                <argument xsi:type="ocl.ecore:VariableExp" name="ErrorQN" referredVariable="/0/generateFaultExtensions/@init/@variable.1">

+                                  <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/notEmpty"/>

+                        </body>

+                        <iterator xsi:type="ocl.ecore:Variable" name="error">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+                        </iterator>

+                      </iterSet>

+                    </body>

+                    <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="          &lt;/fault_modes>&#xA;        &lt;/fault_model>&#xA;"/>

+                    <loopVariable name="errorModel">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                    </loopVariable>

+                    <iterSet xsi:type="ocl.ecore:IteratorExp" name="select" eType="/19/Set(StateMachine)">

+                      <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(StateMachine)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:PropertyCallExp" eType="/19/Set(Behavior)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/cl">

+                            <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#//BehavioredClassifier/ownedBehavior"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/StateMachine">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                        </argument>

+                      </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="/19/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="sm" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/sm">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                              </source>

+                              <argument xsi:type="ocl.ecore:VariableExp" name="ErrorModelQN" referredVariable="/0/generateFaultExtensions/@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/notEmpty"/>

+                      </body>

+                      <iterator xsi:type="ocl.ecore:Variable" name="sm">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                      </iterator>

+                    </iterSet>

+                  </body>

+                  <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="      &lt;/fault_models>&#xA;    &lt;/nominal_component_extensions>&#xA;"/>

+                  <loopVariable name="cl">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  </loopVariable>

+                  <iterSet xsi:type="ocl.ecore:VariableExp" name="nominalComponents" eType="/19/Set(Class)" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents"/>

+                </body>

+                <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="  &lt;/extensions>&#xA;&lt;/fault_extension_info>&#xA;"/>

+                <letVariable name="nominalComponents" eType="/19/Set(Class)">

+                  <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/19/Set(Class)">

+                    <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(Class)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                      <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(Element)">

+                        <source xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/generateFaultExtensions/model">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                        </source>

+                        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Class">

+                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </argument>

+                    </source>

+                    <body xsi:type="ocl.ecore:IteratorExp" name="exists">

+                      <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="/19/Set(StateMachine)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                        <source xsi:type="ocl.ecore:PropertyCallExp" eType="/19/Set(Behavior)">

+                          <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/cl">

+                            <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#//BehavioredClassifier/ownedBehavior"/>

+                        </source>

+                        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/StateMachine">

+                          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                        </argument>

+                      </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="/19/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="sm" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/sm">

+                                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                              </source>

+                              <argument xsi:type="ocl.ecore:VariableExp" name="ErrorModelQN" referredVariable="/0/generateFaultExtensions/@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/notEmpty"/>

+                      </body>

+                      <iterator xsi:type="ocl.ecore:Variable" name="sm">

+                        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+                      </iterator>

+                    </body>

+                    <iterator xsi:type="ocl.ecore:Variable" name="cl">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </iterator>

+                  </initExpression>

+                </letVariable>

+              </body>

+              <letVariable name="systemClasses" eType="/19/Set(Class)">

+                <initExpression xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(Class)">

+                  <source xsi:type="ocl.ecore:IteratorExp" name="collect" eType="/19/Bag(Class)">

+                    <source xsi:type="ocl.ecore:VariableExp" name="systemProps" eType="/19/Set(Property)" referredVariable="/0/generateFaultExtensions/%/%/%.5/systemProps"/>

+                    <body xsi:type="ocl.ecore:OperationCallExp">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      <source 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="pr" referredVariable="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/pr">

+                          <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"/>

+                      </source>

+                      <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Class">

+                        <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                      </argument>

+                      <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+                    </body>

+                    <iterator xsi:type="ocl.ecore:Variable" name="pr">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                    </iterator>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Bag(T)_Class/asSet"/>

+                </initExpression>

+              </letVariable>

+            </body>

+            <letVariable name="systemProps" eType="/19/Set(Property)">

+              <initExpression xsi:type="ocl.ecore:IteratorExp" name="select" eType="/19/Set(Property)">

+                <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(Property)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                  <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(Element)">

+                    <source xsi:type="ocl.ecore:VariableExp" name="system" referredVariable="/0/generateFaultExtensions/%/%/system">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                    </source>

+                    <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Property">

+                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                  </argument>

+                </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: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/generateFaultExtensions/%/%/%.5/systemProps/select/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"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Class">

+                    <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+                  </argument>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/>

+                </body>

+                <iterator xsi:type="ocl.ecore:Variable" name="prop">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+                </iterator>

+              </initExpression>

+            </letVariable>

+          </body>

+          <letVariable name="system">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+            <initExpression xsi:type="mtl:QueryInvocation" definition="/0/getSystem">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+              <argument xsi:type="ocl.ecore:VariableExp" name="model" referredVariable="/0/generateFaultExtensions/model">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+              </argument>

+              <argument xsi:type="ocl.ecore:VariableExp" name="sysQN" referredVariable="/0/generateFaultExtensions/sysQN">

+                <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+              </argument>

+            </initExpression>

+          </letVariable>

+        </body>

+        <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: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: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:VariableExp" name="model" referredVariable="/0/generateFaultExtensions/model">

+                  <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                </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="_">

+                <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"/>

+            </source>

+            <argument xsi:type="ocl.ecore:VariableExp" name="sysName" referredVariable="/0/generateFaultExtensions/sysName">

+              <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"/>

+          </source>

+          <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".fei">

+            <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="model">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </parameter>

+      <parameter name="sysQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="sysName">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <parameter name="filename">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+    </ownedModuleElement>

+    <ownedModuleElement xsi:type="mtl:Query" name="getSystem" visibility="Public">

+      <parameter name="model">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </parameter>

+      <parameter name="sysQN">

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+      </parameter>

+      <expression xsi:type="ocl.ecore:OperationCallExp">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        <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:OperationCallExp" eType="/19/Sequence(NamedElement)">

+            <source xsi:type="ocl.ecore:IteratorExp" name="select" eType="/19/Set(NamedElement)">

+              <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(NamedElement)" referredOperation="/1/oclstdlib_Collection(T)_Class/filter">

+                <source xsi:type="ocl.ecore:OperationCallExp" eType="/19/Set(Element)">

+                  <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/67">

+                    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/allOwnedElements"/>

+                </source>

+                <argument xsi:type="ocl.ecore:TypeExp" eType="/20/NamedElement">

+                  <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+                </argument>

+              </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:CollectionLiteralExp" eType="/19/Set(String)">

+                    <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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                      <item 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="elem" referredVariable="/0/getSystem/%/%/%/select/elem">

+                          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+                        </source>

+                        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>

+                      </item>

+                    </part>

+                  </source>

+                  <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/notEmpty"/>

+                </source>

+                <argument xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/oclstdlib_String_Class/equalsIgnoreCase">

+                  <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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                    <source xsi:type="ocl.ecore:VariableExp" name="elem" referredVariable="/0/getSystem/%/%/%/select/elem">

+                      <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+                    </source>

+                    <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/qualifiedName"/>

+                  </source>

+                  <argument xsi:type="ocl.ecore:VariableExp" name="sysQN" referredVariable="/0/getSystem/sysQN">

+                    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+                  </argument>

+                </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="elem">

+                <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+              </iterator>

+            </source>

+            <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Set(T)_Class/asSequence"/>

+          </source>

+          <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/first"/>

+        </source>

+        <argument xsi:type="ocl.ecore:TypeExp" eType="/20/Class">

+          <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        </argument>

+        <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>

+      </expression>

+      <type xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </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="/70">

+          <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="/19/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="getTypeNameForProperty" visibility="Public">

+      <parameter name="prop">

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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="/73">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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="getTypeNameForProperty(org.eclipse.uml2.uml.Property)">

+          <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="/19/Sequence(Property)" kind="Sequence">

+          <part xsi:type="ocl.ecore:CollectionItem">

+            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            <item xsi:type="ocl.ecore:VariableExp" name="prop" referredVariable="/0/getTypeNameForProperty/prop">

+              <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+            </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>

+      <eOperations name="equalsIgnoreCase">

+        <eAnnotations source="MTL non-standard"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>

+        <eParameters name="other">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+    </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="generateFaultExtensions">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/generateFaultExtensions"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="model">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+        </eParameters>

+        <eParameters name="sysQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="sysName">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+        <eParameters name="filename">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </eParameters>

+      </eOperations>

+      <eOperations name="getSystem">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getSystem"/>

+        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+        <eParameters name="model">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+        </eParameters>

+        <eParameters name="sysQN">

+          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        </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="getTypeNameForProperty">

+        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+          <contents xsi:type="ocl.ecore:Constraint"/>

+        </eAnnotations>

+        <eAnnotations source="MTL" references="/0/getTypeNameForProperty"/>

+        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+        <eParameters name="prop">

+          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+        </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_Model_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+      </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>

+    <eClassifiers xsi:type="ecore:EClass" name="uml_Property_Class">

+      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">

+        <references href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+      </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#//Model"/>

+  </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#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ecore:EPackage name="collections">

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Element)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Property)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:BagType" name="Bag(Class)" instanceClassName="org.eclipse.ocl.util.Bag">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Class)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(Behavior)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Behavior"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(StateMachine)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </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(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: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:SetType" name="Set(NamedElement)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SetType" name="Set(String)" instanceClassName="java.util.Set">

+      <elementType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(NamedElement)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+    </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(Property)" instanceClassName="java.util.List">

+      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+  </ecore:EPackage>

+  <ecore:EPackage name="types">

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Property">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="Class">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+    </eClassifiers>

+    <eClassifiers xsi:type="ocl.ecore:TypeType" name="StateMachine">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>

+    </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="NamedElement">

+      <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>

+    </eClassifiers>

+  </ecore:EPackage>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>

+  </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#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>

+  </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#//Class"/>

+  </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#//Model"/>

+  </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#//Model"/>

+  </ocl.ecore:Variable>

+  <ocl.ecore:Variable name="self">

+    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>

+  </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#//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/emf/2002/Ecore#//EObject"/>

+  </ocl.ecore:Variable>

+  <ecore:EAnnotation source="positions">

+    <eAnnotations source="positions.0" references="/0/generateFaultExtensions">

+      <details key="start" value="775"/>

+      <details key="end" value="6246"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.1" references="/0/generateFaultExtensions/@init">

+      <details key="start" value="884"/>

+      <details key="end" value="1538"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.2" references="/0/generateFaultExtensions/@init/@variable.0">

+      <details key="start" value="887"/>

+      <details key="end" value="965"/>

+      <details key="line" value="23"/>

+    </eAnnotations>

+    <eAnnotations source="positions.3" references="/0/generateFaultExtensions/@init/@variable.0/%">

+      <details key="start" value="911"/>

+      <details key="end" value="965"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.4" references="/0/generateFaultExtensions/@init/@variable.1">

+      <details key="start" value="968"/>

+      <details key="end" value="1041"/>

+      <details key="line" value="24"/>

+    </eAnnotations>

+    <eAnnotations source="positions.5" references="/0/generateFaultExtensions/@init/@variable.1/%">

+      <details key="start" value="987"/>

+      <details key="end" value="1041"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.6" references="/0/generateFaultExtensions/@init/@variable.2">

+      <details key="start" value="1044"/>

+      <details key="end" value="1116"/>

+      <details key="line" value="25"/>

+    </eAnnotations>

+    <eAnnotations source="positions.7" references="/0/generateFaultExtensions/@init/@variable.2/%">

+      <details key="start" value="1065"/>

+      <details key="end" value="1116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.8" references="/0/generateFaultExtensions/@init/@variable.3">

+      <details key="start" value="1119"/>

+      <details key="end" value="1201"/>

+      <details key="line" value="26"/>

+    </eAnnotations>

+    <eAnnotations source="positions.9" references="/0/generateFaultExtensions/@init/@variable.3/%">

+      <details key="start" value="1145"/>

+      <details key="end" value="1201"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.10" references="/0/generateFaultExtensions/@init/@variable.4">

+      <details key="start" value="1204"/>

+      <details key="end" value="1278"/>

+      <details key="line" value="27"/>

+    </eAnnotations>

+    <eAnnotations source="positions.11" references="/0/generateFaultExtensions/@init/@variable.4/%">

+      <details key="start" value="1226"/>

+      <details key="end" value="1278"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.12" references="/0/generateFaultExtensions/@init/@variable.5">

+      <details key="start" value="1281"/>

+      <details key="end" value="1355"/>

+      <details key="line" value="28"/>

+    </eAnnotations>

+    <eAnnotations source="positions.13" references="/0/generateFaultExtensions/@init/@variable.5/%">

+      <details key="start" value="1303"/>

+      <details key="end" value="1355"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.14" references="/0/generateFaultExtensions/@init/@variable.6">

+      <details key="start" value="1358"/>

+      <details key="end" value="1442"/>

+      <details key="line" value="29"/>

+    </eAnnotations>

+    <eAnnotations source="positions.15" references="/0/generateFaultExtensions/@init/@variable.6/%">

+      <details key="start" value="1385"/>

+      <details key="end" value="1442"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.16" references="/0/generateFaultExtensions/@init/@variable.7">

+      <details key="start" value="1445"/>

+      <details key="end" value="1535"/>

+      <details key="line" value="30"/>

+    </eAnnotations>

+    <eAnnotations source="positions.17" references="/0/generateFaultExtensions/@init/@variable.7/%">

+      <details key="start" value="1472"/>

+      <details key="end" value="1535"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.18" references="/0/generateFaultExtensions/%">

+      <details key="start" value="1557"/>

+      <details key="end" value="6234"/>

+      <details key="line" value="33"/>

+    </eAnnotations>

+    <eAnnotations source="positions.19" references="/0/generateFaultExtensions/%/%">

+      <details key="start" value="1636"/>

+      <details key="end" value="6226"/>

+      <details key="line" value="34"/>

+    </eAnnotations>

+    <eAnnotations source="positions.20" references="/0/generateFaultExtensions/%/%/%">

+      <details key="start" value="1683"/>

+      <details key="end" value="1711"/>

+      <details key="line" value="35"/>

+    </eAnnotations>

+    <eAnnotations source="positions.21" references="/0/generateFaultExtensions/%/%/%.1">

+      <details key="start" value="1712"/>

+      <details key="end" value="1723"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.22" references="/0/generateFaultExtensions/%/%/%.1/system">

+      <details key="start" value="1712"/>

+      <details key="end" value="1718"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.23" references="/0/generateFaultExtensions/%/%/%.2">

+      <details key="start" value="1725"/>

+      <details key="end" value="1763"/>

+      <details key="line" value="35"/>

+    </eAnnotations>

+    <eAnnotations source="positions.24" references="/0/generateFaultExtensions/%/%/%.3">

+      <details key="start" value="1764"/>

+      <details key="end" value="1817"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.25" references="/0/generateFaultExtensions/%/%/%.3/%">

+      <details key="start" value="1764"/>

+      <details key="end" value="1802"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.26" references="/0/generateFaultExtensions/%/%/%.3/%/%">

+      <details key="start" value="1764"/>

+      <details key="end" value="1786"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.27" references="/0/generateFaultExtensions/%/%/%.3/%/%/%">

+      <details key="start" value="1764"/>

+      <details key="end" value="1774"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.28" references="/0/generateFaultExtensions/%/%/%.3/%/%/%/model">

+      <details key="start" value="1764"/>

+      <details key="end" value="1769"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.29" references="/0/generateFaultExtensions/%/%/%.3/%/%/%.1">

+      <details key="start" value="1782"/>

+      <details key="end" value="1785"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.30" references="/0/generateFaultExtensions/%/%/%.3/%/sysName">

+      <details key="start" value="1794"/>

+      <details key="end" value="1801"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.31" references="/0/generateFaultExtensions/%/%/%.3/%.1">

+      <details key="start" value="1810"/>

+      <details key="end" value="1816"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.32" references="/0/generateFaultExtensions/%/%/%.4">

+      <details key="start" value="1819"/>

+      <details key="end" value="1837"/>

+      <details key="line" value="35"/>

+    </eAnnotations>

+    <eAnnotations source="positions.33" references="/0/generateFaultExtensions/%/%/%.5">

+      <details key="start" value="1837"/>

+      <details key="end" value="6219"/>

+      <details key="line" value="37"/>

+    </eAnnotations>

+    <eAnnotations source="positions.34" references="/0/generateFaultExtensions/%/%/%.5/%">

+      <details key="start" value="1974"/>

+      <details key="end" value="6212"/>

+      <details key="line" value="38"/>

+    </eAnnotations>

+    <eAnnotations source="positions.35" references="/0/generateFaultExtensions/%/%/%.5/%/%">

+      <details key="start" value="2081"/>

+      <details key="end" value="6205"/>

+      <details key="line" value="39"/>

+    </eAnnotations>

+    <eAnnotations source="positions.36" references="/0/generateFaultExtensions/%/%/%.5/%/%/%">

+      <details key="start" value="2303"/>

+      <details key="end" value="6158"/>

+      <details key="line" value="41"/>

+    </eAnnotations>

+    <eAnnotations source="positions.37" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%">

+      <details key="start" value="2342"/>

+      <details key="end" value="2384"/>

+      <details key="line" value="42"/>

+    </eAnnotations>

+    <eAnnotations source="positions.38" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.1">

+      <details key="start" value="2385"/>

+      <details key="end" value="2392"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.39" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.1/cl">

+      <details key="start" value="2385"/>

+      <details key="end" value="2387"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.40" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.2">

+      <details key="start" value="2394"/>

+      <details key="end" value="2418"/>

+      <details key="line" value="42"/>

+    </eAnnotations>

+    <eAnnotations source="positions.41" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3">

+      <details key="start" value="2421"/>

+      <details key="end" value="6091"/>

+      <details key="line" value="44"/>

+    </eAnnotations>

+    <eAnnotations source="positions.42" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%">

+      <details key="start" value="2575"/>

+      <details key="end" value="2602"/>

+      <details key="line" value="45"/>

+    </eAnnotations>

+    <eAnnotations source="positions.43" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.1">

+      <details key="start" value="2603"/>

+      <details key="end" value="2618"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.44" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.1/errorModel">

+      <details key="start" value="2603"/>

+      <details key="end" value="2613"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.45" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.2">

+      <details key="start" value="2620"/>

+      <details key="end" value="2647"/>

+      <details key="line" value="45"/>

+    </eAnnotations>

+    <eAnnotations source="positions.46" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3">

+      <details key="start" value="2657"/>

+      <details key="end" value="6030"/>

+      <details key="line" value="47"/>

+    </eAnnotations>

+    <eAnnotations source="positions.47" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%">

+      <details key="start" value="2805"/>

+      <details key="end" value="5987"/>

+      <details key="line" value="48"/>

+    </eAnnotations>

+    <eAnnotations source="positions.48" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%">

+      <details key="start" value="2879"/>

+      <details key="end" value="2930"/>

+      <details key="line" value="49"/>

+    </eAnnotations>

+    <eAnnotations source="positions.49" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.1">

+      <details key="start" value="2931"/>

+      <details key="end" value="2978"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.50" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.1/errorState">

+      <details key="start" value="2931"/>

+      <details key="end" value="2941"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.51" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.1/errorStereo">

+      <details key="start" value="2951"/>

+      <details key="end" value="2962"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.52" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.1/%">

+      <details key="start" value="2964"/>

+      <details key="end" value="2977"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.53" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.2">

+      <details key="start" value="2980"/>

+      <details key="end" value="3031"/>

+      <details key="line" value="49"/>

+    </eAnnotations>

+    <eAnnotations source="positions.54" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.3">

+      <details key="start" value="3032"/>

+      <details key="end" value="3047"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.55" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.3/errorState">

+      <details key="start" value="3032"/>

+      <details key="end" value="3042"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.56" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.4">

+      <details key="start" value="3049"/>

+      <details key="end" value="3114"/>

+      <details key="line" value="51"/>

+    </eAnnotations>

+    <eAnnotations source="positions.57" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5">

+      <details key="start" value="3119"/>

+      <details key="end" value="5531"/>

+      <details key="line" value="54"/>

+    </eAnnotations>

+    <eAnnotations source="positions.58" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%">

+      <details key="start" value="3188"/>

+      <details key="end" value="3754"/>

+      <details key="line" value="55"/>

+    </eAnnotations>

+    <eAnnotations source="positions.59" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%">

+      <details key="start" value="3266"/>

+      <details key="end" value="3402"/>

+      <details key="line" value="56"/>

+    </eAnnotations>

+    <eAnnotations source="positions.60" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.1">

+      <details key="start" value="3403"/>

+      <details key="end" value="3446"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.61" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.1/errorState">

+      <details key="start" value="3403"/>

+      <details key="end" value="3413"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.62" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.1/stuckAtStereo">

+      <details key="start" value="3423"/>

+      <details key="end" value="3436"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.63" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.1/%">

+      <details key="start" value="3438"/>

+      <details key="end" value="3445"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.64" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.2">

+      <details key="start" value="3448"/>

+      <details key="end" value="3452"/>

+      <details key="line" value="58"/>

+    </eAnnotations>

+    <eAnnotations source="positions.65" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3">

+      <details key="start" value="3458"/>

+      <details key="end" value="3685"/>

+      <details key="line" value="59"/>

+    </eAnnotations>

+    <eAnnotations source="positions.66" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%">

+      <details key="start" value="3554"/>

+      <details key="end" value="3617"/>

+      <details key="line" value="59"/>

+    </eAnnotations>

+    <eAnnotations source="positions.67" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%.1">

+      <details key="start" value="3618"/>

+      <details key="end" value="3627"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.68" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%.1/prop">

+      <details key="start" value="3618"/>

+      <details key="end" value="3622"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.69" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%.2">

+      <details key="start" value="3629"/>

+      <details key="end" value="3637"/>

+      <details key="line" value="60"/>

+    </eAnnotations>

+    <eAnnotations source="positions.70" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%.3">

+      <details key="start" value="3638"/>

+      <details key="end" value="3666"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.71" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%.3/prop">

+      <details key="start" value="3661"/>

+      <details key="end" value="3665"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.72" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/%.4">

+      <details key="start" value="3668"/>

+      <details key="end" value="3672"/>

+      <details key="line" value="60"/>

+    </eAnnotations>

+    <eAnnotations source="positions.73" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop">

+      <details key="start" value="3463"/>

+      <details key="end" value="3547"/>

+      <details key="line" value="59"/>

+    </eAnnotations>

+    <eAnnotations source="positions.74" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop/%">

+      <details key="start" value="3482"/>

+      <details key="end" value="3548"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.75" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop/%/%">

+      <details key="start" value="3482"/>

+      <details key="end" value="3528"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.76" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop/%/%/errorState">

+      <details key="start" value="3482"/>

+      <details key="end" value="3492"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.77" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop/%/%/stuckAtStereo">

+      <details key="start" value="3502"/>

+      <details key="end" value="3515"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.78" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop/%/%/%">

+      <details key="start" value="3517"/>

+      <details key="end" value="3527"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.79" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.3/prop/%/%.1">

+      <details key="start" value="3539"/>

+      <details key="end" value="3547"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.80" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/%.4">

+      <details key="start" value="3686"/>

+      <details key="end" value="3743"/>

+      <details key="line" value="62"/>

+    </eAnnotations>

+    <eAnnotations source="positions.81" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/stuckAtStereo">

+      <details key="start" value="3193"/>

+      <details key="end" value="3264"/>

+      <details key="line" value="55"/>

+    </eAnnotations>

+    <eAnnotations source="positions.82" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/stuckAtStereo/%">

+      <details key="start" value="3223"/>

+      <details key="end" value="3265"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.83" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/stuckAtStereo/%/errorState">

+      <details key="start" value="3223"/>

+      <details key="end" value="3233"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.84" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%/stuckAtStereo/%/StuckAtQN">

+      <details key="start" value="3255"/>

+      <details key="end" value="3264"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.85" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.1">

+      <details key="start" value="3123"/>

+      <details key="end" value="3179"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.86" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.87" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.1/%/%/%">

+      <details key="start" value="3124"/>

+      <details key="end" value="3166"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.88" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.1/%/%/%/errorState">

+      <details key="start" value="3124"/>

+      <details key="end" value="3134"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.89" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.1/%/%/%/StuckAtQN">

+      <details key="start" value="3156"/>

+      <details key="end" value="3165"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.90" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2">

+      <details key="start" value="3760"/>

+      <details key="end" value="4281"/>

+      <details key="line" value="65"/>

+    </eAnnotations>

+    <eAnnotations source="positions.91" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%">

+      <details key="start" value="3832"/>

+      <details key="end" value="4275"/>

+      <details key="line" value="66"/>

+    </eAnnotations>

+    <eAnnotations source="positions.92" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%">

+      <details key="start" value="3912"/>

+      <details key="end" value="3982"/>

+      <details key="line" value="67"/>

+    </eAnnotations>

+    <eAnnotations source="positions.93" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1">

+      <details key="start" value="3988"/>

+      <details key="end" value="4206"/>

+      <details key="line" value="69"/>

+    </eAnnotations>

+    <eAnnotations source="positions.94" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%">

+      <details key="start" value="4085"/>

+      <details key="end" value="4148"/>

+      <details key="line" value="69"/>

+    </eAnnotations>

+    <eAnnotations source="positions.95" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.1">

+      <details key="start" value="4149"/>

+      <details key="end" value="4158"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.96" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.1/prop">

+      <details key="start" value="4149"/>

+      <details key="end" value="4153"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.97" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.2">

+      <details key="start" value="4160"/>

+      <details key="end" value="4168"/>

+      <details key="line" value="70"/>

+    </eAnnotations>

+    <eAnnotations source="positions.98" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.3">

+      <details key="start" value="4169"/>

+      <details key="end" value="4187"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.99" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.3/%">

+      <details key="start" value="4177"/>

+      <details key="end" value="4186"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.100" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.3/%/prop">

+      <details key="start" value="4177"/>

+      <details key="end" value="4181"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.101" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/%.4">

+      <details key="start" value="4189"/>

+      <details key="end" value="4193"/>

+      <details key="line" value="70"/>

+    </eAnnotations>

+    <eAnnotations source="positions.102" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop">

+      <details key="start" value="3993"/>

+      <details key="end" value="4078"/>

+      <details key="line" value="69"/>

+    </eAnnotations>

+    <eAnnotations source="positions.103" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop/%">

+      <details key="start" value="4012"/>

+      <details key="end" value="4079"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.104" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop/%/%">

+      <details key="start" value="4012"/>

+      <details key="end" value="4059"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.105" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop/%/%/errorState">

+      <details key="start" value="4012"/>

+      <details key="end" value="4022"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.106" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop/%/%/invertedStereo">

+      <details key="start" value="4032"/>

+      <details key="end" value="4046"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.107" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop/%/%/%">

+      <details key="start" value="4048"/>

+      <details key="end" value="4058"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.108" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.1/prop/%/%.1">

+      <details key="start" value="4070"/>

+      <details key="end" value="4078"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.109" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/%.2">

+      <details key="start" value="4207"/>

+      <details key="end" value="4264"/>

+      <details key="line" value="72"/>

+    </eAnnotations>

+    <eAnnotations source="positions.110" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/invertedStereo">

+      <details key="start" value="3837"/>

+      <details key="end" value="3910"/>

+      <details key="line" value="66"/>

+    </eAnnotations>

+    <eAnnotations source="positions.111" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/invertedStereo/%">

+      <details key="start" value="3868"/>

+      <details key="end" value="3911"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.112" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/invertedStereo/%/errorState">

+      <details key="start" value="3868"/>

+      <details key="end" value="3878"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.113" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%/invertedStereo/%/InvertedQN">

+      <details key="start" value="3900"/>

+      <details key="end" value="3910"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.114" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%.1">

+      <details key="start" value="3768"/>

+      <details key="end" value="3825"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.115" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.116" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%.1/%/%/%">

+      <details key="start" value="3769"/>

+      <details key="end" value="3812"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.117" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%.1/%/%/%/errorState">

+      <details key="start" value="3769"/>

+      <details key="end" value="3779"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.118" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.2/%.1/%/%/%/InvertedQN">

+      <details key="start" value="3801"/>

+      <details key="end" value="3811"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.119" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3">

+      <details key="start" value="4281"/>

+      <details key="end" value="4818"/>

+      <details key="line" value="75"/>

+    </eAnnotations>

+    <eAnnotations source="positions.120" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%">

+      <details key="start" value="4357"/>

+      <details key="end" value="4812"/>

+      <details key="line" value="76"/>

+    </eAnnotations>

+    <eAnnotations source="positions.121" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%">

+      <details key="start" value="4441"/>

+      <details key="end" value="4515"/>

+      <details key="line" value="77"/>

+    </eAnnotations>

+    <eAnnotations source="positions.122" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1">

+      <details key="start" value="4521"/>

+      <details key="end" value="4743"/>

+      <details key="line" value="79"/>

+    </eAnnotations>

+    <eAnnotations source="positions.123" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%">

+      <details key="start" value="4622"/>

+      <details key="end" value="4685"/>

+      <details key="line" value="79"/>

+    </eAnnotations>

+    <eAnnotations source="positions.124" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.1">

+      <details key="start" value="4686"/>

+      <details key="end" value="4695"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.125" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.1/prop">

+      <details key="start" value="4686"/>

+      <details key="end" value="4690"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.126" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.2">

+      <details key="start" value="4697"/>

+      <details key="end" value="4705"/>

+      <details key="line" value="80"/>

+    </eAnnotations>

+    <eAnnotations source="positions.127" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.3">

+      <details key="start" value="4706"/>

+      <details key="end" value="4724"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.128" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.3/%">

+      <details key="start" value="4714"/>

+      <details key="end" value="4723"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.129" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.3/%/prop">

+      <details key="start" value="4714"/>

+      <details key="end" value="4718"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.130" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/%.4">

+      <details key="start" value="4726"/>

+      <details key="end" value="4730"/>

+      <details key="line" value="80"/>

+    </eAnnotations>

+    <eAnnotations source="positions.131" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop">

+      <details key="start" value="4526"/>

+      <details key="end" value="4615"/>

+      <details key="line" value="79"/>

+    </eAnnotations>

+    <eAnnotations source="positions.132" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop/%">

+      <details key="start" value="4545"/>

+      <details key="end" value="4616"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.133" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop/%/%">

+      <details key="start" value="4545"/>

+      <details key="end" value="4596"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.134" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop/%/%/errorState">

+      <details key="start" value="4545"/>

+      <details key="end" value="4555"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.135" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop/%/%/stuckAtFixedStereo">

+      <details key="start" value="4565"/>

+      <details key="end" value="4583"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.136" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop/%/%/%">

+      <details key="start" value="4585"/>

+      <details key="end" value="4595"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.137" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.1/prop/%/%.1">

+      <details key="start" value="4607"/>

+      <details key="end" value="4615"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.138" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/%.2">

+      <details key="start" value="4744"/>

+      <details key="end" value="4801"/>

+      <details key="line" value="82"/>

+    </eAnnotations>

+    <eAnnotations source="positions.139" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/stuckAtFixedStereo">

+      <details key="start" value="4362"/>

+      <details key="end" value="4439"/>

+      <details key="line" value="76"/>

+    </eAnnotations>

+    <eAnnotations source="positions.140" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/stuckAtFixedStereo/%">

+      <details key="start" value="4397"/>

+      <details key="end" value="4440"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.141" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/stuckAtFixedStereo/%/errorState">

+      <details key="start" value="4397"/>

+      <details key="end" value="4407"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.142" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%/stuckAtFixedStereo/%/InvertedQN">

+      <details key="start" value="4429"/>

+      <details key="end" value="4439"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.143" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%.1">

+      <details key="start" value="4289"/>

+      <details key="end" value="4350"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.144" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.145" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%.1/%/%/%">

+      <details key="start" value="4290"/>

+      <details key="end" value="4337"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.146" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%.1/%/%/%/errorState">

+      <details key="start" value="4290"/>

+      <details key="end" value="4300"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.147" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.3/%.1/%/%/%/StuckAtFixedQN">

+      <details key="start" value="4322"/>

+      <details key="end" value="4336"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.148" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4">

+      <details key="start" value="4818"/>

+      <details key="end" value="5526"/>

+      <details key="line" value="85"/>

+    </eAnnotations>

+    <eAnnotations source="positions.149" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%">

+      <details key="start" value="4890"/>

+      <details key="end" value="5520"/>

+      <details key="line" value="86"/>

+    </eAnnotations>

+    <eAnnotations source="positions.150" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%">

+      <details key="start" value="4970"/>

+      <details key="end" value="5073"/>

+      <details key="line" value="87"/>

+    </eAnnotations>

+    <eAnnotations source="positions.151" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.1">

+      <details key="start" value="5074"/>

+      <details key="end" value="5117"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.152" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.1/errorState">

+      <details key="start" value="5074"/>

+      <details key="end" value="5084"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.153" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.1/rampDownStereo">

+      <details key="start" value="5094"/>

+      <details key="end" value="5108"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.154" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.1/%">

+      <details key="start" value="5110"/>

+      <details key="end" value="5116"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.155" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.2">

+      <details key="start" value="5119"/>

+      <details key="end" value="5173"/>

+      <details key="line" value="89"/>

+    </eAnnotations>

+    <eAnnotations source="positions.156" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.3">

+      <details key="start" value="5174"/>

+      <details key="end" value="5221"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.157" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.3/errorState">

+      <details key="start" value="5174"/>

+      <details key="end" value="5184"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.158" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.3/rampDownStereo">

+      <details key="start" value="5194"/>

+      <details key="end" value="5208"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.159" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.3/%">

+      <details key="start" value="5210"/>

+      <details key="end" value="5220"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.160" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.4">

+      <details key="start" value="5223"/>

+      <details key="end" value="5227"/>

+      <details key="line" value="90"/>

+    </eAnnotations>

+    <eAnnotations source="positions.161" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5">

+      <details key="start" value="5233"/>

+      <details key="end" value="5451"/>

+      <details key="line" value="91"/>

+    </eAnnotations>

+    <eAnnotations source="positions.162" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%">

+      <details key="start" value="5330"/>

+      <details key="end" value="5393"/>

+      <details key="line" value="91"/>

+    </eAnnotations>

+    <eAnnotations source="positions.163" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.1">

+      <details key="start" value="5394"/>

+      <details key="end" value="5403"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.164" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.1/prop">

+      <details key="start" value="5394"/>

+      <details key="end" value="5398"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.165" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.2">

+      <details key="start" value="5405"/>

+      <details key="end" value="5413"/>

+      <details key="line" value="92"/>

+    </eAnnotations>

+    <eAnnotations source="positions.166" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.3">

+      <details key="start" value="5414"/>

+      <details key="end" value="5432"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.167" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.3/%">

+      <details key="start" value="5422"/>

+      <details key="end" value="5431"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.168" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.3/%/prop">

+      <details key="start" value="5422"/>

+      <details key="end" value="5426"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.169" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/%.4">

+      <details key="start" value="5434"/>

+      <details key="end" value="5438"/>

+      <details key="line" value="92"/>

+    </eAnnotations>

+    <eAnnotations source="positions.170" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop">

+      <details key="start" value="5238"/>

+      <details key="end" value="5323"/>

+      <details key="line" value="91"/>

+    </eAnnotations>

+    <eAnnotations source="positions.171" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop/%">

+      <details key="start" value="5257"/>

+      <details key="end" value="5324"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.172" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop/%/%">

+      <details key="start" value="5257"/>

+      <details key="end" value="5304"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.173" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop/%/%/errorState">

+      <details key="start" value="5257"/>

+      <details key="end" value="5267"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.174" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop/%/%/rampDownStereo">

+      <details key="start" value="5277"/>

+      <details key="end" value="5291"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.175" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop/%/%/%">

+      <details key="start" value="5293"/>

+      <details key="end" value="5303"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.176" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.5/prop/%/%.1">

+      <details key="start" value="5315"/>

+      <details key="end" value="5323"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.177" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/%.6">

+      <details key="start" value="5452"/>

+      <details key="end" value="5509"/>

+      <details key="line" value="94"/>

+    </eAnnotations>

+    <eAnnotations source="positions.178" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo">

+      <details key="start" value="4895"/>

+      <details key="end" value="4968"/>

+      <details key="line" value="86"/>

+    </eAnnotations>

+    <eAnnotations source="positions.179" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo/%">

+      <details key="start" value="4926"/>

+      <details key="end" value="4969"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.180" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo/%/errorState">

+      <details key="start" value="4926"/>

+      <details key="end" value="4936"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.181" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%/rampDownStereo/%/InvertedQN">

+      <details key="start" value="4958"/>

+      <details key="end" value="4968"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.182" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%.1">

+      <details key="start" value="4826"/>

+      <details key="end" value="4883"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.183" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.184" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%.1/%/%/%">

+      <details key="start" value="4827"/>

+      <details key="end" value="4870"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.185" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%.1/%/%/%/errorState">

+      <details key="start" value="4827"/>

+      <details key="end" value="4837"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.186" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.5/%.4/%.1/%/%/%/RampDownQN">

+      <details key="start" value="4859"/>

+      <details key="end" value="4869"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.187" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6">

+      <details key="start" value="5537"/>

+      <details key="end" value="5975"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.188" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/%">

+      <details key="start" value="5742"/>

+      <details key="end" value="5964"/>

+      <details key="line" value="99"/>

+    </eAnnotations>

+    <eAnnotations source="positions.189" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr">

+      <details key="start" value="5542"/>

+      <details key="end" value="5739"/>

+      <details key="line" value="98"/>

+    </eAnnotations>

+    <eAnnotations source="positions.190" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any">

+      <details key="start" value="5561"/>

+      <details key="end" value="5740"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.191" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%">

+      <details key="start" value="5561"/>

+      <details key="end" value="5580"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.192" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%/errorState">

+      <details key="start" value="5561"/>

+      <details key="end" value="5571"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.193" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1">

+      <details key="start" value="5607"/>

+      <details key="end" value="5739"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.194" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%">

+      <details key="start" value="5607"/>

+      <details key="end" value="5662"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.195" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.196" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%/%/%/%">

+      <details key="start" value="5607"/>

+      <details key="end" value="5650"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.197" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%/%/%/%/fault">

+      <details key="start" value="5607"/>

+      <details key="end" value="5612"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.198" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%/%/%/%/InternalFaultQN">

+      <details key="start" value="5634"/>

+      <details key="end" value="5649"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.199" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%.1">

+      <details key="start" value="5684"/>

+      <details key="end" value="5739"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.200" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.201" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%.1/%/%/%">

+      <details key="start" value="5684"/>

+      <details key="end" value="5727"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.202" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%.1/%/%/%/fault">

+      <details key="start" value="5684"/>

+      <details key="end" value="5689"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.203" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/%.1/%.1/%/%/%/ExternalFaultQN">

+      <details key="start" value="5711"/>

+      <details key="end" value="5726"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.204" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/%.6/tr/any/fault">

+      <details key="start" value="5586"/>

+      <details key="end" value="5604"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.205" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/errorStereo">

+      <details key="start" value="2810"/>

+      <details key="end" value="2877"/>

+      <details key="line" value="48"/>

+    </eAnnotations>

+    <eAnnotations source="positions.206" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/errorStereo/%">

+      <details key="start" value="2838"/>

+      <details key="end" value="2878"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.207" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/errorStereo/%/errorState">

+      <details key="start" value="2838"/>

+      <details key="end" value="2848"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.208" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%/errorStereo/%/ErrorQN">

+      <details key="start" value="2870"/>

+      <details key="end" value="2877"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.209" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/%.1">

+      <details key="start" value="5988"/>

+      <details key="end" value="6014"/>

+      <details key="line" value="107"/>

+    </eAnnotations>

+    <eAnnotations source="positions.210" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/errorState">

+      <details key="start" value="2663"/>

+      <details key="end" value="2681"/>

+      <details key="line" value="47"/>

+    </eAnnotations>

+    <eAnnotations source="positions.211" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select">

+      <details key="start" value="2684"/>

+      <details key="end" value="2799"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.212" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%">

+      <details key="start" value="2684"/>

+      <details key="end" value="2726"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.213" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/collect">

+      <details key="start" value="2684"/>

+      <details key="end" value="2711"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.214" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/collect/%">

+      <details key="start" value="2684"/>

+      <details key="end" value="2701"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.215" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/collect/%/errorModel">

+      <details key="start" value="2684"/>

+      <details key="end" value="2694"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.216" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/collect/%.1">

+      <details key="start" value="2702"/>

+      <details key="end" value="2711"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.217" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/collect/%.1/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.218" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/collect/temp1">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.219" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%/%">

+      <details key="start" value="2720"/>

+      <details key="end" value="2725"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.220" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%.1">

+      <details key="start" value="2751"/>

+      <details key="end" value="2798"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.221" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.222" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%.1/%/%/%">

+      <details key="start" value="2751"/>

+      <details key="end" value="2786"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.223" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%.1/%/%/%/error">

+      <details key="start" value="2751"/>

+      <details key="end" value="2756"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.224" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/%.1/%/%/%/ErrorQN">

+      <details key="start" value="2778"/>

+      <details key="end" value="2785"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.225" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.3/select/error">

+      <details key="start" value="2735"/>

+      <details key="end" value="2748"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.226" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/%.4">

+      <details key="start" value="6031"/>

+      <details key="end" value="6079"/>

+      <details key="line" value="109"/>

+    </eAnnotations>

+    <eAnnotations source="positions.227" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/errorModel">

+      <details key="start" value="2427"/>

+      <details key="end" value="2452"/>

+      <details key="line" value="44"/>

+    </eAnnotations>

+    <eAnnotations source="positions.228" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select">

+      <details key="start" value="2455"/>

+      <details key="end" value="2572"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.229" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%">

+      <details key="start" value="2455"/>

+      <details key="end" value="2493"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.230" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%/%">

+      <details key="start" value="2455"/>

+      <details key="end" value="2471"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.231" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%/%/cl">

+      <details key="start" value="2455"/>

+      <details key="end" value="2457"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.232" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%/%.1">

+      <details key="start" value="2480"/>

+      <details key="end" value="2492"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.233" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%.1">

+      <details key="start" value="2522"/>

+      <details key="end" value="2571"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.234" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.235" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%.1/%/%/%">

+      <details key="start" value="2522"/>

+      <details key="end" value="2559"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.236" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%.1/%/%/%/sm">

+      <details key="start" value="2522"/>

+      <details key="end" value="2524"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.237" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/%.1/%/%/%/ErrorModelQN">

+      <details key="start" value="2546"/>

+      <details key="end" value="2558"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.238" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.3/select/sm">

+      <details key="start" value="2502"/>

+      <details key="end" value="2519"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.239" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/%.4">

+      <details key="start" value="6092"/>

+      <details key="end" value="6150"/>

+      <details key="line" value="112"/>

+    </eAnnotations>

+    <eAnnotations source="positions.240" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/cl">

+      <details key="start" value="2309"/>

+      <details key="end" value="2319"/>

+      <details key="line" value="41"/>

+    </eAnnotations>

+    <eAnnotations source="positions.241" references="/0/generateFaultExtensions/%/%/%.5/%/%/%/nominalComponents">

+      <details key="start" value="2322"/>

+      <details key="end" value="2339"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.242" references="/0/generateFaultExtensions/%/%/%.5/%/%/%.1">

+      <details key="start" value="6159"/>

+      <details key="end" value="6199"/>

+      <details key="line" value="115"/>

+    </eAnnotations>

+    <eAnnotations source="positions.243" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents">

+      <details key="start" value="2086"/>

+      <details key="end" value="2299"/>

+      <details key="line" value="39"/>

+    </eAnnotations>

+    <eAnnotations source="positions.244" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select">

+      <details key="start" value="2120"/>

+      <details key="end" value="2300"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.245" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/%">

+      <details key="start" value="2120"/>

+      <details key="end" value="2159"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.246" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/%/%">

+      <details key="start" value="2120"/>

+      <details key="end" value="2144"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.247" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/%/%/model">

+      <details key="start" value="2120"/>

+      <details key="end" value="2125"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.248" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/%/%.1">

+      <details key="start" value="2153"/>

+      <details key="end" value="2158"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.249" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists">

+      <details key="start" value="2181"/>

+      <details key="end" value="2299"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.250" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%">

+      <details key="start" value="2181"/>

+      <details key="end" value="2219"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.251" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%/%">

+      <details key="start" value="2181"/>

+      <details key="end" value="2197"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.252" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%/%/cl">

+      <details key="start" value="2181"/>

+      <details key="end" value="2183"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.253" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%/%.1">

+      <details key="start" value="2206"/>

+      <details key="end" value="2218"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.254" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%.1">

+      <details key="start" value="2249"/>

+      <details key="end" value="2298"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.255" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%.1/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.256" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%.1/%/%/%">

+      <details key="start" value="2249"/>

+      <details key="end" value="2286"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.257" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%.1/%/%/%/sm">

+      <details key="start" value="2249"/>

+      <details key="end" value="2251"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.258" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/%.1/%/%/%/ErrorModelQN">

+      <details key="start" value="2273"/>

+      <details key="end" value="2285"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.259" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/exists/sm">

+      <details key="start" value="2229"/>

+      <details key="end" value="2246"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.260" references="/0/generateFaultExtensions/%/%/%.5/%/%/nominalComponents/select/cl">

+      <details key="start" value="2168"/>

+      <details key="end" value="2178"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.261" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses">

+      <details key="start" value="1979"/>

+      <details key="end" value="2079"/>

+      <details key="line" value="38"/>

+    </eAnnotations>

+    <eAnnotations source="positions.262" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%">

+      <details key="start" value="2009"/>

+      <details key="end" value="2080"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.263" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect">

+      <details key="start" value="2009"/>

+      <details key="end" value="2071"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.264" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/systemProps">

+      <details key="start" value="2009"/>

+      <details key="end" value="2020"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.265" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/%">

+      <details key="start" value="2046"/>

+      <details key="end" value="2070"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.266" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/%/%">

+      <details key="start" value="2046"/>

+      <details key="end" value="2053"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.267" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/%/%/pr">

+      <details key="start" value="2046"/>

+      <details key="end" value="2048"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.268" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/%/%.1">

+      <details key="start" value="2064"/>

+      <details key="end" value="2069"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.269" references="/0/generateFaultExtensions/%/%/%.5/%/systemClasses/%/collect/pr">

+      <details key="start" value="2030"/>

+      <details key="end" value="2043"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.270" references="/0/generateFaultExtensions/%/%/%.5/systemProps">

+      <details key="start" value="1842"/>

+      <details key="end" value="1971"/>

+      <details key="line" value="37"/>

+    </eAnnotations>

+    <eAnnotations source="positions.271" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select">

+      <details key="start" value="1873"/>

+      <details key="end" value="1972"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.272" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%">

+      <details key="start" value="1873"/>

+      <details key="end" value="1916"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.273" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%/%">

+      <details key="start" value="1873"/>

+      <details key="end" value="1898"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.274" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%/%/system">

+      <details key="start" value="1873"/>

+      <details key="end" value="1879"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.275" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%/%.1">

+      <details key="start" value="1907"/>

+      <details key="end" value="1915"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.276" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%.1">

+      <details key="start" value="1943"/>

+      <details key="end" value="1971"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.277" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%.1/%">

+      <details key="start" value="1943"/>

+      <details key="end" value="1952"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.278" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%.1/%/prop">

+      <details key="start" value="1943"/>

+      <details key="end" value="1947"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.279" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/%.1/%.1">

+      <details key="start" value="1965"/>

+      <details key="end" value="1970"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.280" references="/0/generateFaultExtensions/%/%/%.5/systemProps/select/prop">

+      <details key="start" value="1925"/>

+      <details key="end" value="1940"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.281" references="/0/generateFaultExtensions/%/%/system">

+      <details key="start" value="1641"/>

+      <details key="end" value="1681"/>

+      <details key="line" value="34"/>

+    </eAnnotations>

+    <eAnnotations source="positions.282" references="/0/generateFaultExtensions/%/%/system/%">

+      <details key="start" value="1659"/>

+      <details key="end" value="1682"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.283" references="/0/generateFaultExtensions/%/%/system/%/model">

+      <details key="start" value="1669"/>

+      <details key="end" value="1674"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.284" references="/0/generateFaultExtensions/%/%/system/%/sysQN">

+      <details key="start" value="1676"/>

+      <details key="end" value="1681"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.285" references="/0/generateFaultExtensions/%/%.1">

+      <details key="start" value="1564"/>

+      <details key="end" value="1617"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.286" references="/0/generateFaultExtensions/%/%.1/%">

+      <details key="start" value="1564"/>

+      <details key="end" value="1602"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.287" references="/0/generateFaultExtensions/%/%.1/%/%">

+      <details key="start" value="1564"/>

+      <details key="end" value="1586"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.288" references="/0/generateFaultExtensions/%/%.1/%/%/%">

+      <details key="start" value="1564"/>

+      <details key="end" value="1574"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.289" references="/0/generateFaultExtensions/%/%.1/%/%/%/model">

+      <details key="start" value="1564"/>

+      <details key="end" value="1569"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.290" references="/0/generateFaultExtensions/%/%.1/%/%/%.1">

+      <details key="start" value="1582"/>

+      <details key="end" value="1585"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.291" references="/0/generateFaultExtensions/%/%.1/%/sysName">

+      <details key="start" value="1594"/>

+      <details key="end" value="1601"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.292" references="/0/generateFaultExtensions/%/%.1/%.1">

+      <details key="start" value="1610"/>

+      <details key="end" value="1616"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.293" references="/0/generateFaultExtensions/%/%.2">

+      <details key="start" value="1626"/>

+      <details key="end" value="1633"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.294" references="/0/generateFaultExtensions/model">

+      <details key="start" value="816"/>

+      <details key="end" value="829"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.295" references="/0/generateFaultExtensions/sysQN">

+      <details key="start" value="831"/>

+      <details key="end" value="845"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.296" references="/0/generateFaultExtensions/sysName">

+      <details key="start" value="848"/>

+      <details key="end" value="864"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.297" references="/0/generateFaultExtensions/filename">

+      <details key="start" value="866"/>

+      <details key="end" value="883"/>

+      <details key="line" value="22"/>

+    </eAnnotations>

+    <eAnnotations source="positions.298" references="/0/getSystem">

+      <details key="start" value="6249"/>

+      <details key="end" value="6511"/>

+      <details key="line" value="125"/>

+    </eAnnotations>

+    <eAnnotations source="positions.299" references="/0/getSystem/model">

+      <details key="start" value="6273"/>

+      <details key="end" value="6286"/>

+      <details key="line" value="125"/>

+    </eAnnotations>

+    <eAnnotations source="positions.300" references="/0/getSystem/sysQN">

+      <details key="start" value="6288"/>

+      <details key="end" value="6302"/>

+      <details key="line" value="125"/>

+    </eAnnotations>

+    <eAnnotations source="positions.301" references="/0/getSystem/%">

+      <details key="start" value="6314"/>

+      <details key="end" value="6509"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.302" references="/0/getSystem/%/%">

+      <details key="start" value="6314"/>

+      <details key="end" value="6492"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.303" references="/0/getSystem/%/%/%">

+      <details key="start" value="6314"/>

+      <details key="end" value="6483"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.304" references="/0/getSystem/%/%/%/select">

+      <details key="start" value="6314"/>

+      <details key="end" value="6469"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.305" references="/0/getSystem/%/%/%/select/%">

+      <details key="start" value="6314"/>

+      <details key="end" value="6359"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.306" references="/0/getSystem/%/%/%/select/%/%">

+      <details key="start" value="6314"/>

+      <details key="end" value="6337"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.307" references="/0/getSystem/%/%/%/select/%/%/self">

+      <details key="start" value="6314"/>

+      <details key="end" value="6318"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.308" references="/0/getSystem/%/%/%/select/%/%.1">

+      <details key="start" value="6346"/>

+      <details key="end" value="6358"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.309" references="/0/getSystem/%/%/%/select/%.1">

+      <details key="start" value="6391"/>

+      <details key="end" value="6468"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.310" references="/0/getSystem/%/%/%/select/%.1/%">

+      <details key="start" value="6391"/>

+      <details key="end" value="6421"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.311" references="/0/getSystem/%/%/%/select/%.1/%/%">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.312" references="/0/getSystem/%/%/%/select/%.1/%/%/%/%">

+      <details key="start" value="6391"/>

+      <details key="end" value="6409"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.313" references="/0/getSystem/%/%/%/select/%.1/%/%/%/%/elem">

+      <details key="start" value="6391"/>

+      <details key="end" value="6395"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.314" references="/0/getSystem/%/%/%/select/%.1/%.1">

+      <details key="start" value="6426"/>

+      <details key="end" value="6468"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.315" references="/0/getSystem/%/%/%/select/%.1/%.1/%">

+      <details key="start" value="6426"/>

+      <details key="end" value="6444"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.316" references="/0/getSystem/%/%/%/select/%.1/%.1/%/elem">

+      <details key="start" value="6426"/>

+      <details key="end" value="6430"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.317" references="/0/getSystem/%/%/%/select/%.1/%.1/sysQN">

+      <details key="start" value="6462"/>

+      <details key="end" value="6467"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.318" references="/0/getSystem/%/%/%/select/elem">

+      <details key="start" value="6369"/>

+      <details key="end" value="6388"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.319" references="/0/getSystem/%/%.1">

+      <details key="start" value="6503"/>

+      <details key="end" value="6508"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.320" references="/0/getType">

+      <details key="start" value="6513"/>

+      <details key="end" value="6685"/>

+      <details key="line" value="128"/>

+    </eAnnotations>

+    <eAnnotations source="positions.321" references="/0/getType/type">

+      <details key="start" value="6535"/>

+      <details key="end" value="6546"/>

+      <details key="line" value="128"/>

+    </eAnnotations>

+    <eAnnotations source="positions.322" references="/0/getType/%">

+      <details key="start" value="6559"/>

+      <details key="end" value="6683"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.323" references="/0/getType/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.324" references="/0/getType/%/%">

+      <details key="start" value="6566"/>

+      <details key="end" value="6628"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.325" references="/0/getType/%/%.1">

+      <details key="start" value="6630"/>

+      <details key="end" value="6666"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.326" references="/0/getType/%/%.2">

+      <details key="start" value="6668"/>

+      <details key="end" value="6682"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.327" references="/0/getType/%/%.2/%/type">

+      <details key="start" value="6677"/>

+      <details key="end" value="6681"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.328" references="/0/getTypeNameForProperty">

+      <details key="start" value="6687"/>

+      <details key="end" value="6897"/>

+      <details key="line" value="131"/>

+    </eAnnotations>

+    <eAnnotations source="positions.329" references="/0/getTypeNameForProperty/prop">

+      <details key="start" value="6724"/>

+      <details key="end" value="6739"/>

+      <details key="line" value="131"/>

+    </eAnnotations>

+    <eAnnotations source="positions.330" references="/0/getTypeNameForProperty/%">

+      <details key="start" value="6752"/>

+      <details key="end" value="6894"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.331" references="/0/getTypeNameForProperty/%/self">

+      <details key="start" value="-1"/>

+      <details key="end" value="-1"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.332" references="/0/getTypeNameForProperty/%/%">

+      <details key="start" value="6759"/>

+      <details key="end" value="6821"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.333" references="/0/getTypeNameForProperty/%/%.1">

+      <details key="start" value="6822"/>

+      <details key="end" value="6877"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.334" references="/0/getTypeNameForProperty/%/%.2">

+      <details key="start" value="6879"/>

+      <details key="end" value="6893"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+    <eAnnotations source="positions.335" references="/0/getTypeNameForProperty/%/%.2/%/prop">

+      <details key="start" value="6888"/>

+      <details key="end" value="6892"/>

+      <details key="line" value="0"/>

+    </eAnnotations>

+  </ecore:EAnnotation>

+</xmi:XMI>

diff --git a/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateImplementation.emtl b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateImplementation.emtl
new file mode 100644
index 0000000..a283061
--- /dev/null
+++ b/plugins/contracts/org.polarsys.chess.contracts.transformations/src/org/polarsys/chess/contracts/transformations/main/generateImplementation.emtl
@@ -0,0 +1,1452 @@
+<?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>