diff options
Diffstat (limited to 'extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse')
3 files changed, 4447 insertions, 0 deletions
diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceCout.emtl b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceCout.emtl new file mode 100644 index 00000000000..8cb3cf6b33e --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceCout.emtl @@ -0,0 +1,512 @@ +<?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="traceCout" nsURI="org::eclipse::papyrus::qompass::modellibs::tracing::acceleo::traceCout" endHeaderPosition="133"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="traceOp" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// declare operation & use directly. Problem: declaration can not be within the scope of an operation
updateTimestamp ();
cout "enter operation: " << "/> + <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="operation" referredVariable="/0/traceOp/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" << " at " << timestamp.ticks() << " parameters: " <<
 "/> + <body xsi:type="mtl:ForBlock"> + <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="parameter" referredVariable="/0/traceOp/%.3/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" (of type "/> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/traceOp/%.3/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.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="parameter" referredVariable="/0/traceOp/%.3/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <loopVariable name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/7/OrderedSet(Parameter)"> + <source xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/traceOp/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//BehavioralFeature/ownedParameter"/> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" << endl;
)
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <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="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" ret = "/> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </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="rconn->"/> + <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="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppCall"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/traceOp/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" return ret; "/> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="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="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="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="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="traceOp"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/traceOp"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="cppCall"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppCall"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="cppType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + </eAnnotations> + <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/4.0.0/UML#//Type"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="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="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Type_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Operation"/> + </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/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:OrderedSetType" name="OrderedSet(Parameter)" instanceClassName="java.util.LinkedHashSet"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </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/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.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> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/traceOp"> + <details key="start" value="214"/> + <details key="end" value="775"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/traceOp/%"> + <details key="start" value="262"/> + <details key="end" value="412"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/traceOp/%.1"> + <details key="start" value="413"/> + <details key="end" value="427"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/traceOp/%.1/operation"> + <details key="start" value="413"/> + <details key="end" value="422"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/traceOp/%.2"> + <details key="start" value="429"/> + <details key="end" value="488"/> + <details key="line" value="9"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/traceOp/%.3"> + <details key="start" value="488"/> + <details key="end" value="627"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/traceOp/%.3/%"> + <details key="start" value="544"/> + <details key="end" value="546"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/traceOp/%.3/%.1"> + <details key="start" value="547"/> + <details key="end" value="561"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/traceOp/%.3/%.1/parameter"> + <details key="start" value="547"/> + <details key="end" value="556"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/traceOp/%.3/%.2"> + <details key="start" value="563"/> + <details key="end" value="573"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/traceOp/%.3/%.3"> + <details key="start" value="574"/> + <details key="end" value="593"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/traceOp/%.3/%.3/%"> + <details key="start" value="574"/> + <details key="end" value="588"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/traceOp/%.3/%.3/%/parameter"> + <details key="start" value="574"/> + <details key="end" value="583"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/traceOp/%.3/%.4"> + <details key="start" value="595"/> + <details key="end" value="603"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/traceOp/%.3/%.5"> + <details key="start" value="604"/> + <details key="end" value="618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/traceOp/%.3/%.5/parameter"> + <details key="start" value="604"/> + <details key="end" value="613"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/traceOp/%.3/%.6"> + <details key="start" value="620"/> + <details key="end" value="621"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/traceOp/%.3/parameter"> + <details key="start" value="494"/> + <details key="end" value="515"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/traceOp/%.3/%.7"> + <details key="start" value="518"/> + <details key="end" value="542"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/traceOp/%.3/%.7/operation"> + <details key="start" value="518"/> + <details key="end" value="527"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/traceOp/%.4"> + <details key="start" value="627"/> + <details key="end" value="639"/> + <details key="line" value="10"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/traceOp/%.5"> + <details key="start" value="639"/> + <details key="end" value="692"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/traceOp/%.5/%"> + <details key="start" value="661"/> + <details key="end" value="662"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/traceOp/%.5/%.1"> + <details key="start" value="663"/> + <details key="end" value="677"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/traceOp/%.5/%.1/%"> + <details key="start" value="663"/> + <details key="end" value="667"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/traceOp/%.5/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/traceOp/%.5/%.2"> + <details key="start" value="679"/> + <details key="end" value="687"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/traceOp/%.5/%.3"> + <details key="start" value="643"/> + <details key="end" value="660"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/traceOp/%.5/%.3/%"> + <details key="start" value="647"/> + <details key="end" value="660"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/traceOp/%.5/%.3/%/%"> + <details key="start" value="648"/> + <details key="end" value="652"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/traceOp/%.5/%.3/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/traceOp/%.5/%.3/%/%.1"> + <details key="start" value="655"/> + <details key="end" value="659"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/traceOp/%.6"> + <details key="start" value="692"/> + <details key="end" value="699"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/traceOp/%.7"> + <details key="start" value="700"/> + <details key="end" value="719"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/traceOp/%.7/operation"> + <details key="start" value="700"/> + <details key="end" value="709"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/traceOp/%.8"> + <details key="start" value="721"/> + <details key="end" value="723"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/traceOp/%.9"> + <details key="start" value="723"/> + <details key="end" value="763"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/traceOp/%.9/%"> + <details key="start" value="745"/> + <details key="end" value="758"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/traceOp/%.9/%.1"> + <details key="start" value="727"/> + <details key="end" value="744"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/traceOp/%.9/%.1/%"> + <details key="start" value="731"/> + <details key="end" value="744"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/traceOp/%.9/%.1/%/%"> + <details key="start" value="732"/> + <details key="end" value="736"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/traceOp/%.9/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/traceOp/%.9/%.1/%/%.1"> + <details key="start" value="739"/> + <details key="end" value="743"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/traceOp/operation"> + <details key="start" value="239"/> + <details key="end" value="259"/> + <details key="line" value="6"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.emtl b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.emtl new file mode 100644 index 00000000000..7e005a8dbb9 --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceLTTng.emtl @@ -0,0 +1,3596 @@ +<?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="traceLTTng" nsURI="org::eclipse::papyrus::qompass::modellibs::tracing::acceleo::traceLTTng" endHeaderPosition="59"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Query" name="hasTrace" visibility="Public"> + <parameter name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </parameter> + <expression xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/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="/5"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="org.eclipse.papyrus.qompass.modellibs.tracing.acceleo.TraceUtils"> + <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="hasTrace(org.eclipse.uml2.uml.Element)"> + <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="/4/Sequence(Element)" kind="Sequence"> + <part xsi:type="ocl.ecore:CollectionItem"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + <item xsi:type="ocl.ecore:VariableExp" name="element" referredVariable="/0/hasTrace/element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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:Template" name="declareTP" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#if !defined(HFILENAME_H) || defined(TRACEPOINT_HEADER_MULTI_READ)
#define HFILENAME_H

#ifdef __cplusplus
extern "C" {
#endif

#include <lttng/tracepoint.h>
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/declareTPop"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <argument xsi:type="mtl:TemplateInvocation" definition="/0/tpName1"> + <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="self" referredVariable="/13"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/declareTP/%.1/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/hasTrace"> + <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="self" referredVariable="/12"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </ifExpr> + </body> + <loopVariable name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:OperationCallExp" eType="/4/Set(Operation)"> + <source xsi:type="ocl.ecore:VariableExp" name="cl" referredVariable="/0/declareTP/cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier/getAllOperations"/> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
#undef TRACEPOINT_PROVIDER
#define TRACEPOINT_PROVIDER "/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName1"> + <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="self" referredVariable="/16"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="

#undef TRACEPOINT_INCLUDE_FILE
#define TRACEPOINT_INCLUDE_FILE "/> + <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="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/trafoContextClassifier"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/17"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/getQualifiedName"/> + </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> + <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/replaceAll"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h

#include <lttng/tracepoint-event.h>

#ifdef __cplusplus
}
#endif

#endif"/> + <parameter name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="declareTPop" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include <stdint.h>

// declare trace point
TRACEPOINT_EVENT("/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName1"> + <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="self" referredVariable="/23"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName2"> + <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="operation" referredVariable="/0/declareTPop/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",
	TP_ARGS(const char *, instanceName"/> + <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"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="mtl:QueryInvocation" eType="/4/Sequence(Parameter)"> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/parametersInInout"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/declareTPop/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(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> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/flattenParNameAndType"> + <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="self" referredVariable="/30"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <loopVariable name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </loopVariable> + <iterSet xsi:type="mtl:QueryInvocation" eType="/4/Sequence(Parameter)"> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/parametersInInout"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/declareTPop/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </iterSet> + <each 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"/> + </each> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="),
	TP_FIELDS(
		ctf_string(instanceName, instanceName)
"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="		"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/declareDependency"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/trafoContextClassifier"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/35"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </argument> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/declareTPop/%.8/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </body> + <body xsi:type="mtl:TemplateInvocation" definition="/0/flattenCtfType"> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/declareTPop/%.8/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </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="parameter" referredVariable="/0/declareTPop/%.8/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + <loopVariable name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </loopVariable> + <iterSet xsi:type="mtl:QueryInvocation" eType="/4/Sequence(Parameter)"> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/parametersInInout"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/declareTPop/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </iterSet> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	)
)
TRACEPOINT_MODEL_EMF_URI("/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName1"> + <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="self" referredVariable="/40"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName2"> + <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="operation" referredVariable="/0/declareTPop/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", ""/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/modelRef"> + <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="operation" referredVariable="/0/declareTPop/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="")
"/> + <parameter name="tpName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="declareCreateDestroy" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="TRACEPOINT_EVENT("/> + <body xsi:type="ocl.ecore:VariableExp" name="tpName" referredVariable="/0/declareCreateDestroy/tpName.2"> + <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=", createClass,
	TP_ARGS(const char *, classURI),
	TP_FIELDS(
		ctf_string(classURI, classURI)
	)
)
TRACEPOINT_EVENT("/> + <body xsi:type="ocl.ecore:VariableExp" name="tpName" referredVariable="/0/declareCreateDestroy/tpName.2"> + <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=", destroyClass,
	TP_ARGS(const char *, className),
	TP_FIELDS(
		ctf_string(xmdID, className)
	)
)"/> + <parameter name="tpName"> + <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:Comment"> + <body startPosition="2166" endPosition="2213" value="
	The name that is used for the trace provider
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="tpName1" visibility="Public"> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/varName.1"/> + <argument 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="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <source xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/templateBinding.1"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/53"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element/getNearestPackage"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/getQualifiedName"/> + </argument> + </body> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="2336" endPosition="2373" value="
	The name that is used for the type
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="tpName2" visibility="Public"> + <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="operation" referredVariable="/0/tpName2/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="2465" endPosition="2555" value="
	Reference either the port (if available in the context) or the operation that is traced
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="modelRef" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/getURI"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/getSourceRoot"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/modelRef/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/xmlID"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/modelRef/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </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="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Port"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/trafoContextPort"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/63"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/getURI"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/getSourceRoot"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/modelRef/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#"/> + <body xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/xmlID"/> + <argument xsi:type="mtl:QueryInvocation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Port"/> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/trafoContextPort"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/67"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	
"/> + </else> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + <post 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="self" referredVariable="/61"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> + </post> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="2818" endPosition="2819" value="
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="declareTraceOp" visibility="Public"> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="invokeTP" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// use (call) tracepoint
tracepoint("/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName1"> + <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="self" referredVariable="/77"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/tpName2"> + <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="operation" referredVariable="/0/invokeTP/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", instanceName"/> + <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"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/> + <source xsi:type="mtl:QueryInvocation" eType="/4/Sequence(Parameter)"> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/parametersInInout"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/invokeTP/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(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> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/flattenParName"> + <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="self" referredVariable="/83"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </argument> + </body> + <loopVariable name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </loopVariable> + <iterSet xsi:type="mtl:QueryInvocation" eType="/4/Sequence(Parameter)"> + <definition href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/parametersInInout"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/invokeTP/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </iterSet> + <each 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"/> + </each> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=");
"/> + <ifExpr xsi:type="mtl:QueryInvocation" definition="/0/hasTrace"> + <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="self" referredVariable="/76"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="flattenParNameAndType"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/cppTypeWB"> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/flattenParNameAndType/%/%.1/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </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: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="parameter" referredVariable="/0/flattenParNameAndType/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.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/+"/> + </source> + <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="attribute" referredVariable="/0/flattenParNameAndType/%/%.1/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> + </body> + <loopVariable name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/4/Set(Property)"> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/93"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/91/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </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/4.0.0/UML#//Classifier/attribute"/> + </iterSet> + <each 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"/> + </each> + </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:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/92"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/91/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/cppTypeWB"> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="parameter" referredVariable="/0/flattenParNameAndType/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + </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="parameter" referredVariable="/0/flattenParNameAndType/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <parameter name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </parameter> + <post 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="self" referredVariable="/89"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> + </post> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="flattenParName"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:ForBlock"> + <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: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="parameter" referredVariable="/0/flattenParName/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.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/+"/> + </source> + <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="attribute" referredVariable="/0/flattenParName/%/%.1/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> + </body> + <loopVariable name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/4/Set(Property)"> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + <source xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/108"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/91/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </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/4.0.0/UML#//Classifier/attribute"/> + </iterSet> + <each 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"/> + </each> + </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:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/107"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/91/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/> + </ifExpr> + <else> + <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="parameter" referredVariable="/0/flattenParName/parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <parameter name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </parameter> + <post 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="self" referredVariable="/105"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> + </post> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="flattenCtfType"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:ForBlock"> + <body xsi:type="mtl:TemplateInvocation" definition="/0/ctfType"> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="attribute" referredVariable="/0/flattenCtfType/%/%.1/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//TypedElement/type"/> + </argument> + <argument 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="name" referredVariable="/0/flattenCtfType/name"> + <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/+"/> + </source> + <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="attribute" referredVariable="/0/flattenCtfType/%/%.1/attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/+"/> + </argument> + </body> + <loopVariable name="attribute"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </loopVariable> + <iterSet xsi:type="ocl.ecore:PropertyCallExp" eType="/4/Set(Property)"> + <source xsi:type="ocl.ecore:OperationCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + <source xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/flattenCtfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/91/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </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/4.0.0/UML#//Classifier/attribute"/> + </iterSet> + <each 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"/> + </each> + </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:VariableExp" name="type" referredVariable="/0/flattenCtfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <argument xsi:type="ocl.ecore:TypeExp" eType="/91/DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclIsTypeOf"/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/ctfType"> + <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="type" referredVariable="/0/flattenCtfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </argument> + <argument xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/flattenCtfType/name"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <parameter name="type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </parameter> + <parameter name="name"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + <post 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="self" referredVariable="/118"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> + </post> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="cppTypeWB"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	/* bool */ unsigned char
"/> + <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:VariableExp" name="type" referredVariable="/0/cppTypeWB/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UMLPrimitiveTypes::Boolean"> + <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> + <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/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/cppTypeWB/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="PrimitiveTypes::Boolean"> + <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/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: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="type" referredVariable="/0/cppTypeWB/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CORBA::Boolean"> + <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/or"/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	"/> + <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="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/134"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
"/> + </else> + </body> + <parameter name="type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </parameter> + <post 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="self" referredVariable="/131"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> + </post> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Comment"> + <body startPosition="4406" endPosition="4556" value="
	Calculate the typename, defaulting to ctf_integer
	TODO: treat pointer & ref stereotypes (can only evaulate on parameter or attribute, not on Type)
"/> + </ownedModuleElement> + <ownedModuleElement xsi:type="mtl:Template" name="ctfType" visibility="Public"> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	ctf_string("/> + <body xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/ctfType/name"> + <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=", "/> + <body xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/ctfType/name"> + <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=")
"/> + <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:VariableExp" name="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CORBA::String"> + <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> + <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/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="PrimitiveTypes::String"> + <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/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: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="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UMLPrimitiveTypes::String"> + <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/or"/> + </ifExpr> + <else> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	ctf_integer("/> + <body xsi:type="mtl:TemplateInvocation" definition="/0/cppTypeWB"> + <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="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "/> + <body xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/ctfType/name"> + <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=", "/> + <body xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/ctfType/name"> + <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=")
"/> + </else> + <elseIf> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="	ctf_float("/> + <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="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + <argument xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", "/> + <body xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/ctfType/name"> + <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=", "/> + <body xsi:type="ocl.ecore:VariableExp" name="name" referredVariable="/0/ctfType/name"> + <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=")
"/> + <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="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CORBA::Float"> + <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> + <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/String"/> + <source xsi:type="ocl.ecore:VariableExp" name="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="CORBA::Double"> + <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/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: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="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="AnsiCLibrary::float"> + <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/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: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="type" referredVariable="/0/ctfType/type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </source> + <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/qualifiedName"/> + </source> + <argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="AnsiCLibrary::double"> + <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/or"/> + </ifExpr> + </elseIf> + </body> + <parameter name="type"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </parameter> + <parameter name="name"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </parameter> + <post 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="self" referredVariable="/138"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String_Class/trim"/> + </post> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="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="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="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="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="hasTrace"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/hasTrace"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/> + <eParameters name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="declareTP"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/declareTP"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="cl"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eParameters> + </eOperations> + <eOperations name="declareTPop"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/declareTPop"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="tpName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="declareCreateDestroy"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/declareCreateDestroy"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="tpName"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="tpName1"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/tpName1"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eOperations> + <eOperations name="tpName2"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/tpName2"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="modelRef"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/modelRef"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="declareTraceOp"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/declareTraceOp"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="invokeTP"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/invokeTP"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="flattenParNameAndType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/flattenParNameAndType"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eParameters> + </eOperations> + <eOperations name="flattenParName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/flattenParName"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="parameter"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eParameters> + </eOperations> + <eOperations name="flattenCtfType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/flattenCtfType"/> + <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/4.0.0/UML#//Type"/> + </eParameters> + <eParameters name="name"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="cppTypeWB"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/cppTypeWB"/> + <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/4.0.0/UML#//Type"/> + </eParameters> + </eOperations> + <eOperations name="ctfType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/ctfType"/> + <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/4.0.0/UML#//Type"/> + </eParameters> + <eParameters name="name"> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + </eParameters> + </eOperations> + <eOperations name="parametersInInout"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/parametersInInout"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/3/Sequence(Parameter)"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="declareDependency"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/declareDependency"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + <eParameters name="source"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </eParameters> + <eParameters name="dest"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </eParameters> + </eOperations> + <eOperations name="varName"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/varName.1"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <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="xmlID"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/xmlID"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="getURI"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0/getURI"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="element"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="trafoContextClassifier"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/trafoContextClassifier"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + <eParameters name="dummmy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="trafoContextPort"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/trafoContextPort"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Port"/> + <eParameters name="dummmy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="templateBinding"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/templateBinding.1"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + </eOperations> + <eOperations name="getSourceRoot"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/getSourceRoot"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/> + <eParameters name="dummy"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eParameters> + </eOperations> + <eOperations name="cppType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + </eAnnotations> + <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/4.0.0/UML#//Type"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="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> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="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="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + <eOperations name="templateBinding"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/TransformationContext.emtl#/0/templateBinding"/> + </eAnnotations> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateBinding"/> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Type_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </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/4.0.0/UML#//Element"/> + </ocl.ecore:Variable> + <ecore:EPackage name="collections"> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Element)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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:SetType" name="Set(Operation)" instanceClassName="java.util.Set"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eClassifiers> + <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Parameter)" instanceClassName="java.util.List"> + <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Property"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </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/4.0.0/UML#//Classifier"/> + </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/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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/4.0.0/UML#//Classifier"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </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="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/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="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="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/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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="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="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/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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="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/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="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="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="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="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/emf/2002/Ecore#//EObject"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </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/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.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/4.0.0/UML#//Operation"/> + </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/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.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/4.0.0/UML#//Operation"/> + </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/4.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/4.0.0/UML#//Operation"/> + </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/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </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/4.0.0/UML#//Parameter"/> + </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/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ecore:EPackage name="types"> + <eClassifiers xsi:type="ocl.ecore:TypeType" name="DataType"> + <referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//DataType"/> + </eClassifiers> + </ecore:EPackage> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Parameter"/> + </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/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Type"/> + </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/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Property"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </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/4.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/4.0.0/UML#//Type"/> + </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/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.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/4.0.0/UML#//Type"/> + </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/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.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/hasTrace"> + <details key="start" value="305"/> + <details key="end" value="502"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/hasTrace/element"> + <details key="start" value="328"/> + <details key="end" value="345"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/hasTrace/%"> + <details key="start" value="360"/> + <details key="end" value="499"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/hasTrace/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/hasTrace/%/%"> + <details key="start" value="367"/> + <details key="end" value="433"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/hasTrace/%/%.1"> + <details key="start" value="437"/> + <details key="end" value="477"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/hasTrace/%/%.2"> + <details key="start" value="481"/> + <details key="end" value="498"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/hasTrace/%/%.2/%/element"> + <details key="start" value="490"/> + <details key="end" value="497"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/declareTP"> + <details key="start" value="504"/> + <details key="end" value="1117"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/declareTP/%"> + <details key="start" value="548"/> + <details key="end" value="706"/> + <details key="line" value="13"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/declareTP/%.1"> + <details key="start" value="706"/> + <details key="end" value="825"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/declareTP/%.1/%"> + <details key="start" value="760"/> + <details key="end" value="818"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/declareTP/%.1/%/%"> + <details key="start" value="777"/> + <details key="end" value="810"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/declareTP/%.1/%/%/%"> + <details key="start" value="789"/> + <details key="end" value="798"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/declareTP/%.1/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/declareTP/%.1/%/%/operation"> + <details key="start" value="800"/> + <details key="end" value="809"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/declareTP/%.1/%/%.1"> + <details key="start" value="812"/> + <details key="end" value="813"/> + <details key="line" value="24"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/declareTP/%.1/%/%.2"> + <details key="start" value="764"/> + <details key="end" value="774"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/declareTP/%.1/%/%.2/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/declareTP/%.1/operation"> + <details key="start" value="712"/> + <details key="end" value="733"/> + <details key="line" value="21"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/declareTP/%.1/%.1"> + <details key="start" value="736"/> + <details key="end" value="757"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/declareTP/%.1/%.1/cl"> + <details key="start" value="736"/> + <details key="end" value="738"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/declareTP/%.2"> + <details key="start" value="826"/> + <details key="end" value="882"/> + <details key="line" value="26"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/declareTP/%.3"> + <details key="start" value="883"/> + <details key="end" value="892"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/declareTP/%.3/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.25" references="/0/declareTP/%.4"> + <details key="start" value="895"/> + <details key="end" value="960"/> + <details key="line" value="29"/> + </eAnnotations> + <eAnnotations source="positions.26" references="/0/declareTP/%.5"> + <details key="start" value="961"/> + <details key="end" value="1026"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.27" references="/0/declareTP/%.5/%"> + <details key="start" value="961"/> + <details key="end" value="1004"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.28" references="/0/declareTP/%.5/%/%"> + <details key="start" value="961"/> + <details key="end" value="985"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.29" references="/0/declareTP/%.5/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.30" references="/0/declareTP/%.5/%.1"> + <details key="start" value="1016"/> + <details key="end" value="1020"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.31" references="/0/declareTP/%.5/%.2"> + <details key="start" value="1022"/> + <details key="end" value="1025"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.32" references="/0/declareTP/%.6"> + <details key="start" value="1029"/> + <details key="end" value="1105"/> + <details key="line" value="31"/> + </eAnnotations> + <eAnnotations source="positions.33" references="/0/declareTP/cl"> + <details key="start" value="531"/> + <details key="end" value="545"/> + <details key="line" value="12"/> + </eAnnotations> + <eAnnotations source="positions.34" references="/0/declareTPop"> + <details key="start" value="1119"/> + <details key="end" value="1836"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.35" references="/0/declareTPop/%"> + <details key="start" value="1189"/> + <details key="end" value="1250"/> + <details key="line" value="43"/> + </eAnnotations> + <eAnnotations source="positions.36" references="/0/declareTPop/%.1"> + <details key="start" value="1251"/> + <details key="end" value="1260"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.37" references="/0/declareTPop/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.38" references="/0/declareTPop/%.2"> + <details key="start" value="1262"/> + <details key="end" value="1264"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.39" references="/0/declareTPop/%.3"> + <details key="start" value="1265"/> + <details key="end" value="1284"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.40" references="/0/declareTPop/%.3/operation"> + <details key="start" value="1265"/> + <details key="end" value="1274"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.41" references="/0/declareTPop/%.4"> + <details key="start" value="1286"/> + <details key="end" value="1323"/> + <details key="line" value="46"/> + </eAnnotations> + <eAnnotations source="positions.42" references="/0/declareTPop/%.5"> + <details key="start" value="1323"/> + <details key="end" value="1378"/> + <details key="line" value="47"/> + </eAnnotations> + <eAnnotations source="positions.43" references="/0/declareTPop/%.5/%"> + <details key="start" value="1371"/> + <details key="end" value="1373"/> + <details key="line" value="47"/> + </eAnnotations> + <eAnnotations source="positions.44" references="/0/declareTPop/%.5/%.1"> + <details key="start" value="1327"/> + <details key="end" value="1370"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.45" references="/0/declareTPop/%.5/%.1/%"> + <details key="start" value="1328"/> + <details key="end" value="1365"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.46" references="/0/declareTPop/%.5/%.1/%/%"> + <details key="start" value="1328"/> + <details key="end" value="1357"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.47" references="/0/declareTPop/%.5/%.1/%/%/operation"> + <details key="start" value="1328"/> + <details key="end" value="1337"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.48" references="/0/declareTPop/%.5/%.1/%.1"> + <details key="start" value="1368"/> + <details key="end" value="1369"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.49" references="/0/declareTPop/%.6"> + <details key="start" value="1378"/> + <details key="end" value="1487"/> + <details key="line" value="47"/> + </eAnnotations> + <eAnnotations source="positions.50" references="/0/declareTPop/%.6/%"> + <details key="start" value="1456"/> + <details key="end" value="1479"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.51" references="/0/declareTPop/%.6/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.52" references="/0/declareTPop/%.6/parameter"> + <details key="start" value="1384"/> + <details key="end" value="1405"/> + <details key="line" value="47"/> + </eAnnotations> + <eAnnotations source="positions.53" references="/0/declareTPop/%.6/%.1"> + <details key="start" value="1408"/> + <details key="end" value="1437"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.54" references="/0/declareTPop/%.6/%.1/operation"> + <details key="start" value="1408"/> + <details key="end" value="1417"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.55" references="/0/declareTPop/%.6/%.2"> + <details key="start" value="1449"/> + <details key="end" value="1453"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.56" references="/0/declareTPop/%.7"> + <details key="start" value="1487"/> + <details key="end" value="1543"/> + <details key="line" value="47"/> + </eAnnotations> + <eAnnotations source="positions.57" references="/0/declareTPop/%.8"> + <details key="start" value="1545"/> + <details key="end" value="1728"/> + <details key="line" value="50"/> + </eAnnotations> + <eAnnotations source="positions.58" references="/0/declareTPop/%.8/%"> + <details key="start" value="1607"/> + <details key="end" value="1609"/> + <details key="line" value="51"/> + </eAnnotations> + <eAnnotations source="positions.59" references="/0/declareTPop/%.8/%.1"> + <details key="start" value="1610"/> + <details key="end" value="1668"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.60" references="/0/declareTPop/%.8/%.1/%"> + <details key="start" value="1610"/> + <details key="end" value="1634"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.61" references="/0/declareTPop/%.8/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.62" references="/0/declareTPop/%.8/%.1/%.1"> + <details key="start" value="1653"/> + <details key="end" value="1667"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.63" references="/0/declareTPop/%.8/%.1/%.1/parameter"> + <details key="start" value="1653"/> + <details key="end" value="1662"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.64" references="/0/declareTPop/%.8/%.2"> + <details key="start" value="1671"/> + <details key="end" value="1717"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.65" references="/0/declareTPop/%.8/%.2/%"> + <details key="start" value="1686"/> + <details key="end" value="1700"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.66" references="/0/declareTPop/%.8/%.2/%/parameter"> + <details key="start" value="1686"/> + <details key="end" value="1695"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.67" references="/0/declareTPop/%.8/%.2/%.1"> + <details key="start" value="1702"/> + <details key="end" value="1716"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.68" references="/0/declareTPop/%.8/%.2/%.1/parameter"> + <details key="start" value="1702"/> + <details key="end" value="1711"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.69" references="/0/declareTPop/%.8/%.3"> + <details key="start" value="1719"/> + <details key="end" value="1720"/> + <details key="line" value="52"/> + </eAnnotations> + <eAnnotations source="positions.70" references="/0/declareTPop/%.8/parameter"> + <details key="start" value="1551"/> + <details key="end" value="1572"/> + <details key="line" value="50"/> + </eAnnotations> + <eAnnotations source="positions.71" references="/0/declareTPop/%.8/%.4"> + <details key="start" value="1575"/> + <details key="end" value="1604"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.72" references="/0/declareTPop/%.8/%.4/operation"> + <details key="start" value="1575"/> + <details key="end" value="1584"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.73" references="/0/declareTPop/%.9"> + <details key="start" value="1729"/> + <details key="end" value="1759"/> + <details key="line" value="53"/> + </eAnnotations> + <eAnnotations source="positions.74" references="/0/declareTPop/%.10"> + <details key="start" value="1760"/> + <details key="end" value="1769"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.75" references="/0/declareTPop/%.10/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.76" references="/0/declareTPop/%.11"> + <details key="start" value="1771"/> + <details key="end" value="1773"/> + <details key="line" value="55"/> + </eAnnotations> + <eAnnotations source="positions.77" references="/0/declareTPop/%.12"> + <details key="start" value="1774"/> + <details key="end" value="1793"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.78" references="/0/declareTPop/%.12/operation"> + <details key="start" value="1774"/> + <details key="end" value="1783"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.79" references="/0/declareTPop/%.13"> + <details key="start" value="1795"/> + <details key="end" value="1798"/> + <details key="line" value="55"/> + </eAnnotations> + <eAnnotations source="positions.80" references="/0/declareTPop/%.14"> + <details key="start" value="1799"/> + <details key="end" value="1819"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.81" references="/0/declareTPop/%.14/operation"> + <details key="start" value="1799"/> + <details key="end" value="1808"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.82" references="/0/declareTPop/%.15"> + <details key="start" value="1821"/> + <details key="end" value="1824"/> + <details key="line" value="55"/> + </eAnnotations> + <eAnnotations source="positions.83" references="/0/declareTPop/tpName"> + <details key="start" value="1148"/> + <details key="end" value="1163"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.84" references="/0/declareTPop/operation"> + <details key="start" value="1165"/> + <details key="end" value="1186"/> + <details key="line" value="42"/> + </eAnnotations> + <eAnnotations source="positions.85" references="/0/declareCreateDestroy"> + <details key="start" value="1838"/> + <details key="end" value="2155"/> + <details key="line" value="59"/> + </eAnnotations> + <eAnnotations source="positions.86" references="/0/declareCreateDestroy/%"> + <details key="start" value="1894"/> + <details key="end" value="1911"/> + <details key="line" value="60"/> + </eAnnotations> + <eAnnotations source="positions.87" references="/0/declareCreateDestroy/tpName"> + <details key="start" value="1912"/> + <details key="end" value="1918"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.88" references="/0/declareCreateDestroy/%.1"> + <details key="start" value="1920"/> + <details key="end" value="2036"/> + <details key="line" value="60"/> + </eAnnotations> + <eAnnotations source="positions.89" references="/0/declareCreateDestroy/tpName.1"> + <details key="start" value="2037"/> + <details key="end" value="2043"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.90" references="/0/declareCreateDestroy/%.2"> + <details key="start" value="2045"/> + <details key="end" value="2143"/> + <details key="line" value="66"/> + </eAnnotations> + <eAnnotations source="positions.91" references="/0/declareCreateDestroy/tpName.2"> + <details key="start" value="1876"/> + <details key="end" value="1891"/> + <details key="line" value="59"/> + </eAnnotations> + <eAnnotations source="positions.92" references="/0/%"> + <details key="start" value="2158"/> + <details key="end" value="2215"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.93" references="/0/tpName1"> + <details key="start" value="2216"/> + <details key="end" value="2325"/> + <details key="line" value="78"/> + </eAnnotations> + <eAnnotations source="positions.94" references="/0/tpName1/%"> + <details key="start" value="2245"/> + <details key="end" value="2311"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.95" references="/0/tpName1/%/%"> + <details key="start" value="2245"/> + <details key="end" value="2301"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.96" references="/0/tpName1/%/%/%"> + <details key="start" value="2245"/> + <details key="end" value="2282"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.97" references="/0/tpName1/%/%/%/%"> + <details key="start" value="2245"/> + <details key="end" value="2262"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.98" references="/0/tpName1/%/%/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.99" references="/0/%.1"> + <details key="start" value="2328"/> + <details key="end" value="2375"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.100" references="/0/tpName2"> + <details key="start" value="2376"/> + <details key="end" value="2454"/> + <details key="line" value="86"/> + </eAnnotations> + <eAnnotations source="positions.101" references="/0/tpName2/%"> + <details key="start" value="2426"/> + <details key="end" value="2440"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.102" references="/0/tpName2/%/operation"> + <details key="start" value="2426"/> + <details key="end" value="2435"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.103" references="/0/tpName2/operation"> + <details key="start" value="2401"/> + <details key="end" value="2422"/> + <details key="line" value="86"/> + </eAnnotations> + <eAnnotations source="positions.104" references="/0/%.2"> + <details key="start" value="2457"/> + <details key="end" value="2557"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.105" references="/0/modelRef"> + <details key="start" value="2558"/> + <details key="end" value="2808"/> + <details key="line" value="94"/> + </eAnnotations> + <eAnnotations source="positions.106" references="/0/modelRef/%"> + <details key="start" value="2621"/> + <details key="end" value="2796"/> + <details key="line" value="95"/> + </eAnnotations> + <eAnnotations source="positions.107" references="/0/modelRef/%/%"> + <details key="start" value="2654"/> + <details key="end" value="2655"/> + <details key="line" value="96"/> + </eAnnotations> + <eAnnotations source="positions.108" references="/0/modelRef/%/%.1"> + <details key="start" value="2656"/> + <details key="end" value="2690"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.109" references="/0/modelRef/%/%.1/%"> + <details key="start" value="2656"/> + <details key="end" value="2681"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.110" references="/0/modelRef/%/%.1/%/operation"> + <details key="start" value="2656"/> + <details key="end" value="2665"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.111" references="/0/modelRef/%/%.2"> + <details key="start" value="2692"/> + <details key="end" value="2693"/> + <details key="line" value="96"/> + </eAnnotations> + <eAnnotations source="positions.112" references="/0/modelRef/%/%.3"> + <details key="start" value="2694"/> + <details key="end" value="2711"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.113" references="/0/modelRef/%/%.3/operation"> + <details key="start" value="2694"/> + <details key="end" value="2703"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.114" references="/0/modelRef/%/%.4"> + <details key="start" value="2713"/> + <details key="end" value="2714"/> + <details key="line" value="97"/> + </eAnnotations> + <eAnnotations source="positions.115" references="/0/modelRef/%/%.5"> + <details key="start" value="2625"/> + <details key="end" value="2652"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.116" references="/0/modelRef/%/%.5/%"> + <details key="start" value="2626"/> + <details key="end" value="2644"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.117" references="/0/modelRef/%/%.5/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.118" references="/0/modelRef/%/%.5/%.1"> + <details key="start" value="2647"/> + <details key="end" value="2651"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.119" references="/0/modelRef/%/%.6"> + <details key="start" value="2714"/> + <details key="end" value="2791"/> + <details key="line" value="97"/> + </eAnnotations> + <eAnnotations source="positions.120" references="/0/modelRef/%/%.6/%"> + <details key="start" value="2721"/> + <details key="end" value="2722"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.121" references="/0/modelRef/%/%.6/%.1"> + <details key="start" value="2723"/> + <details key="end" value="2757"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.122" references="/0/modelRef/%/%.6/%.1/%"> + <details key="start" value="2723"/> + <details key="end" value="2748"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.123" references="/0/modelRef/%/%.6/%.1/%/operation"> + <details key="start" value="2723"/> + <details key="end" value="2732"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.124" references="/0/modelRef/%/%.6/%.2"> + <details key="start" value="2759"/> + <details key="end" value="2760"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.125" references="/0/modelRef/%/%.6/%.3"> + <details key="start" value="2761"/> + <details key="end" value="2787"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.126" references="/0/modelRef/%/%.6/%.3/%"> + <details key="start" value="2761"/> + <details key="end" value="2779"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.127" references="/0/modelRef/%/%.6/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.128" references="/0/modelRef/%/%.6/%.4"> + <details key="start" value="2789"/> + <details key="end" value="2791"/> + <details key="line" value="98"/> + </eAnnotations> + <eAnnotations source="positions.129" references="/0/modelRef/operation"> + <details key="start" value="2584"/> + <details key="end" value="2605"/> + <details key="line" value="94"/> + </eAnnotations> + <eAnnotations source="positions.130" references="/0/modelRef/%.1"> + <details key="start" value="2612"/> + <details key="end" value="2618"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.131" references="/0/modelRef/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.132" references="/0/%.3"> + <details key="start" value="2810"/> + <details key="end" value="2821"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.133" references="/0/declareTraceOp"> + <details key="start" value="2822"/> + <details key="end" value="2889"/> + <details key="line" value="104"/> + </eAnnotations> + <eAnnotations source="positions.134" references="/0/declareTraceOp/operation"> + <details key="start" value="2854"/> + <details key="end" value="2875"/> + <details key="line" value="104"/> + </eAnnotations> + <eAnnotations source="positions.135" references="/0/invokeTP"> + <details key="start" value="2891"/> + <details key="end" value="3220"/> + <details key="line" value="107"/> + </eAnnotations> + <eAnnotations source="positions.136" references="/0/invokeTP/%"> + <details key="start" value="2941"/> + <details key="end" value="3208"/> + <details key="line" value="108"/> + </eAnnotations> + <eAnnotations source="positions.137" references="/0/invokeTP/%/%"> + <details key="start" value="2957"/> + <details key="end" value="2993"/> + <details key="line" value="109"/> + </eAnnotations> + <eAnnotations source="positions.138" references="/0/invokeTP/%/%.1"> + <details key="start" value="2994"/> + <details key="end" value="3003"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.139" references="/0/invokeTP/%/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.140" references="/0/invokeTP/%/%.2"> + <details key="start" value="3005"/> + <details key="end" value="3007"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.141" references="/0/invokeTP/%/%.3"> + <details key="start" value="3008"/> + <details key="end" value="3027"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.142" references="/0/invokeTP/%/%.3/operation"> + <details key="start" value="3008"/> + <details key="end" value="3017"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.143" references="/0/invokeTP/%/%.4"> + <details key="start" value="3029"/> + <details key="end" value="3043"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.144" references="/0/invokeTP/%/%.5"> + <details key="start" value="3043"/> + <details key="end" value="3098"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.145" references="/0/invokeTP/%/%.5/%"> + <details key="start" value="3091"/> + <details key="end" value="3093"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.146" references="/0/invokeTP/%/%.5/%.1"> + <details key="start" value="3047"/> + <details key="end" value="3090"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.147" references="/0/invokeTP/%/%.5/%.1/%"> + <details key="start" value="3048"/> + <details key="end" value="3085"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.148" references="/0/invokeTP/%/%.5/%.1/%/%"> + <details key="start" value="3048"/> + <details key="end" value="3077"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.149" references="/0/invokeTP/%/%.5/%.1/%/%/operation"> + <details key="start" value="3048"/> + <details key="end" value="3057"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.150" references="/0/invokeTP/%/%.5/%.1/%.1"> + <details key="start" value="3088"/> + <details key="end" value="3089"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.151" references="/0/invokeTP/%/%.6"> + <details key="start" value="3098"/> + <details key="end" value="3200"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.152" references="/0/invokeTP/%/%.6/%"> + <details key="start" value="3176"/> + <details key="end" value="3192"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.153" references="/0/invokeTP/%/%.6/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.154" references="/0/invokeTP/%/%.6/parameter"> + <details key="start" value="3104"/> + <details key="end" value="3125"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.155" references="/0/invokeTP/%/%.6/%.1"> + <details key="start" value="3128"/> + <details key="end" value="3157"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.156" references="/0/invokeTP/%/%.6/%.1/operation"> + <details key="start" value="3128"/> + <details key="end" value="3137"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.157" references="/0/invokeTP/%/%.6/%.2"> + <details key="start" value="3169"/> + <details key="end" value="3173"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.158" references="/0/invokeTP/%/%.7"> + <details key="start" value="3200"/> + <details key="end" value="3203"/> + <details key="line" value="110"/> + </eAnnotations> + <eAnnotations source="positions.159" references="/0/invokeTP/%/%.8"> + <details key="start" value="2945"/> + <details key="end" value="2955"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.160" references="/0/invokeTP/%/%.8/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.161" references="/0/invokeTP/operation"> + <details key="start" value="2917"/> + <details key="end" value="2938"/> + <details key="line" value="107"/> + </eAnnotations> + <eAnnotations source="positions.162" references="/0/flattenParNameAndType"> + <details key="start" value="3223"/> + <details key="end" value="3560"/> + <details key="line" value="115"/> + </eAnnotations> + <eAnnotations source="positions.163" references="/0/flattenParNameAndType/%"> + <details key="start" value="3292"/> + <details key="end" value="3548"/> + <details key="line" value="116"/> + </eAnnotations> + <eAnnotations source="positions.164" references="/0/flattenParNameAndType/%/%"> + <details key="start" value="3326"/> + <details key="end" value="3327"/> + <details key="line" value="117"/> + </eAnnotations> + <eAnnotations source="positions.165" references="/0/flattenParNameAndType/%/%.1"> + <details key="start" value="3327"/> + <details key="end" value="3485"/> + <details key="line" value="117"/> + </eAnnotations> + <eAnnotations source="positions.166" references="/0/flattenParNameAndType/%/%.1/%"> + <details key="start" value="3409"/> + <details key="end" value="3435"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.167" references="/0/flattenParNameAndType/%/%.1/%/%"> + <details key="start" value="3409"/> + <details key="end" value="3423"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.168" references="/0/flattenParNameAndType/%/%.1/%/%/attribute"> + <details key="start" value="3409"/> + <details key="end" value="3418"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.169" references="/0/flattenParNameAndType/%/%.1/%.1"> + <details key="start" value="3437"/> + <details key="end" value="3439"/> + <details key="line" value="117"/> + </eAnnotations> + <eAnnotations source="positions.170" references="/0/flattenParNameAndType/%/%.1/%.2"> + <details key="start" value="3440"/> + <details key="end" value="3477"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.171" references="/0/flattenParNameAndType/%/%.1/%.2/%"> + <details key="start" value="3440"/> + <details key="end" value="3460"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.172" references="/0/flattenParNameAndType/%/%.1/%.2/%/%"> + <details key="start" value="3440"/> + <details key="end" value="3454"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.173" references="/0/flattenParNameAndType/%/%.1/%.2/%/%/parameter"> + <details key="start" value="3440"/> + <details key="end" value="3449"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.174" references="/0/flattenParNameAndType/%/%.1/%.2/%/%.1"> + <details key="start" value="3457"/> + <details key="end" value="3460"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.175" references="/0/flattenParNameAndType/%/%.1/%.2/%.1"> + <details key="start" value="3463"/> + <details key="end" value="3477"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.176" references="/0/flattenParNameAndType/%/%.1/%.2/%.1/attribute"> + <details key="start" value="3463"/> + <details key="end" value="3472"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.177" references="/0/flattenParNameAndType/%/%.1/attribute"> + <details key="start" value="3333"/> + <details key="end" value="3353"/> + <details key="line" value="117"/> + </eAnnotations> + <eAnnotations source="positions.178" references="/0/flattenParNameAndType/%/%.1/%.3"> + <details key="start" value="3356"/> + <details key="end" value="3390"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.179" references="/0/flattenParNameAndType/%/%.1/%.3/%"> + <details key="start" value="3356"/> + <details key="end" value="3380"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.180" references="/0/flattenParNameAndType/%/%.1/%.3/%/%"> + <details key="start" value="3356"/> + <details key="end" value="3360"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.181" references="/0/flattenParNameAndType/%/%.1/%.3/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.182" references="/0/flattenParNameAndType/%/%.1/%.3/%/%.1"> + <details key="start" value="3371"/> + <details key="end" value="3379"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.183" references="/0/flattenParNameAndType/%/%.1/%.4"> + <details key="start" value="3402"/> + <details key="end" value="3406"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.184" references="/0/flattenParNameAndType/%/%.2"> + <details key="start" value="3485"/> + <details key="end" value="3486"/> + <details key="line" value="118"/> + </eAnnotations> + <eAnnotations source="positions.185" references="/0/flattenParNameAndType/%/%.3"> + <details key="start" value="3296"/> + <details key="end" value="3324"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.186" references="/0/flattenParNameAndType/%/%.3/%"> + <details key="start" value="3297"/> + <details key="end" value="3301"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.187" references="/0/flattenParNameAndType/%/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.188" references="/0/flattenParNameAndType/%/%.3/%.1"> + <details key="start" value="3314"/> + <details key="end" value="3322"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.189" references="/0/flattenParNameAndType/%/%.4"> + <details key="start" value="3486"/> + <details key="end" value="3543"/> + <details key="line" value="118"/> + </eAnnotations> + <eAnnotations source="positions.190" references="/0/flattenParNameAndType/%/%.4/%"> + <details key="start" value="3493"/> + <details key="end" value="3494"/> + <details key="line" value="119"/> + </eAnnotations> + <eAnnotations source="positions.191" references="/0/flattenParNameAndType/%/%.4/%.1"> + <details key="start" value="3495"/> + <details key="end" value="3521"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.192" references="/0/flattenParNameAndType/%/%.4/%.1/%"> + <details key="start" value="3495"/> + <details key="end" value="3509"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.193" references="/0/flattenParNameAndType/%/%.4/%.1/%/parameter"> + <details key="start" value="3495"/> + <details key="end" value="3504"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.194" references="/0/flattenParNameAndType/%/%.4/%.2"> + <details key="start" value="3523"/> + <details key="end" value="3525"/> + <details key="line" value="119"/> + </eAnnotations> + <eAnnotations source="positions.195" references="/0/flattenParNameAndType/%/%.4/%.3"> + <details key="start" value="3526"/> + <details key="end" value="3540"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.196" references="/0/flattenParNameAndType/%/%.4/%.3/parameter"> + <details key="start" value="3526"/> + <details key="end" value="3535"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.197" references="/0/flattenParNameAndType/%/%.4/%.4"> + <details key="start" value="3542"/> + <details key="end" value="3543"/> + <details key="line" value="120"/> + </eAnnotations> + <eAnnotations source="positions.198" references="/0/flattenParNameAndType/parameter"> + <details key="start" value="3255"/> + <details key="end" value="3276"/> + <details key="line" value="115"/> + </eAnnotations> + <eAnnotations source="positions.199" references="/0/flattenParNameAndType/%.1"> + <details key="start" value="3283"/> + <details key="end" value="3289"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.200" references="/0/flattenParNameAndType/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.201" references="/0/flattenParName"> + <details key="start" value="3562"/> + <details key="end" value="3830"/> + <details key="line" value="123"/> + </eAnnotations> + <eAnnotations source="positions.202" references="/0/flattenParName/%"> + <details key="start" value="3624"/> + <details key="end" value="3818"/> + <details key="line" value="124"/> + </eAnnotations> + <eAnnotations source="positions.203" references="/0/flattenParName/%/%"> + <details key="start" value="3658"/> + <details key="end" value="3659"/> + <details key="line" value="125"/> + </eAnnotations> + <eAnnotations source="positions.204" references="/0/flattenParName/%/%.1"> + <details key="start" value="3659"/> + <details key="end" value="3786"/> + <details key="line" value="125"/> + </eAnnotations> + <eAnnotations source="positions.205" references="/0/flattenParName/%/%.1/%"> + <details key="start" value="3741"/> + <details key="end" value="3778"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.206" references="/0/flattenParName/%/%.1/%/%"> + <details key="start" value="3741"/> + <details key="end" value="3761"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.207" references="/0/flattenParName/%/%.1/%/%/%"> + <details key="start" value="3741"/> + <details key="end" value="3755"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.208" references="/0/flattenParName/%/%.1/%/%/%/parameter"> + <details key="start" value="3741"/> + <details key="end" value="3750"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.209" references="/0/flattenParName/%/%.1/%/%/%.1"> + <details key="start" value="3758"/> + <details key="end" value="3761"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.210" references="/0/flattenParName/%/%.1/%/%.1"> + <details key="start" value="3764"/> + <details key="end" value="3778"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.211" references="/0/flattenParName/%/%.1/%/%.1/attribute"> + <details key="start" value="3764"/> + <details key="end" value="3773"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.212" references="/0/flattenParName/%/%.1/attribute"> + <details key="start" value="3665"/> + <details key="end" value="3685"/> + <details key="line" value="125"/> + </eAnnotations> + <eAnnotations source="positions.213" references="/0/flattenParName/%/%.1/%.1"> + <details key="start" value="3688"/> + <details key="end" value="3722"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.214" references="/0/flattenParName/%/%.1/%.1/%"> + <details key="start" value="3688"/> + <details key="end" value="3712"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.215" references="/0/flattenParName/%/%.1/%.1/%/%"> + <details key="start" value="3688"/> + <details key="end" value="3692"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.216" references="/0/flattenParName/%/%.1/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.217" references="/0/flattenParName/%/%.1/%.1/%/%.1"> + <details key="start" value="3703"/> + <details key="end" value="3711"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.218" references="/0/flattenParName/%/%.1/%.2"> + <details key="start" value="3734"/> + <details key="end" value="3738"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.219" references="/0/flattenParName/%/%.2"> + <details key="start" value="3786"/> + <details key="end" value="3787"/> + <details key="line" value="126"/> + </eAnnotations> + <eAnnotations source="positions.220" references="/0/flattenParName/%/%.3"> + <details key="start" value="3628"/> + <details key="end" value="3656"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.221" references="/0/flattenParName/%/%.3/%"> + <details key="start" value="3629"/> + <details key="end" value="3633"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.222" references="/0/flattenParName/%/%.3/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.223" references="/0/flattenParName/%/%.3/%.1"> + <details key="start" value="3646"/> + <details key="end" value="3654"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.224" references="/0/flattenParName/%/%.4"> + <details key="start" value="3787"/> + <details key="end" value="3813"/> + <details key="line" value="126"/> + </eAnnotations> + <eAnnotations source="positions.225" references="/0/flattenParName/%/%.4/%"> + <details key="start" value="3794"/> + <details key="end" value="3795"/> + <details key="line" value="127"/> + </eAnnotations> + <eAnnotations source="positions.226" references="/0/flattenParName/%/%.4/%.1"> + <details key="start" value="3796"/> + <details key="end" value="3810"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.227" references="/0/flattenParName/%/%.4/%.1/parameter"> + <details key="start" value="3796"/> + <details key="end" value="3805"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.228" references="/0/flattenParName/%/%.4/%.2"> + <details key="start" value="3812"/> + <details key="end" value="3813"/> + <details key="line" value="128"/> + </eAnnotations> + <eAnnotations source="positions.229" references="/0/flattenParName/parameter"> + <details key="start" value="3587"/> + <details key="end" value="3608"/> + <details key="line" value="123"/> + </eAnnotations> + <eAnnotations source="positions.230" references="/0/flattenParName/%.1"> + <details key="start" value="3615"/> + <details key="end" value="3621"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.231" references="/0/flattenParName/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.232" references="/0/flattenCtfType"> + <details key="start" value="3833"/> + <details key="end" value="4126"/> + <details key="line" value="132"/> + </eAnnotations> + <eAnnotations source="positions.233" references="/0/flattenCtfType/%"> + <details key="start" value="3900"/> + <details key="end" value="4114"/> + <details key="line" value="133"/> + </eAnnotations> + <eAnnotations source="positions.234" references="/0/flattenCtfType/%/%"> + <details key="start" value="3934"/> + <details key="end" value="3935"/> + <details key="line" value="134"/> + </eAnnotations> + <eAnnotations source="positions.235" references="/0/flattenCtfType/%/%.1"> + <details key="start" value="3935"/> + <details key="end" value="4077"/> + <details key="line" value="134"/> + </eAnnotations> + <eAnnotations source="positions.236" references="/0/flattenCtfType/%/%.1/%"> + <details key="start" value="4017"/> + <details key="end" value="4069"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.237" references="/0/flattenCtfType/%/%.1/%/%"> + <details key="start" value="4025"/> + <details key="end" value="4039"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.238" references="/0/flattenCtfType/%/%.1/%/%/attribute"> + <details key="start" value="4025"/> + <details key="end" value="4034"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.239" references="/0/flattenCtfType/%/%.1/%/%.1"> + <details key="start" value="4041"/> + <details key="end" value="4068"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.240" references="/0/flattenCtfType/%/%.1/%/%.1/%"> + <details key="start" value="4041"/> + <details key="end" value="4051"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.241" references="/0/flattenCtfType/%/%.1/%/%.1/%/name"> + <details key="start" value="4041"/> + <details key="end" value="4045"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.242" references="/0/flattenCtfType/%/%.1/%/%.1/%/%"> + <details key="start" value="4048"/> + <details key="end" value="4051"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.243" references="/0/flattenCtfType/%/%.1/%/%.1/%.1"> + <details key="start" value="4054"/> + <details key="end" value="4068"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.244" references="/0/flattenCtfType/%/%.1/%/%.1/%.1/attribute"> + <details key="start" value="4054"/> + <details key="end" value="4063"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.245" references="/0/flattenCtfType/%/%.1/attribute"> + <details key="start" value="3941"/> + <details key="end" value="3961"/> + <details key="line" value="134"/> + </eAnnotations> + <eAnnotations source="positions.246" references="/0/flattenCtfType/%/%.1/%.1"> + <details key="start" value="3964"/> + <details key="end" value="3998"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.247" references="/0/flattenCtfType/%/%.1/%.1/%"> + <details key="start" value="3964"/> + <details key="end" value="3988"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.248" references="/0/flattenCtfType/%/%.1/%.1/%/type"> + <details key="start" value="3964"/> + <details key="end" value="3968"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.249" references="/0/flattenCtfType/%/%.1/%.1/%/%"> + <details key="start" value="3979"/> + <details key="end" value="3987"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.250" references="/0/flattenCtfType/%/%.1/%.2"> + <details key="start" value="4010"/> + <details key="end" value="4014"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.251" references="/0/flattenCtfType/%/%.2"> + <details key="start" value="4077"/> + <details key="end" value="4078"/> + <details key="line" value="135"/> + </eAnnotations> + <eAnnotations source="positions.252" references="/0/flattenCtfType/%/%.3"> + <details key="start" value="3904"/> + <details key="end" value="3932"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.253" references="/0/flattenCtfType/%/%.3/type"> + <details key="start" value="3905"/> + <details key="end" value="3909"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.254" references="/0/flattenCtfType/%/%.3/%"> + <details key="start" value="3922"/> + <details key="end" value="3930"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.255" references="/0/flattenCtfType/%/%.4"> + <details key="start" value="4078"/> + <details key="end" value="4109"/> + <details key="line" value="135"/> + </eAnnotations> + <eAnnotations source="positions.256" references="/0/flattenCtfType/%/%.4/%"> + <details key="start" value="4085"/> + <details key="end" value="4086"/> + <details key="line" value="136"/> + </eAnnotations> + <eAnnotations source="positions.257" references="/0/flattenCtfType/%/%.4/%.1"> + <details key="start" value="4087"/> + <details key="end" value="4106"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.258" references="/0/flattenCtfType/%/%.4/%.1/type"> + <details key="start" value="4095"/> + <details key="end" value="4099"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.259" references="/0/flattenCtfType/%/%.4/%.1/name"> + <details key="start" value="4101"/> + <details key="end" value="4105"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.260" references="/0/flattenCtfType/%/%.4/%.2"> + <details key="start" value="4108"/> + <details key="end" value="4109"/> + <details key="line" value="137"/> + </eAnnotations> + <eAnnotations source="positions.261" references="/0/flattenCtfType/type"> + <details key="start" value="3858"/> + <details key="end" value="3869"/> + <details key="line" value="132"/> + </eAnnotations> + <eAnnotations source="positions.262" references="/0/flattenCtfType/name"> + <details key="start" value="3871"/> + <details key="end" value="3884"/> + <details key="line" value="132"/> + </eAnnotations> + <eAnnotations source="positions.263" references="/0/flattenCtfType/%.1"> + <details key="start" value="3891"/> + <details key="end" value="3897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.264" references="/0/flattenCtfType/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.265" references="/0/cppTypeWB"> + <details key="start" value="4129"/> + <details key="end" value="4395"/> + <details key="line" value="141"/> + </eAnnotations> + <eAnnotations source="positions.266" references="/0/cppTypeWB/%"> + <details key="start" value="4176"/> + <details key="end" value="4383"/> + <details key="line" value="142"/> + </eAnnotations> + <eAnnotations source="positions.267" references="/0/cppTypeWB/%/%"> + <details key="start" value="4331"/> + <details key="end" value="4357"/> + <details key="line" value="146"/> + </eAnnotations> + <eAnnotations source="positions.268" references="/0/cppTypeWB/%/%.1"> + <details key="start" value="4181"/> + <details key="end" value="4329"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.269" references="/0/cppTypeWB/%/%.1/%"> + <details key="start" value="4181"/> + <details key="end" value="4285"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.270" references="/0/cppTypeWB/%/%.1/%/%"> + <details key="start" value="4181"/> + <details key="end" value="4232"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.271" references="/0/cppTypeWB/%/%.1/%/%/%"> + <details key="start" value="4182"/> + <details key="end" value="4200"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.272" references="/0/cppTypeWB/%/%.1/%/%/%/type"> + <details key="start" value="4182"/> + <details key="end" value="4186"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.273" references="/0/cppTypeWB/%/%.1/%/%/%.1"> + <details key="start" value="4203"/> + <details key="end" value="4231"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.274" references="/0/cppTypeWB/%/%.1/%/%.1"> + <details key="start" value="4237"/> + <details key="end" value="4285"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.275" references="/0/cppTypeWB/%/%.1/%/%.1/%"> + <details key="start" value="4238"/> + <details key="end" value="4256"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.276" references="/0/cppTypeWB/%/%.1/%/%.1/%/type"> + <details key="start" value="4238"/> + <details key="end" value="4242"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.277" references="/0/cppTypeWB/%/%.1/%/%.1/%.1"> + <details key="start" value="4259"/> + <details key="end" value="4284"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.278" references="/0/cppTypeWB/%/%.1/%.1"> + <details key="start" value="4290"/> + <details key="end" value="4329"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.279" references="/0/cppTypeWB/%/%.1/%.1/%"> + <details key="start" value="4291"/> + <details key="end" value="4309"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.280" references="/0/cppTypeWB/%/%.1/%.1/%/type"> + <details key="start" value="4291"/> + <details key="end" value="4295"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.281" references="/0/cppTypeWB/%/%.1/%.1/%.1"> + <details key="start" value="4312"/> + <details key="end" value="4328"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.282" references="/0/cppTypeWB/%/%.2"> + <details key="start" value="4357"/> + <details key="end" value="4378"/> + <details key="line" value="147"/> + </eAnnotations> + <eAnnotations source="positions.283" references="/0/cppTypeWB/%/%.2/%"> + <details key="start" value="4364"/> + <details key="end" value="4365"/> + <details key="line" value="148"/> + </eAnnotations> + <eAnnotations source="positions.284" references="/0/cppTypeWB/%/%.2/%.1"> + <details key="start" value="4366"/> + <details key="end" value="4375"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.285" references="/0/cppTypeWB/%/%.2/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.286" references="/0/cppTypeWB/%/%.2/%.2"> + <details key="start" value="4377"/> + <details key="end" value="4378"/> + <details key="line" value="149"/> + </eAnnotations> + <eAnnotations source="positions.287" references="/0/cppTypeWB/type"> + <details key="start" value="4149"/> + <details key="end" value="4160"/> + <details key="line" value="141"/> + </eAnnotations> + <eAnnotations source="positions.288" references="/0/cppTypeWB/%.1"> + <details key="start" value="4167"/> + <details key="end" value="4173"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.289" references="/0/cppTypeWB/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.290" references="/0/%.4"> + <details key="start" value="4398"/> + <details key="end" value="4558"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.291" references="/0/ctfType"> + <details key="start" value="4559"/> + <details key="end" value="5122"/> + <details key="line" value="157"/> + </eAnnotations> + <eAnnotations source="positions.292" references="/0/ctfType/%"> + <details key="start" value="4626"/> + <details key="end" value="5110"/> + <details key="line" value="158"/> + </eAnnotations> + <eAnnotations source="positions.293" references="/0/ctfType/%/%"> + <details key="start" value="4778"/> + <details key="end" value="4790"/> + <details key="line" value="162"/> + </eAnnotations> + <eAnnotations source="positions.294" references="/0/ctfType/%/name"> + <details key="start" value="4791"/> + <details key="end" value="4795"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.295" references="/0/ctfType/%/%.1"> + <details key="start" value="4797"/> + <details key="end" value="4799"/> + <details key="line" value="162"/> + </eAnnotations> + <eAnnotations source="positions.296" references="/0/ctfType/%/name.1"> + <details key="start" value="4800"/> + <details key="end" value="4804"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.297" references="/0/ctfType/%/%.2"> + <details key="start" value="4806"/> + <details key="end" value="4808"/> + <details key="line" value="162"/> + </eAnnotations> + <eAnnotations source="positions.298" references="/0/ctfType/%/%.3"> + <details key="start" value="4631"/> + <details key="end" value="4776"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.299" references="/0/ctfType/%/%.3/%"> + <details key="start" value="4631"/> + <details key="end" value="4721"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.300" references="/0/ctfType/%/%.3/%/%"> + <details key="start" value="4631"/> + <details key="end" value="4669"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.301" references="/0/ctfType/%/%.3/%/%/%"> + <details key="start" value="4632"/> + <details key="end" value="4650"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.302" references="/0/ctfType/%/%.3/%/%/%/type"> + <details key="start" value="4632"/> + <details key="end" value="4636"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.303" references="/0/ctfType/%/%.3/%/%/%.1"> + <details key="start" value="4653"/> + <details key="end" value="4668"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.304" references="/0/ctfType/%/%.3/%/%.1"> + <details key="start" value="4674"/> + <details key="end" value="4721"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.305" references="/0/ctfType/%/%.3/%/%.1/%"> + <details key="start" value="4675"/> + <details key="end" value="4693"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.306" references="/0/ctfType/%/%.3/%/%.1/%/type"> + <details key="start" value="4675"/> + <details key="end" value="4679"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.307" references="/0/ctfType/%/%.3/%/%.1/%.1"> + <details key="start" value="4696"/> + <details key="end" value="4720"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.308" references="/0/ctfType/%/%.3/%.1"> + <details key="start" value="4726"/> + <details key="end" value="4776"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.309" references="/0/ctfType/%/%.3/%.1/%"> + <details key="start" value="4727"/> + <details key="end" value="4745"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.310" references="/0/ctfType/%/%.3/%.1/%/type"> + <details key="start" value="4727"/> + <details key="end" value="4731"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.311" references="/0/ctfType/%/%.3/%.1/%.1"> + <details key="start" value="4748"/> + <details key="end" value="4775"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.312" references="/0/ctfType/%/%.4"> + <details key="start" value="5046"/> + <details key="end" value="5105"/> + <details key="line" value="169"/> + </eAnnotations> + <eAnnotations source="positions.313" references="/0/ctfType/%/%.4/%"> + <details key="start" value="5053"/> + <details key="end" value="5066"/> + <details key="line" value="170"/> + </eAnnotations> + <eAnnotations source="positions.314" references="/0/ctfType/%/%.4/%.1"> + <details key="start" value="5067"/> + <details key="end" value="5083"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.315" references="/0/ctfType/%/%.4/%.1/type"> + <details key="start" value="5067"/> + <details key="end" value="5071"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.316" references="/0/ctfType/%/%.4/%.2"> + <details key="start" value="5085"/> + <details key="end" value="5087"/> + <details key="line" value="170"/> + </eAnnotations> + <eAnnotations source="positions.317" references="/0/ctfType/%/%.4/name"> + <details key="start" value="5088"/> + <details key="end" value="5092"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.318" references="/0/ctfType/%/%.4/%.3"> + <details key="start" value="5094"/> + <details key="end" value="5096"/> + <details key="line" value="170"/> + </eAnnotations> + <eAnnotations source="positions.319" references="/0/ctfType/%/%.4/name.1"> + <details key="start" value="5097"/> + <details key="end" value="5101"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.320" references="/0/ctfType/%/%.4/%.4"> + <details key="start" value="5103"/> + <details key="end" value="5105"/> + <details key="line" value="170"/> + </eAnnotations> + <eAnnotations source="positions.321" references="/0/ctfType/%/%.5"> + <details key="start" value="4808"/> + <details key="end" value="5046"/> + <details key="line" value="163"/> + </eAnnotations> + <eAnnotations source="positions.322" references="/0/ctfType/%/%.5/%"> + <details key="start" value="4998"/> + <details key="end" value="5009"/> + <details key="line" value="168"/> + </eAnnotations> + <eAnnotations source="positions.323" references="/0/ctfType/%/%.5/%.1"> + <details key="start" value="5010"/> + <details key="end" value="5024"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.324" references="/0/ctfType/%/%.5/%.1/type"> + <details key="start" value="5010"/> + <details key="end" value="5014"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.325" references="/0/ctfType/%/%.5/%.2"> + <details key="start" value="5026"/> + <details key="end" value="5028"/> + <details key="line" value="168"/> + </eAnnotations> + <eAnnotations source="positions.326" references="/0/ctfType/%/%.5/name"> + <details key="start" value="5029"/> + <details key="end" value="5033"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.327" references="/0/ctfType/%/%.5/%.3"> + <details key="start" value="5035"/> + <details key="end" value="5037"/> + <details key="line" value="168"/> + </eAnnotations> + <eAnnotations source="positions.328" references="/0/ctfType/%/%.5/name.1"> + <details key="start" value="5038"/> + <details key="end" value="5042"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.329" references="/0/ctfType/%/%.5/%.4"> + <details key="start" value="5044"/> + <details key="end" value="5046"/> + <details key="line" value="168"/> + </eAnnotations> + <eAnnotations source="positions.330" references="/0/ctfType/%/%.5/%.5"> + <details key="start" value="4817"/> + <details key="end" value="4996"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.331" references="/0/ctfType/%/%.5/%.5/%"> + <details key="start" value="4817"/> + <details key="end" value="4946"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.332" references="/0/ctfType/%/%.5/%.5/%/%"> + <details key="start" value="4817"/> + <details key="end" value="4897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.333" references="/0/ctfType/%/%.5/%.5/%/%/%"> + <details key="start" value="4817"/> + <details key="end" value="4854"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.334" references="/0/ctfType/%/%.5/%.5/%/%/%/%"> + <details key="start" value="4818"/> + <details key="end" value="4836"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.335" references="/0/ctfType/%/%.5/%.5/%/%/%/%/type"> + <details key="start" value="4818"/> + <details key="end" value="4822"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.336" references="/0/ctfType/%/%.5/%.5/%/%/%/%.1"> + <details key="start" value="4839"/> + <details key="end" value="4853"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.337" references="/0/ctfType/%/%.5/%.5/%/%/%.1"> + <details key="start" value="4859"/> + <details key="end" value="4897"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.338" references="/0/ctfType/%/%.5/%.5/%/%/%.1/%"> + <details key="start" value="4860"/> + <details key="end" value="4878"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.339" references="/0/ctfType/%/%.5/%.5/%/%/%.1/%/type"> + <details key="start" value="4860"/> + <details key="end" value="4864"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.340" references="/0/ctfType/%/%.5/%.5/%/%/%.1/%.1"> + <details key="start" value="4881"/> + <details key="end" value="4896"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.341" references="/0/ctfType/%/%.5/%.5/%/%.1"> + <details key="start" value="4902"/> + <details key="end" value="4946"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.342" references="/0/ctfType/%/%.5/%.5/%/%.1/%"> + <details key="start" value="4903"/> + <details key="end" value="4921"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.343" references="/0/ctfType/%/%.5/%.5/%/%.1/%/type"> + <details key="start" value="4903"/> + <details key="end" value="4907"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.344" references="/0/ctfType/%/%.5/%.5/%/%.1/%.1"> + <details key="start" value="4924"/> + <details key="end" value="4945"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.345" references="/0/ctfType/%/%.5/%.5/%.1"> + <details key="start" value="4951"/> + <details key="end" value="4996"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.346" references="/0/ctfType/%/%.5/%.5/%.1/%"> + <details key="start" value="4952"/> + <details key="end" value="4970"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.347" references="/0/ctfType/%/%.5/%.5/%.1/%/type"> + <details key="start" value="4952"/> + <details key="end" value="4956"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.348" references="/0/ctfType/%/%.5/%.5/%.1/%.1"> + <details key="start" value="4973"/> + <details key="end" value="4995"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.349" references="/0/ctfType/type"> + <details key="start" value="4584"/> + <details key="end" value="4595"/> + <details key="line" value="157"/> + </eAnnotations> + <eAnnotations source="positions.350" references="/0/ctfType/name"> + <details key="start" value="4597"/> + <details key="end" value="4610"/> + <details key="line" value="157"/> + </eAnnotations> + <eAnnotations source="positions.351" references="/0/ctfType/%.1"> + <details key="start" value="4617"/> + <details key="end" value="4623"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.352" references="/0/ctfType/%.1/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> diff --git a/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceOTF.emtl b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceOTF.emtl new file mode 100644 index 00000000000..73a9d729b09 --- /dev/null +++ b/extraplugins/qompass-designer/tracing/org.eclipse.papyrus.qompass.modellibs.tracing/src/org/eclipse/papyrus/qompass/modellibs/tracing/acceleo/traceOTF.emtl @@ -0,0 +1,339 @@ +<?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="traceOTF" nsURI="org::eclipse::papyrus::qompass::modellibs::tracing::acceleo::traceOTF" endHeaderPosition="57"> + <input> + <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/> + </input> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/UMLTool.emtl#/0"/> + <imports href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0"/> + <ownedModuleElement xsi:type="mtl:Template" name="traceOp" visibility="Public"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="
// <instance>_<port>_<operation>
// easier: <component>_<port>_<operation>
updateTimestamp ();
if (!hasDeclaredFunctions) {
	declareFunctions();
	hasDeclaredFunctions = true;
}
Tracing::TraceInit::wait();
int processID = Tracing::TraceInit::getProcessID();
OTF_Writer * writer = Tracing::TraceInit::getWriter();
OTF_Writer_writeEnter (writer, timestamp.ticks(), <%enumSvcPrefix%>::id_<%owner.varName%>_<%varName%>, processID, 0);
OTF_Writer_writeEventComment (writer, timestamp.ticks(), processID, portName);
OTF_Writer_writeEventComment (writer, timestamp.ticks(), processID, instanceName);
Tracing::TraceInit::post();
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/> + <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="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + <argument xsi:type="ocl.ecore:PropertyCallExp"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" ret = "/> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </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="rconn->"/> + <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="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppCall"/> + <argument xsi:type="ocl.ecore:VariableExp" name="operation" referredVariable="/0/traceOp/operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </argument> + </body> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";
updateTimestamp ();
Tracing::TraceInit::wait();
OTF_Writer_writeLeave (writer, timestamp.ticks(), <%enumSvcPrefix%>::id_<%owner.varName%>_<%varName%>, processID, 0);
Tracing::TraceInit::post();
"/> + <body xsi:type="mtl:IfBlock"> + <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" return ret;"/> + <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/4.0.0/UML#//Type"/> + <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </source> + <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation/type"/> + </source> + <argument xsi:type="ocl.ecore:NullLiteralExp"> + <eType xsi:type="ocl.ecore:VoidType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclVoid"/> + </argument> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/="/> + </source> + <referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/not"/> + </ifExpr> + </body> + <parameter name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </parameter> + </ownedModuleElement> + </mtl:Module> + <ecore:EPackage name="additions"> + <eClassifiers xsi:type="ecore:EClass" name="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="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="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="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="traceOp"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL" references="/0/traceOp"/> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="cppCall"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppCall"/> + </eAnnotations> + <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/> + <eParameters name="operation"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eParameters> + </eOperations> + <eOperations name="cppType"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <contents xsi:type="ocl.ecore:Constraint"/> + </eAnnotations> + <eAnnotations source="MTL"> + <references href="platform:/plugin/org.eclipse.papyrus.qompass.designer.core/org/eclipse/papyrus/qompass/designer/core/acceleo/utils_cpp.emtl#/0/cppType"/> + </eAnnotations> + <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/4.0.0/UML#//Type"/> + </eParameters> + </eOperations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="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="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="Operation_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Type_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Type"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Element_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/> + </eAnnotations> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class"> + <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL"> + <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/> + </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/4.0.0/UML#//Operation"/> + </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/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/> + </ocl.ecore:Variable> + <ocl.ecore:Variable name="self"> + <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.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> + <ecore:EAnnotation source="positions"> + <eAnnotations source="positions.0" references="/0/traceOp"> + <details key="start" value="214"/> + <details key="end" value="1211"/> + <details key="line" value="6"/> + </eAnnotations> + <eAnnotations source="positions.1" references="/0/traceOp/%"> + <details key="start" value="262"/> + <details key="end" value="883"/> + <details key="line" value="7"/> + </eAnnotations> + <eAnnotations source="positions.2" references="/0/traceOp/%.1"> + <details key="start" value="883"/> + <details key="end" value="935"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.3" references="/0/traceOp/%.1/%"> + <details key="start" value="905"/> + <details key="end" value="906"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.4" references="/0/traceOp/%.1/%.1"> + <details key="start" value="907"/> + <details key="end" value="921"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.5" references="/0/traceOp/%.1/%.1/%"> + <details key="start" value="907"/> + <details key="end" value="911"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.6" references="/0/traceOp/%.1/%.1/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.7" references="/0/traceOp/%.1/%.2"> + <details key="start" value="923"/> + <details key="end" value="930"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.8" references="/0/traceOp/%.1/%.3"> + <details key="start" value="887"/> + <details key="end" value="904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.9" references="/0/traceOp/%.1/%.3/%"> + <details key="start" value="891"/> + <details key="end" value="904"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.10" references="/0/traceOp/%.1/%.3/%/%"> + <details key="start" value="892"/> + <details key="end" value="896"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.11" references="/0/traceOp/%.1/%.3/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.12" references="/0/traceOp/%.1/%.3/%/%.1"> + <details key="start" value="899"/> + <details key="end" value="903"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.13" references="/0/traceOp/%.2"> + <details key="start" value="935"/> + <details key="end" value="942"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.14" references="/0/traceOp/%.3"> + <details key="start" value="943"/> + <details key="end" value="962"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.15" references="/0/traceOp/%.3/operation"> + <details key="start" value="943"/> + <details key="end" value="952"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.16" references="/0/traceOp/%.4"> + <details key="start" value="964"/> + <details key="end" value="1160"/> + <details key="line" value="22"/> + </eAnnotations> + <eAnnotations source="positions.17" references="/0/traceOp/%.5"> + <details key="start" value="1160"/> + <details key="end" value="1199"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.18" references="/0/traceOp/%.5/%"> + <details key="start" value="1182"/> + <details key="end" value="1194"/> + <details key="line" value="27"/> + </eAnnotations> + <eAnnotations source="positions.19" references="/0/traceOp/%.5/%.1"> + <details key="start" value="1164"/> + <details key="end" value="1181"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.20" references="/0/traceOp/%.5/%.1/%"> + <details key="start" value="1168"/> + <details key="end" value="1181"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.21" references="/0/traceOp/%.5/%.1/%/%"> + <details key="start" value="1169"/> + <details key="end" value="1173"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.22" references="/0/traceOp/%.5/%.1/%/%/self"> + <details key="start" value="-1"/> + <details key="end" value="-1"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.23" references="/0/traceOp/%.5/%.1/%/%.1"> + <details key="start" value="1176"/> + <details key="end" value="1180"/> + <details key="line" value="0"/> + </eAnnotations> + <eAnnotations source="positions.24" references="/0/traceOp/operation"> + <details key="start" value="239"/> + <details key="end" value="259"/> + <details key="line" value="6"/> + </eAnnotations> + </ecore:EAnnotation> +</xmi:XMI> |